• Wieder einmal haben uns unsere Apfeltalker tolle Fotos zur Abstimmung eingesandt. Welches ist Euer Favorit? Stimmt mit ab! Hier geht es zur Abstimmung --> Klick
  • Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick

Einstellungen des Docks verändern, wenn externes Display angeschlossen wird

Beißt sich das? Finde ich ja seltsam, teste es nachher aber mal.
Vielen Dank!
 
Ich würde das so machen:
Das Script...

Code:
tell application "System Events"
    repeat
        set SecondDisplay to (count desktop) > 1
      
        tell dock preferences
            if SecondDisplay then
                set screen edge to left
                set autohide to false
            else
                set screen edge to right
                set autohide to true
            end if
        end tell
        delay 5
    end repeat
end tell


... mit dem LaunchAgent...
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Disabled</key>
    <true/>
    <key>EnableGlobbing</key>
    <true/>
    <key>Label</key>
    <string>DockOnDisplaySetting.scpt</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/osascript</string>
        <string>~/Library/Scripts/DockOnDisplaySetting.scpt</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>


... laufen lassen.
Du kannst auch "Keep Alive no matter what" im LaunchAgent verwenden. Der beste LaunchAgent Manager ist "LaunchControl"
PS: Habe das Script nach meinen Bedürfnissen geändert.
 
Zuletzt bearbeitet:
Das Script gefällt mir so besser. Es ist logischer zu verstehen:


Code:
tell application "System Events"
    repeat
        if (count desktop) = 1 then
            tell dock preferences
                set screen edge to right
                set autohide to true
            end tell
        else
            tell dock preferences
                set screen edge to left
                set autohide to false
            end tell
        end if
        delay 7
    end repeat
end tell
 
  • Like
Reaktionen: schlagi