비트와 자장가

맥 모니터 피벗 전환(applescript + automator) 본문

개발/결과

맥 모니터 피벗 전환(applescript + automator)

eastriver 2020. 7. 27. 00:00
728x90

1. ⌘ + space를 눌러 spotlight에서 automator를 실행한다.

2. Quick Action을 선택하여 automator document를 생성한다.

3. workflow receives를 no input으로 설정하고,
run applescript를 드래그 앤 드롭하고,
본 글 최하단에 쓰여진 applescript를 붙여 넣는다.

(필수) BenQ EW3270U를 system preferences > displays 작업표시줄에 뜨는 본인 모니터의 이름으로 변경한다.

(선택) set portrait to value of options is _270에서 _270을 전환하고 싶은 각도(_90, _180)로 변경한다.

 

4. 적당한 이름으로 저장하고 system preferences > keyboard > shortcuts > sevices에서 저장한 이름으로 되어 있는 automator를 찾아 add shortcut을 눌러 적당한 단축키를 지정한다.

5. system preferences를 종료한 채로 실행을 시도하되, 아마  accessibility에 finder 등등 권한 허용 설정을 하나 이상 해야 할 것이다. 

(따로 예외 처리를 해놓은 게 아니어서 system preferences가 종료되지 않은 채로 해당 스크립트를 실행하면 큰일나는 건 아니고 그냥 오류가 나 실행되지 않는다)

 

시스템 언어 영어 사용자용:

---------------------------------------------------------------------------------------------------------------------------------------------

tell application "System Preferences"
	activate
end tell

tell application "System Events"
	
	set _0 to "Standard"
	set _90 to "90°"
	set _180 to "180°"
	set _270 to "270°"
	
	set preference to application process "System Preferences"
	click UI element "Displays" of scroll area 1 of window "System Preferences" of preference
	
	delay 1
	set monitor to window "BenQ EW3270U" of preference
	click monitor
	set options to pop up button 1 of tab group 1 of monitor
	set portrait to value of options is _270
	
	click options
	if portrait then
		--switch to landscape mode
		click menu item _0 of menu 1 of options
	else
		--switch to portrait mode
		click menu item _270 of menu 1 of options
		delay 5
		click UI element "Confirm" of sheet 1 of monitor
	end if
end tell

tell application "System Preferences"
	quit
end tell

---------------------------------------------------------------------------------------------------------------------------------------------

 

시스템 언어 한글 사용자용:

---------------------------------------------------------------------------------------------------------------------------------------------

tell application "System Preferences"
	activate
end tell

tell application "System Events"
	
	set _0 to "표준"
	set _90 to "90°"
	set _180 to "180°"
	set _270 to "270°"
	
	set preference to application process "System Preferences"
	click UI element "디스플레이" of scroll area 1 of window "시스템 환경설정" of preference
	
	delay 1
	set monitor to window "BenQ EW3270U" of preference
	click monitor
	set options to pop up button 1 of tab group 1 of monitor
	set portrait to value of options is _270
	
	click options
	if portrait then
		--switch to landscape mode
		click menu item _0 of menu 1 of options
	else
		--switch to portrait mode
		click menu item _270 of menu 1 of options
		delay 5
		click UI element "확인" of sheet 1 of monitor
	end if
end tell

tell application "System Preferences"
	quit
end tell

---------------------------------------------------------------------------------------------------------------------------------------------

 

처음으로 해 본 gui-scripting인데 재미있었다.

그래도 운영체제 디자인 레이아웃만 바뀌어도 실행되지 않는 언어를 더 깊게 공부하고 싶진 않다.

 

728x90
반응형
Comments