Я использую Appkit в Python, чтобы компьютер чувствовал самое переднее приложение. Сначала он будет правильно определять самое переднее приложение, но когда я изменяю самое переднее приложение и оставляю терминал работающим, новая информация не обновляется. Например, будет работать следующий код:
from AppKit import NSWorkspace
active_app_name = NSWorkspace.sharedWorkspace().frontmostApplication().localizedName()
Но теперь предположим, что я делаю Chrome, а не Excel главным приложением и запускаю следующую программу на терминале. Затем после того, как терминал напечатает «Chrome», я нажму на приложение «Excel», терминал продолжит печатать «Chrome», и он никогда не почувствует, что Excel - самое переднее приложение.
from AppKit import NSWorkspace
while True:
active_app_name = NSWorkspace.sharedWorkspace().frontmostApplication().localizedName()
print (active_app_name)
if active_app_name == 'Microsoft Excel':
pass
# do stuff
else:
time.sleep(5)
Я хочу, чтобы AppKit мог распознавать новое переднее приложение, когда я вносил изменения в самое переднее приложение.