Ich habe ein Problem mit einer App auf meinem Mac, die den Tastaturfokus stiehlt (die Titelleiste des aktuellen Fensters wird inaktiv). Es werden jedoch keine eigenen Fenster oder Menüleisten angezeigt, und es reagiert nicht erkennbar auf Tastenkombinationen.
Gibt es eine Möglichkeit, festzustellen, welche Anwendung den Tastaturfokus hat, auch wenn es sich um eine Anwendung handelt, für die keine Menüleiste oder kein Dock-Symbol vorhanden ist? Ich kenne ein eingebautes Feature, das dies beinahe macht. Wird das Dialogfeld "Beenden erzwingen" über die Tastatur aufgerufen, wird es mit der ausgewählten fokussierten Anwendung geöffnet. Es werden jedoch nur normale Anwendungen mit einem Dock-Symbol aufgelistet, sodass dies in diesem Fall nicht hilfreich ist.
Dies geschah ungefähr zu der Zeit, als ich von 10.8 auf 10.9 upgegradet habe. Ich vermute, dass sich eine der Apps, die ich bereits installiert oder zusammen mit dem Betriebssystem aktualisiert habe, neuerdings schlecht verhält.
Ich bin offen für Lösungen, bei denen ein geringer Programmieraufwand (z. B. AppleScript), die Verwendung von Entwicklertools usw. erforderlich sind. aber nicht solche wie "Dinge deinstallieren, bis sie verschwinden", da dies im Moment zu störend wäre. Ich möchte die Anwendung eindeutig identifizieren und einen Fehlerbericht einreichen oder ihre Konfiguration korrigieren.
Meine Nachforschungen ergaben nur einige Threads, die dies bei Apple Support Communities anfragten und keine Antwort enthielten.
quelle
Antworten:
Sie finden die App, die den Fokus stiehlt, indem Sie den folgenden Code in einer
find_focus_stealer.py
Datei speichern und überpython find_focus_stealer.py
ein Terminal ausführen .Starten Sie das Skript - es gibt alle 3 Sekunden den Namen der aktiven App aus. Arbeiten Sie wie gewohnt weiter, warten Sie, bis das Problem auftritt, und sehen Sie nach einigen Sekunden die Ausgabe im Terminal. Du wirst deinen Schuldigen haben.
In meinem Fall war es eine Symantec Antivirus-Hintergrund-App (SymUIAgent.app).
Dank an iMichael_ in diesem Apple Discussions-Thread .
quelle
for i in t:
zuwhile 1:
no module named appkit
, dann laufen Sieeasy_install pip
undpip install pyobjc
. Für mich war esGoogle Drive
mein Fokus zu stehlenHier ist ein kleines Update des Skripts von @ Ace, das so lange ausgeführt wird , bis Sie es beenden und den App-Namen nur dann druckt, wenn er sich ändert. Speichern Sie diesen Code erneut in einer Datei
find_focus_stealer.py
und versuchen Sie, ihn mit auszuführenpython find_focus_stealer.py
.Auf diese Weise konnte ich "Google Drive" als den Schuldigen für Fokusdiebstahl auf meinem Mac ausfindig machen.
quelle
Hier ist eine verbesserte Version des in der Antwort von @ Ace erwähnten Skripts :
Es wird der Name der aktiven Anwendung gedruckt, die den Fokus hat, und es wird jede Sekunde überprüft, ob er sich geändert hat.
Zugehöriges Skript: Identifizieren Sie, welche App oder welcher Prozess bei Gist den Fokus auf OSX stiehlt
Verwendung:
get_active_focus.py
.chmod +x get_active_focus.py
Befehl Ausführungsattribute zu ../get_active_focus.py
.Ausgabe:
quelle
Überprüfen Sie den Aktivitätsmonitor möglicherweise auf aktive Prozesse? Alles, was sich im App Nap-Status befindet, kann leicht ausgeschlossen werden, und die Jagd wird möglicherweise viel kürzer.
quelle