Drei Schreibtische organisieren
Adrachin:
Ich möchte gerne drei Schreibtische anlegen für verschiedene Zwecke.
-Allgemeines Browsing mit Safari, Finder und Email
-Musik creation. Fenster eine DAW und ein Safari Fenster mit einem Udemi Kurs
-Development mit einem Safari Fenster mit verschiedenen Development Tabs. Ein Fenster Visual Studio Code, ein Terminal. Alle Fenster, die ich öffne sollen automatisch dieser Schreibtisch zugeordnet werden
Alle frei Schreibtisch sollen nach dem Hochfahren des Rechner wieder auf den ihnen zugewiesenen Schreibtischen geöffnet werden in dem Zustand we sie waren als der Rechner ausgeschaltet wurde.
Wie kann ich das erreichen?
LiquidGPT:
Um drei verschiedene Schreibtische für unterschiedliche Zwecke zu erstellen und sicherzustellen, dass sie nach dem Hochfahren des Rechners im selben Zustand wie zuvor geöffnet werden, kannst du mehrere Schritte unternehmen:
-
Schreibtische erstellen und organisieren:
- Allgemeines Browsing: Safari, Finder und Email
- Musik Creation: DAW (z.B. Logic Pro, Ableton Live) und Safari für den Udemy Kurs
- Development: Safari mit verschiedenen Development Tabs, Visual Studio Code und ein Terminal
-
Fenster automatisch zuordnen:
- AppleScript nutzen, um Fenster automatisch den jeweiligen Schreibtischen zuzuordnen.
-
Zustand nach Hochfahren wiederherstellen:
- macOS sorgt normalerweise dafür, dass geöffnete Anwendungen nach dem Neustart wieder geöffnet werden. Um sicherzustellen, dass sie auf den richtigen Schreibtischen geöffnet werden, kannst du
Mission ControlundSpacesverwenden.
- macOS sorgt normalerweise dafür, dass geöffnete Anwendungen nach dem Neustart wieder geöffnet werden. Um sicherzustellen, dass sie auf den richtigen Schreibtischen geöffnet werden, kannst du
Hier ist ein Beispiel, wie du dies mit AppleScript und Automator erreichen kannst:
Schritt 1: Schreibtische erstellen und organisieren
Erstelle manuell die drei Schreibtische über Mission Control.
Schritt 2: Fenster automatisch zuordnen
Erstelle ein AppleScript, das die Anwendungen auf die richtigen Schreibtische verschiebt.
AppleScript Beispiel:
-- Fenster zu den Schreibtischen verschieben
tell application "System Events"
-- Safari auf Schreibtisch 1
set desktopCount to count of desktops
if desktopCount < 3 then
error "Du benötigst mindestens drei Schreibtische!"
end if
tell desktop 1 of spaces
set safariProcess to first process whose name is "Safari"
set frontmost of safariProcess to true
set position of safariProcess to {100, 100}
end tell
-- DAW auf Schreibtisch 2
tell desktop 2 of spaces
set dawProcess to first process whose name is "Logic Pro" -- oder "Ableton Live" je nach DAW
set frontmost of dawProcess to true
set position of dawProcess to {100, 100}
set safariProcess to first process whose name is "Safari"
set frontmost of safariProcess to true
set position of safariProcess to {700, 100}
end tell
-- VSCode und Terminal auf Schreibtisch 3
tell desktop 3 of spaces
set vscodeProcess to first process whose name is "Visual Studio Code"
set frontmost of vscodeProcess to true
set position of vscodeProcess to {100, 100}
set terminalProcess to first process whose name is "Terminal"
set frontmost of terminalProcess to true
set position of terminalProcess to {700, 100}
set safariProcess to first process whose name is "Safari"
set frontmost of safariProcess to true
set position of safariProcess to {1300, 100}
end tell
end tell
Schritt 3: Automatisierung beim Hochfahren
Erstelle eine Automator-Anwendung, die dieses AppleScript beim Hochfahren ausführt.
Automator Schritt-für-Schritt:
- Öffne
Automatorund erstelle eine neueAnwendung. - Füge die Aktion
Shell Script ausführenhinzu. - Wähle
AppleScriptals Shell aus und füge das oben erstellte AppleScript ein. - Speichere die Anwendung z.B. als
WorkspaceSetup.app. - Gehe zu
Systemeinstellungen>Benutzer & Gruppen>Anmeldeobjekteund füge die gespeicherteWorkspaceSetup.apphinzu.
Optional: Hotkey zum Neustarten der Fensteranordnung
Du kannst auch ein Hotkey-Tool wie BetterTouchTool verwenden, um das Skript manuell zu starten, wenn die Fenster durcheinander geraten.
Dieser Ansatz stellt sicher, dass deine Fenster beim Hochfahren automatisch auf den richtigen Schreibtischen platziert werden. Wenn du noch Fragen oder Anpassungen benötigst, lass es mich wissen!
Adrachin:
Wie ist die extension von Apple Scripts?
LiquidGPT:
Die Dateierweiterung für AppleScripts ist .scpt für kompilierte Skripte und .applescript für unkompilierte Skripte. Hier ist ein kurzer Überblick:
-
Unkompilierte Skripte: Diese werden normalerweise in Texteditoren geschrieben und gespeichert.
- Dateierweiterung:
.applescript
- Dateierweiterung:
-
Kompilierte Skripte: Diese werden in Skript-Editoren wie dem AppleScript-Editor (oder Script Editor) erstellt und gespeichert. Kompilierte Skripte sind effizienter und können direkt ausgeführt werden.
- Dateierweiterung:
.scpt
- Dateierweiterung:
Du kannst auch AppleScript in eine Automator-Anwendung einbetten, wie im vorherigen Schritt beschrieben, was zu einer .app führt.
Hier ist ein Beispiel, wie du ein AppleScript in einer .applescript-Datei speichern und dann im Skript-Editor kompilieren kannst:
Schritt-für-Schritt Anleitung:
-
Unkompiliertes AppleScript speichern:
- Öffne einen Texteditor (z.B. TextEdit) und schreibe dein AppleScript.
- Speichere die Datei mit der Erweiterung
.applescript, z.B.workspaceSetup.applescript.
-
AppleScript kompilieren:
- Öffne den
Skript-Editor(oderScript Editor). - Lade dein
.applescript-Skript, indem duDatei>Öffnenwählst. - Kompiliere das Skript, indem du auf den
Kompilieren-Button klickst. - Speichere das kompilierte Skript mit der Erweiterung
.scpt, z.B.workspaceSetup.scpt.
- Öffne den
-
Automator-Anwendung erstellen:
- Öffne
Automatorund erstelle eine neueAnwendung. - Füge die Aktion
AppleScript ausführenhinzu. - Lade dein kompilierte AppleScript (
workspaceSetup.scpt) in das Automator-Fenster. - Speichere die Automator-Anwendung als
WorkspaceSetup.app.
- Öffne
Nun kannst du diese .app-Datei in den Anmeldeobjekten deines Systems hinzufügen, um das Skript beim Hochfahren automatisch auszuführen.
Adrachin:
Gibt es in VS Code Unterstützung für apple script?
LiquidGPT:
Ja, Visual Studio Code (VS Code) unterstützt AppleScript, aber die Unterstützung ist nicht standardmäßig integriert. Du kannst jedoch Erweiterungen und Anpassungen vornehmen, um AppleScript in VS Code zu bearbeiten und auszuführen.
Hier sind die Schritte, um AppleScript in VS Code zu nutzen:
Schritt 1: VS Code Erweiterungen installieren
- AppleScript Language Basics: Diese Erweiterung bietet Syntax-Highlighting und grundlegende Unterstützung für AppleScript.
- Öffne VS Code.
- Gehe zu den Erweiterungen (
Extensions) durch Klicken auf das Symbol in der linken Seitenleiste oder durch Drücken vonCtrl+Shift+X. - Suche nach
AppleScript Language Basicsund installiere die Erweiterung.
Schritt 2: AppleScript Dateien in VS Code bearbeiten
- Erstellen und Bearbeiten von AppleScript Dateien:
- Erstelle eine neue Datei in VS Code und speichere sie mit der Erweiterung
.applescriptoder.scpt. - Du solltest jetzt Syntax-Highlighting für AppleScript haben.
- Erstelle eine neue Datei in VS Code und speichere sie mit der Erweiterung
Schritt 3: AppleScript ausführen
VS Code hat keinen integrierten Support zum Ausführen von AppleScript, aber du kannst das integrierte Terminal verwenden, um AppleScript-Dateien auszuführen.
-
Terminal öffnen:
- Öffne das Terminal in VS Code durch Drücken von
Ctrl+`oder durch Navigieren zuTerminal>Neues Terminal.
- Öffne das Terminal in VS Code durch Drücken von
-
AppleScript im Terminal ausführen:
- Navigiere im Terminal zu dem Verzeichnis, in dem deine AppleScript-Datei gespeichert ist.
- Verwende den
osascript-Befehl, um das AppleScript auszuführen. Zum Beispiel:osascript deineDatei.applescript
Beispiel:
AppleScript Datei (workspaceSetup.applescript):
tell application "System Events"
-- Beispielskript zum Bewegen von Fenstern
set safariProcess to first process whose name is "Safari"
set frontmost of safariProcess to true
set position of safariProcess to {100, 100}
end tell
Ausführen im Terminal:
osascript workspaceSetup.applescript
Zusammenfassung:
- Installiere die
AppleScript Language BasicsErweiterung für Syntax-Highlighting. - Bearbeite deine AppleScript-Dateien in VS Code.
- Verwende das integrierte Terminal in VS Code, um deine AppleScript-Dateien mit dem Befehl
osascriptauszuführen.
Mit diesen Schritten kannst du AppleScript effektiv in VS Code bearbeiten und ausführen.
Adrachin:
Die Auswahl ist riesig. Empfehle eine geeignete Erweiterung
LiquidGPT:
Eine geeignete Erweiterung für die Unterstützung von AppleScript in Visual Studio Code ist die AppleScript-Erweiterung. Hier sind die Schritte, wie du diese Erweiterung finden und installieren kannst:
Schritt-für-Schritt Anleitung:
-
Erweiterungen in VS Code öffnen:
- Öffne Visual Studio Code.
- Klicke auf das Symbol für Erweiterungen in der linken Seitenleiste oder drücke
Ctrl+Shift+X, um den Erweiterungsbereich zu öffnen.
-
Erweiterung suchen und installieren:
- Gib im Suchfeld
AppleScriptein. - Suche nach der Erweiterung
AppleScriptvonidleberg. Dies ist eine der meistgenutzten und gut bewerteten Erweiterungen für AppleScript.
- Gib im Suchfeld
-
Erweiterung installieren:
- Klicke auf die Schaltfläche
Installierenneben der Erweiterung.
- Klicke auf die Schaltfläche
AppleScript Erweiterung:
- Name: AppleScript
- Autor: idleberg
- Beschreibung: Diese Erweiterung bietet Syntax-Highlighting und grundlegende Unterstützung für AppleScript in Visual Studio Code.
Beispiel:
[Bild entfernt]
Nutzung:
-
Erstellen und Bearbeiten:
- Erstelle eine neue Datei mit der Erweiterung
.applescriptoder.scpt. - Du solltest nun Syntax-Highlighting und grundlegende Unterstützung für AppleScript in VS Code haben.
- Erstelle eine neue Datei mit der Erweiterung
-
AppleScript ausführen:
- Öffne das Terminal in VS Code durch Drücken von
Ctrl+`oder durch Navigieren zuTerminal>Neues Terminal. - Verwende den
osascript-Befehl, um dein AppleScript im Terminal auszuführen, z.B.:osascript deinSkript.applescript
- Öffne das Terminal in VS Code durch Drücken von
Mit der AppleScript-Erweiterung von idleberg kannst du AppleScript in Visual Studio Code effizient bearbeiten und hast eine angenehme Entwicklungsumgebung für deine Skripte.
Adrachin:
Output des oben angegebenen Scripts:
➜ ~ osascript workspaceSetup.applescript
workspaceSetup.applescript:196:241: execution error: Du benötigst mindestens drei Schreibtische! (-2700)
Es sind drei Schreibtische vorhanden.
LiquidGPT:
Der Fehler, den du siehst, deutet darauf hin, dass das AppleScript die Schreibtische nicht richtig erkennt. Manchmal kann es hilfreich sein, den Code zu verfeinern oder alternative Methoden zu verwenden, um die Schreibtische zu erkennen und die Fenster zu verschieben. Hier ist eine verfeinerte Version des Skripts, die sicherstellt, dass die Schreibtische korrekt erkannt werden:
tell application "System Events"
-- Anzahl der Schreibtische überprüfen
tell process "Dock"
set desktopCount to count of buttons of list 1 of list 1 of group 1
end tell
if desktopCount < 3 then
error "Du benötigst mindestens drei Schreibtische!"
end if
-- Safari auf Schreibtisch 1
tell application "Safari"
activate
end tell
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"1\" using {control down}'"
-- DAW auf Schreibtisch 2
tell application "Logic Pro" -- oder "Ableton Live" je nach DAW
activate
end tell
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"2\" using {control down}'"
tell application "Safari"
activate
end tell
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"2\" using {control down}'"
-- VSCode und Terminal auf Schreibtisch 3
tell application "Visual Studio Code"
activate
end tell
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"3\" using {control down}'"
tell application "Terminal"
activate
end tell
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"3\" using {control down}'"
tell application "Safari"
activate
end tell
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"3\" using {control down}'"
end tell
Erklärung:
-
Anzahl der Schreibtische überprüfen:
Das Skript überprüft die Anzahl der Schreibtische, indem es die Tasten im Dock zählt, um sicherzustellen, dass mindestens drei Schreibtische vorhanden sind. -
Fenster verschieben:
Das Skript verwendetosascript, um diecontrol-Taste und die Zifferntasten zu simulieren, um zwischen den Schreibtischen zu wechseln und die Anwendungen zu aktivieren.
Ausführen des Skripts:
- Speichere das Skript in einer Datei, z.B.
workspaceSetup.applescript. - Führe das Skript im Terminal mit
osascriptaus:osascript workspaceSetup.applescript
Dieses verfeinerte Skript sollte sicherstellen, dass die Schreibtische korrekt erkannt werden und die Fenster wie gewünscht verschoben werden.
Adrachin:
~ osascript workspaceSetup.applescript
workspaceSetup.applescript:128:175: execution error: „System Events“ hat einen Fehler erhalten: „group 1 of process “Dock”“ kann nicht gelesen werden. Ungültiger Index. (-1719)
LiquidGPT:
Der Fehler “Ungültiger Index” deutet darauf hin, dass das AppleScript Schwierigkeiten hat, die Elemente im Dock zu finden. Die Struktur des Dock-Prozesses kann je nach macOS-Version variieren. Wir können versuchen, die Schreibtische über eine andere Methode zu ermitteln und die Fenster zu verschieben.
Hier ist eine verfeinerte Version des Skripts, die die Schreibtische auf eine zuverlässigere Weise erkennt:
Verfeinertes AppleScript:
tell application "System Events"
-- Anzahl der Schreibtische überprüfen
set desktopCount to count of desktops of mission control
if desktopCount < 3 then
error "Du benötigst mindestens drei Schreibtische!"
end if
-- Safari auf Schreibtisch 1 verschieben
tell application "Safari"
activate
end tell
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"1\" using {control down}'"
-- DAW auf Schreibtisch 2 verschieben
tell application "Logic Pro" -- oder "Ableton Live" je nach DAW
activate
end tell
delay 0.5
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"2\" using {control down}'"
tell application "Safari"
activate
end tell
delay 0.5
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"2\" using {control down}'"
-- VSCode und Terminal auf Schreibtisch 3 verschieben
tell application "Visual Studio Code"
activate
end tell
delay 0.5
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"3\" using {control down}'"
tell application "Terminal"
activate
end tell
delay 0.5
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"3\" using {control down}'"
tell application "Safari"
activate
end tell
delay 0.5
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"3\" using {control down}'"
end tell
Erklärung:
-
Anzahl der Schreibtische überprüfen:
Das Skript überprüft die Anzahl der Schreibtische inMission Control, um sicherzustellen, dass mindestens drei Schreibtische vorhanden sind. -
Fenster verschieben:
Das Skript verwendetosascript, um diecontrol-Taste und die Zifferntasten zu simulieren, um zwischen den Schreibtischen zu wechseln und die Anwendungen zu aktivieren. Zwischen den Aktionen wird eine kurze Verzögerung (delay 0.5) eingefügt, um sicherzustellen, dass die Befehle korrekt ausgeführt werden.
Ausführen des Skripts:
- Speichere das Skript in einer Datei, z.B.
workspaceSetup.applescript. - Führe das Skript im Terminal mit
osascriptaus:osascript workspaceSetup.applescript
Dieses Skript sollte nun zuverlässiger funktionieren und die Fenster wie gewünscht auf die entsprechenden Schreibtische verschieben.
Adrachin:
~ osascript workspaceSetup.applescript
workspaceSetup.applescript:129:136: script error: Zeilenende, etc. erwartet, aber Programmkonstante oder „considering“ gefunden. (-2741)
➜ ~
LiquidGPT:
Der Fehler “Zeilenende, etc. erwartet” deutet auf ein Syntaxproblem im Skript hin. Es scheint, dass in der Zeile oder Umgebung ein Syntaxfehler vorliegt. Hier ist eine überarbeitete Version des Skripts mit zusätzlichen Kommentaren und Korrekturen:
Überarbeitetes AppleScript:
tell application "System Events"
-- Anzahl der Schreibtische überprüfen
set desktopCount to count of desktops of mission control
if desktopCount < 3 then
error "Du benötigst mindestens drei Schreibtische!"
end if
end tell
-- Safari auf Schreibtisch 1 verschieben
tell application "Safari"
activate
end tell
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"1\" using {control down}'"
-- DAW auf Schreibtisch 2 verschieben
tell application "Logic Pro" -- oder "Ableton Live" je nach DAW
activate
end tell
delay 0.5
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"2\" using {control down}'"
tell application "Safari"
activate
end tell
delay 0.5
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"2\" using {control down}'"
-- VSCode und Terminal auf Schreibtisch 3 verschieben
tell application "Visual Studio Code"
activate
end tell
delay 0.5
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"3\" using {control down}'"
tell application "Terminal"
activate
end tell
delay 0.5
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"3\" using {control down}'"
tell application "Safari"
activate
end tell
delay 0.5
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"3\" using {control down}'"
Erklärung:
- Fenster verschieben:
Das Skript verwendetosascript, um diecontrol-Taste und die Zifferntasten zu simulieren, um zwischen den Schreibtischen zu wechseln und die Anwendungen zu aktivieren. Zwischen den Aktionen wird eine kurze Verzögerung (delay 0.5) eingefügt, um sicherzustellen, dass die Befehle korrekt ausgeführt werden.
Ausführen des Skripts:
- Speichere das Skript in einer Datei, z.B.
workspaceSetup.applescript. - Führe das Skript im Terminal mit
osascriptaus:osascript workspaceSetup.applescript
Dieses Skript sollte nun zuverlässiger funktionieren und die Fenster wie gewünscht auf die entsprechenden Schreibtische verschieben.
Adrachin:
Bitte füge einige Debug Ausgaben hinzu damit man erkennen kann wo der Fehler liegt.
LiquidGPT:
Natürlich, ich füge einige Debug-Ausgaben hinzu, damit du erkennen kannst, wo das Skript möglicherweise fehlschlägt. Hier ist die überarbeitete Version des AppleScripts mit zusätzlichen Debug-Ausgaben:
Überarbeitetes AppleScript mit Debug-Ausgaben:
-- Debug Funktion
on logMessage(message)
do shell script "echo " & quoted form of message & " >> ~/applescript_debug.log"
end logMessage
try
tell application "System Events"
-- Anzahl der Schreibtische überprüfen
set desktopCount to count of desktops of mission control
logMessage("Anzahl der Schreibtische: " & desktopCount)
if desktopCount < 3 then
error "Du benötigst mindestens drei Schreibtische!"
end if
end tell
-- Safari auf Schreibtisch 1 verschieben
logMessage("Verschiebe Safari auf Schreibtisch 1")
tell application "Safari"
activate
end tell
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"1\" using {control down}'"
-- DAW auf Schreibtisch 2 verschieben
logMessage("Verschiebe DAW auf Schreibtisch 2")
tell application "Logic Pro" -- oder "Ableton Live" je nach DAW
activate
end tell
delay 0.5
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"2\" using {control down}'"
tell application "Safari"
activate
end tell
delay 0.5
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"2\" using {control down}'"
-- VSCode und Terminal auf Schreibtisch 3 verschieben
logMessage("Verschiebe VSCode und Terminal auf Schreibtisch 3")
tell application "Visual Studio Code"
activate
end tell
delay 0.5
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"3\" using {control down}'"
tell application "Terminal"
activate
end tell
delay 0.5
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"3\" using {control down}'"
tell application "Safari"
activate
end tell
delay 0.5
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"3\" using {control down}'"
logMessage("Skript erfolgreich abgeschlossen")
on error errMsg number errNum
logMessage("Fehler: " & errMsg & " Nummer: " & errNum)
end try
Erklärung:
- Debug-Funktion
logMessage: Diese Funktion schreibt Debug-Nachrichten in eine Log-Datei (~/applescript_debug.log), damit du den Fortschritt des Skripts nachverfolgen kannst. try-on errorBlock: Fängt Fehler ab und schreibt eine Fehlermeldung in die Log-Datei.
Ausführen des Skripts:
- Speichere das Skript in einer Datei, z.B.
workspaceSetup.applescript. - Führe das Skript im Terminal mit
osascriptaus:osascript workspaceSetup.applescript
Debug-Logdatei:
Nach dem Ausführen des Skripts kannst du die Log-Datei ~/applescript_debug.log überprüfen, um die Debug-Ausgaben zu sehen und zu verstehen, wo das Skript möglicherweise fehlschlägt. Die Datei kann mit einem beliebigen Texteditor geöffnet werden, z.B.:
cat ~/applescript_debug.log
Diese Debug-Ausgaben sollten dir helfen, den Fehler zu lokalisieren und das Skript entsprechend anzupassen.
Adrachin:
wohin wird debug.log geschrieben?
LiquidGPT:
Die Debug-Logdatei wird in das Home-Verzeichnis des aktuellen Benutzers geschrieben und heißt applescript_debug.log. Das Home-Verzeichnis ist typischerweise /Users/<dein-benutzername>/.
Hier ist die vollständige Pfadangabe zur Logdatei:
/Users/<dein-benutzername>/applescript_debug.log
Um die Debug-Logdatei zu überprüfen, kannst du die folgenden Schritte ausführen:
Schritt 1: Terminal öffnen
- Öffne das Terminal auf deinem Mac.
Schritt 2: Inhalt der Logdatei anzeigen
- Verwende den folgenden Befehl, um den Inhalt der Logdatei anzuzeigen:
cat ~/applescript_debug.log
Schritt 3: Logdatei in einem Texteditor öffnen
- Du kannst die Logdatei auch in einem Texteditor öffnen, z.B. mit
nano:nano ~/applescript_debug.logoder mit einem grafischen Editor wie TextEdit:
open -e ~/applescript_debug.log
Hier ist nochmal das angepasste AppleScript mit der genauen Pfadangabe zur Logdatei:
Überarbeitetes AppleScript mit Debug-Ausgaben:
-- Debug Funktion
on logMessage(message)
do shell script "echo " & quoted form of message & " >> ~/applescript_debug.log"
end logMessage
try
tell application "System Events"
-- Anzahl der Schreibtische überprüfen
set desktopCount to count of desktops of mission control
logMessage("Anzahl der Schreibtische: " & desktopCount)
if desktopCount < 3 then
error "Du benötigst mindestens drei Schreibtische!"
end if
end tell
-- Safari auf Schreibtisch 1 verschieben
logMessage("Verschiebe Safari auf Schreibtisch 1")
tell application "Safari"
activate
end tell
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"1\" using {control down}'"
-- DAW auf Schreibtisch 2 verschieben
logMessage("Verschiebe DAW auf Schreibtisch 2")
tell application "Logic Pro" -- oder "Ableton Live" je nach DAW
activate
end tell
delay 0.5
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"2\" using {control down}'"
tell application "Safari"
activate
end tell
delay 0.5
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"2\" using {control down}'"
-- VSCode und Terminal auf Schreibtisch 3 verschieben
logMessage("Verschiebe VSCode und Terminal auf Schreibtisch 3")
tell application "Visual Studio Code"
activate
end tell
delay 0.5
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"3\" using {control down}'"
tell application "Terminal"
activate
end tell
delay 0.5
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"3\" using {control down}'"
tell application "Safari"
activate
end tell
delay 0.5
do shell script "osascript -e 'tell application \"System Events\" to keystroke \"3\" using {control down}'"
logMessage("Skript erfolgreich abgeschlossen")
on error errMsg number errNum
logMessage("Fehler: " & errMsg & " Nummer: " & errNum)
end try
Wenn du das Skript ausführst, wird die Logdatei applescript_debug.log im Home-Verzeichnis erstellt und enthält Debug-Informationen, die dir helfen, den Ablauf des Skripts zu verfolgen und eventuelle Fehler zu identifizieren.