Last active
August 22, 2023 12:42
-
-
Save twlz0ne/4708084 to your computer and use it in GitHub Desktop.
Rotate Display using AppleScript for MacOSX 10.6.8
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
tell application "System Preferences" | |
quit | |
delay 1 | |
launch | |
activate | |
tell application "System Events" | |
key down {option, command} | |
end tell | |
reveal pane id "com.apple.preference.displays" | |
tell application "System Events" | |
key up {option, command} | |
tell process "System Preferences" | |
tell window "Color LCD" | |
click pop up button "Rotation:" of group 1 of tab group 1 | |
keystroke "90" & return | |
set success to 0 | |
repeat until success is equal to 1 | |
delay 1 | |
try | |
tell sheet 1 | |
click button "Confirm" | |
set success to 1 | |
end tell | |
on error errText | |
log errText | |
delay 1 | |
end try | |
end repeat | |
end tell | |
end tell | |
end tell | |
end tell |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
tell application "System Preferences" | |
quit | |
delay 1 | |
launch | |
activate | |
tell application "System Events" | |
key down {option, command} | |
end tell | |
reveal pane id "com.apple.preference.displays" | |
tell application "System Events" | |
key up {option, command} | |
tell process "System Preferences" | |
tell window "Color LCD" | |
click pop up button "Rotation:" of group 1 of tab group 1 | |
keystroke "Standard" & return | |
-- If "Standard" is selected, no confirmation dialog is displayed. | |
end tell | |
end tell | |
end tell | |
end tell |
Thank you!! This was really helpful for me as well. FWIW I added a time out for the confirm loop and updated some of the UI stuff to what my preference pane is giving me today.
tell application "System Preferences"
quit
delay 1
launch
activate
tell application "System Events"
key down {option, command}
end tell
reveal pane id "com.apple.preference.displays"
tell application "System Events"
key up {option, command}
tell process "System Preferences"
tell first window
--set elems to entire contents as list
--repeat with el in elems
-- log name of el
--end repeat
delay 1
click pop up button "Rotation:" of tab group 1
-- key code 125 --down arrow
keystroke "270" & return
set success to 10
repeat until success is equal to 1
delay 1
try
tell sheet 1
click button "Confirm"
set success to 1
end tell
on error errText
set success to (success - 1)
delay 1
end try
end repeat
end tell
end tell
end tell
end tell
Use https://github.com/CdLbB/fb-rotate instead.
List the display id's with other information, e.g.
$ ./fb-rotate -i
# Display_ID Resolution ____Display_Bounds____ Rotation
0 0x19156030 1280x800 0 0 1280 800 0 [main][internal]
1 0x76405c2d 1344x1008 1280 0 2624 1008 0
Mouse Cursor Position: ( 528 , 409 )
Rotate screen with by d (display) and r (rotate) options:
fb-rotate -d 0 -r 180
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Does your computer forget that there is a vertical monitor, too?
Thanks dude will add this to my login routine