Ist "Quit other" möglich?

Wenn man und gedrückt hält, Optionwährend Controlman auf ein Symbol im Dock klickt, enthält das resultierende Menü einen Befehl „ Andere ausblenden “ , sodass nur die angeklickte Anwendung auf dem Bildschirm sichtbar ist. Dies ist hilfreich, wenn Sie eine Präsentation halten, einen Screencast aufzeichnen oder unter anderen Umständen. Das einzige Problem ist, dass die im Hintergrund laufenden Programme immer noch Fehler usw. erzeugen können, die dazu führen können, dass sie während des Screencasts, der Präsentation usw. unangenehmerweise erneut angezeigt werden.

Wäre es möglich, eine Art Befehl (oder Dienst oder so etwas) zu erstellen, um "Andere zu beenden" - das heißt, einen Befehl, der alle Anwendungen außer der vordersten beendet?

Antworten (2)

Unter Verwendung der SO-Antwort , auf die von Diago verwiesen wird , kann möglicherweise so etwas wie die folgende Änderung die derzeit aktive Anwendung ausschließen:

tell application "System Events"
    set the visible of every process to true
    set app_name to name of the first process whose frontmost is true
end tell
set white_list to {"Finder", app_name}
try
    tell application "Finder"
        set process_list to the name of every process whose visible is true
    end tell
    repeat with i from 1 to (number of items in process_list)
        set this_process to item i of the process_list
        if this_process is not in white_list then
            tell application this_process
                quit
            end tell
        end if
    end repeat
on error
    tell the current application to display dialog "An error has occurred!" & return & "This script will now quit" buttons {"Quit"} default button 1 with icon 0
end try

Dann können Sie dies mit Automator als Dienst hinzufügen und ihm im Abschnitt Tastatur der Systemeinstellungen eine Tastenkombination zuweisen.

@Matt Swain, hast du diesen Beitrag gerade zusammengestellt oder ist irgendwo im System ein Fehler? Weil ich nur versucht habe, meine eigene Frage zu beantworten, indem ich Diagos Anleitung gefolgt bin, und als ich auf „Senden“ geklickt habe, wurde diese Antwort angezeigt, aber Ihnen zugeschrieben. Aber entweder haben wir dasselbe geschrieben, was durchaus möglich ist, nehme ich an, oder irgendwie wurde mein Beitrag jemand anderem zugeschrieben.
@DanielL Ja, ich habe diesen Beitrag geschrieben - ich kann deinen Beitrag nicht sehen, aber wenn er, wie du sagst, diesem sehr ähnlich war, wurde er vielleicht automatisch gefiltert? Seltsam.
OK, wow, Sie haben einen anderen Variablennamen verwendet als ich. Was du angerufen hast, appnamehabe ich angerufen current_process. Wir hatten gerade die gleiche Idee. Gut gemacht.

Es gibt eine Antwort auf SO zu diesem Beenden aller Anwendungen mit Applescript? mit Code für ein AppleScript, das alle Anwendungen beenden kann. Ich würde vermuten, dass es nur geändert werden muss, um zu überprüfen, was die aktive Anwendung ist, und dann als Dienst auf dem Mac installiert werden muss. Zu letzterem gibt es hier einen Artikel .