Das Endziel dessen, was ich vorhabe, ist also Folgendes:
Wenn ich bei der Arbeit bin, verwende ich einen externen Monitor mit meinem MBP. Ich habe einen konsistenten Satz von Bereichen und Apps, die ich jeden Tag einrichte. Ich möchte ein Applescript oder eine Kombination aus Applescript und Automator-Anwendung erstellen, die nach dem Start die erforderliche Anzahl von Bereichen auf jedem Monitor erstellt und dann die entsprechenden Apps in jedem Bereich öffnet.
Ich weiß nicht, ob dies am besten vollständig in Applescript oder wie gesagt mit einer Kombination aus Applescript zum Erstellen der Leerzeichen und dem Automator zum Öffnen der meisten Anwendungen und Browserfenster, die ich verwende, erreicht wird.
So fügen Sie jedem Monitor/Display einen Desktop Space hinzu:
do shell script "/Applications/Mission\\ Control.app/Contents/MacOS/Mission\\ Control"
delay 0.5
tell application "System Events" to click (every button whose value of attribute "AXDescription" is "add desktop") of group 1 of process "Dock"
delay 0.5
do shell script "/Applications/Mission\\ Control.app/Contents/MacOS/Mission\\ Control 1"
Man kann den Code ändern, um weitere Desktops hinzuzufügen.
So wechseln Sie zu einer bestimmten Desktop-/Vollbild-App in einer Dual-Display-Einstellung, z. B. Desktop 3:
do shell script "/Applications/Mission\\ Control.app/Contents/MacOS/Mission\\ Control"
delay 0.5
try
tell application "System Events" to click (first button whose value of attribute "AXDescription" is "exit to Desktop 3") of list 1 of group 1 of process "Dock"
on error
tell application "System Events" to click (first button whose value of attribute "AXDescription" is "exit to Desktop 3") of list 2 of group 1 of process "Dock"
end try
Es gibt Diskussionen darüber, eine App mit Skript in den Vollbildmodus zu versetzen.
Klicken Sie in Big Sur im UI-Element „Leertaste“ auf die Schaltfläche „Desktop hinzufügen“ (nicht sicher, wann sich dies geändert hat).
Führen Sie das Shell-Skript "open -a 'Mission Control'" aus Verzögerung 0,5 Sagen Sie der Anwendung "Systemereignisse" ¬ klicken (jede Schaltfläche, deren Wert des Attributs „AXDescription“ „Desktop hinzufügen“ ist) ¬ des UI-Elements „Leertaste“ des UI-Elements 1 der Gruppe 1 des Prozesses „Dock“ Verzögerung 0,5 Führen Sie das Shell-Skript "open -a 'Mission Control'" aus
Syntax error: Can’t get "exit to Desktop 3" of UI element 1 of UI element "Spaces Bar" of UI element 1 of group 1. Access not allowed.
... Ich bin mir ziemlich sicher, dass ich hier richtig bin. Ich bin eine Ebene tiefer in der Accessibility Inspector
, und ich habe eine Menge verschiedener Dinge ausprobiert. Gut möglich, dass ich das Richtige noch nicht ausprobiert habe, auch möglich, dass die Aussage "Zugriff nicht erlaubt" bedeutet, was sie sagt. Werde es weiter versuchen, bevor ich um weitere Hilfe bitte.tell application "Mission Control" to launch
. Ich denke , damit können Sie das auch delay
zuverlässig eliminieren, da Ihr Skript die Kontrolle nicht zurückerhält, bis auf das Ereignis reagiert wurde, während das Shell-Skript sofort zurückkehrt.
Tetsujin
Benutzer3439894