Skript zum Verschieben der Menüleiste bei der Einrichtung von zwei Monitoren

Gibt es ein Skript, das geschrieben werden könnte, um dies zu erreichen: In den Systemeinstellungen/Anzeigen ... ist es möglich, die Menüleiste ... über ein Skript zu verschieben? Mein Setup besteht aus einem Monitor und einem Cintiq. Ich arbeite entweder nur mit dem Cintiq, oder ich arbeite mehrmals täglich mit meinem 28"-Monitor. Ich muss das immer manuell machen. Ich wünschte wirklich, es gäbe ein Skript, das das kann. Ich habe Automator ausprobiert, aber es ist nicht möglich Aufnahme der Aktion. :(

Antworten (3)

Sie können dazu ein Befehlszeilendienstprogramm namens cscreen verwenden. Sie können es in ein AppleSctipt-Skript oder in Automator einschließen. Sie können die cscreenIntel.dmg über den angegebenen Link herunterladen. In einem Terminal verwenden, cscreen -hum die internen Hilfeinformationen auszugeben.

Ich habe ein MBP- und ein Thunderbolt-Display, also möchte ich in einem Terminal cscreenmeine Displays auflisten lassen

$ cscreen -l
DisplayID  Index     Depth     Width     Height  Refresh
5ac6fa7f       1        32      1440        900     0
 3247b0f       2        32      2560       1440     0
use -h to display all usage options
$

Um das Thunderbolt-Display so einzustellen, dass es die Menüleiste hat, führe ich den folgenden Befehl aus:

cscreen -s 2 -p

Ich kann es dann mit demselben Befehl zurückschalten, mit dem der Index verschoben wird.

Im AppleScript:do shell script "/<path_to>/cscreen -s 2 -p"

Fügen Sie in Automator Run Shell Script hinzu und fügen Sie den Befehl hinzu:/<path_to>/cscreen -s 2 -p

Hinweis: Dies ist ein einfaches Umschalten, wenn Sie nur zwei Displays haben. Wenn Sie jedoch mehr als zwei haben, müssen Sie einen logischen Ablauf in das Skript schreiben.

Sie können auch zB verwenden, cscreen -i <DisplayID> -pum cscreen -i 3247b0f -pmit dem zu codieren DisplayID, was sich nicht ändert.

Dies kann auch einfach in einem Terminal als einzelner Befehl verwendet oder in ein Shell-Skript integriert werden, ohne AppleScript und/oder Automator zu verwenden.

Für Multi-Monitor-Setups tut dies das von mir geschriebene Tool displayplacer .

Konfigurieren Sie Ihre Bildschirme wie Sie möchten, ziehen Sie den "weißen Balken" auf Ihren primären Bildschirm in den macOS-Systemeinstellungen und führen Sie dann aus displayplacer list. Es wird den auszuführenden Befehl ausgeben, um Ihre Bildschirme in ihre aktuelle Konfiguration zu versetzen. Der Bildschirm mit origin:(0,0)ist die Hauptanzeige mit dem "weißen Balken". Führen Sie diesen Terminalbefehl über ein Skript, Automator, BetterTouchTool usw. aus.

Beispielprofil 1 platziert den weißen Balken in der Menüleiste auf dem linken Monitor.displayplacer "id:<leftScreenId> res:1920x1080 scaling:on origin:(0,0) degree:0" "id:<rightScreenId> res:1920x1080 scaling:on origin:(1920,0) degree:0"

Beispielprofil 1 platziert den weißen Balken in der Menüleiste auf dem rechten Monitor.displayplacer "id:<leftScreenId> res:1920x1080 scaling:on origin:(1920,0) degree:0" "id:<rightScreenId> res:1920x1080 scaling:on origin:(0,0) degree:0"

Auch über Homebrew erhältlichbrew tap jakehilborn/jakehilborn && brew install displayplacer

Ein einfacher Ansatz könnte darin bestehen, „Displays have separate Spaces“ in den Systemeinstellungen/Mission Control zu aktivieren. Das würde Menüleisten auf beiden Bildschirmen aktivieren.

Das ist zumindest in OS X 10.8 (und früher, würde ich mir vorstellen) keine Option.