오래 전에 받았던 자동으로 메뉴 막대 가리기와 보기 알프레드 워크플로우가 작동하지 않는 것 같아서 나름대로 뜯어고쳐 봤습니다만, 알고보니 10.12.6과 10.13.4에서도 모두 정상작동하더군요. 둘 다 GUI 스크립팅이지만 원본은 순서 기반으로 하고 저는 텍스트 기반으로 했으니 범용성도 아직은 원본이 더 뛰어나구요. 뜯어고친 워크플로우는 깃헙에 올려두었습니다만, 10.13까지는 원본1이 나을 것으로 생각됩니다.

배운 점

기존에는 GUI 스크립팅을 위해서는 무조건 창을 가장 앞으로 가져와야 한다고 생각을 했습니다만 반드시 그런 건 아니었습니다. set the current pane to pane id를 통해서 백그라운드에서도 설정 앱을 Navigating 하는 게 가능하더군요.

set menuStatus to (do shell script "defaults read \"Apple Global Domain\" _HIHideMenuBar")

tell application "System Preferences"
   set the current pane to pane id "com.apple.preference.general"
end tell

tell application "System Events"
	tell first window of process "System Preferences"
		delay 0.5
		click checkBox 4
	end tell
end tell

delay 0.5
tell application "System Preferences" to quit
  1. 사파리에서는 한글이 URL 인코딩되면서 다운로드가 불가능해지기 때문에 다른 브라우저로 받으시는 게 좋겠더군요.