클릭하면 Mission Control에서 할 수 있으며 '키보드'에 사용 가능한 단축키가 없습니다.
타사 프로그램이나 Applescript를 사용하여이를 수행 할 수있는 방법이 있습니까?
클릭하면 Mission Control에서 할 수 있으며 '키보드'에 사용 가능한 단축키가 없습니다.
타사 프로그램이나 Applescript를 사용하여이를 수행 할 수있는 방법이 있습니까?
답변:
업데이트 :이 방법은 OS X 10.11 이전 버전에서 OS X 10.8 이상에서 작동하지만 (OS X 10.8 이전 버전에서는 테스트하지 않았 음) Apple에서 만든 Mission Control의 중요한 변경으로 인해 macOS 10.12에서 코딩 된대로 더 이상 작동하지 않습니다 .
Mission Control에서 데스크톱을 프로그래밍 방식으로 추가하려면 아래 코드를 각각 AppleScript 또는 Run Shell Script 실행을 사용하는 Automator 서비스 및 키보드의 시스템 환경 설정에서 서비스에 지정된 키 시퀀스와 함께 AppleScript 또는 BASH 스크립트로 사용할 수 있습니다 바로 가기.
AppleScript 코드 :
do shell script "open -a 'Mission Control'"
delay 0.5
tell application "System Events" to click (every button whose value of attribute "AXDescription" is "add desktop") of group 1 of process "Dock"
delay 0.5
tell application "System Events" to key code 53
BASH 스크립트 코드 :
#!/bin/bash
open -a 'Mission Control'
osascript -e 'delay 0.5' \
-e 'tell application "System Events" to click (every button whose value of attribute "AXDescription" is "add desktop") of group 1 of process "Dock"' \
-e 'delay 0.5' \
-e 'tell application "System Events" to key code 53'
Automator를 열고 서비스를 선택하십시오 .
설정 : 서비스가 응용 프로그램에서 입력을받지 않음
Run AppleScript 또는 Run Shell Script Action을 추가 하십시오 .
대상 Action에 적절한 코드 를 추가하십시오 .
서비스를 다음 과 같이 저장하십시오. 예 : 새 데스크탑 추가
시스템 환경 설정 에서 서비스 에 대한 키보드 단축키를 지정하십시오 .
참고 : 서비스 에서 응용 프로그램 을 선택한 경우 시스템의 다른 곳 이나 Finder 에서 사용되지 않는 키 시퀀스를 지정 해야합니다 .
나는 그것을 테스트했다 : ⌃⌥⌘D (Control-Option-Command-D)
좋아, Automator 기록을 사용하여 다른 답변에서 수정 된 AppleScript 버전으로 작동하게 만들었습니다.
"그룹 1의"를 "그룹 1의 그룹 1의 그룹 2의"로 바꾸십시오.
on run {input, parameters}
do shell script "open -a 'Mission Control'"
delay 0.5
tell application "System Events" to click (every button whose value of attribute "AXDescription" is "add desktop") of group 2 of group 1 of group 1 of process "Dock"
delay 0.5
tell application "System Events" to key code 53
return input
end run
그렇습니다. 문제는 활성 응용 프로그램 (파인더, 텍스트 편집 등)이 보안 및 개인 정보 접근성 창에 추가되지 않은 경우 user3439894의 솔루션에서 오류가 발생한다는 것입니다.
이 문제를 해결하려면 업데이트 된 그룹 목록을 Automator 응용 프로그램으로 사용하는 user3439894의 서비스와이를 시작하는 두 번째 Automator 서비스의 두 가지 워크 플로가 필요합니다.
자동화 응용 프로그램 (/ 응용 프로그램에 "새 데스크톱"으로 저장 됨)
실행시 {입력, 매개 변수}
쉘 스크립트 "open -a 'Mission Control'"수행
지연 0.5
"Dock"프로세스의 그룹 1 그룹 1의 그룹 2의 "AXDescription"속성 값이 "데스크톱 추가"인 모든 버튼을 클릭하도록 응용 프로그램 "시스템 이벤트"에 지시
지연 0.5
응용 프로그램에 "시스템 이벤트"를 키 코드 53으로 알리십시오.
리턴 입력
최종 실행
그런 다음 "Launch Application"조치를 사용하여 두 번째 워크 플로우를 서비스로 작성하고 "New_Desktop"으로 저장하면됩니다.
마지막 단계는 시스템 환경 설정> 보안 및 개인 정보> 접근성에 "New Desktop.App"을 추가하는 것입니다.
그런 다음 New_Desktop.workflow의 시스템 환경 설정> 키보드> 단축키> 서비스> 일반에서 키보드 단축키를 추가하십시오.