독점 도구의 가시성을 토글하기 위해 바로 가기를 만들 수 있습니까?


2

시스템 환경 설정에서 메뉴 표시 줄을 항상 표시하거나 자동 표시로 숨기도록 선택할 수 있습니다 (자동 표시는 커서를 가리키면 표시되거나 포커스는 키보드 바로 가기로 표시됨).

그러나 일할 때 도구 상자가 항상 보이기를 바랍니다. 그리고 내가 재창조 할 때, 나는 그것을 보통 숨기고 싶다.

나는 내가 부딪 칠 수있는 부두가있는 것을 좋아한다. 명령 선택권 도크를 표시하거나 숨기고 동일한 단축키를 다시 누를 때까지 표시되거나 숨겨집니다.

menubar가이 방식으로 작동되기를 바랍니다. 그런 지름길을 어떻게 든 만들 수 있습니까?


1
그냥 FYI, 다운로드 및 테스트 FastScripts macOS 10.12.3에서 .scpt로 내 코드를 사용하고 키보드 단축키를 ⌃⌘M 그리고 그것은 잘 작동합니다! 자동화 서비스 및 시스템 환경 설정 키 바인딩보다 훨씬 좋습니다.
user3439894

답변:


1

user3439894의 대답에서 원래 코드를 약간 수정했습니다. 이 수정 된 코드를 실행해도 시스템 환경 설정 응용 프로그램이 앞으로 나오지 않습니다.

tell application "System Preferences"
    reveal pane id "com.apple.preference.general"
end tell
tell application "System Events" to tell process "System Preferences" to tell window "General"
    click checkbox "Automatically hide and show the menu bar" 
end tell
delay 1
quit application "System Preferences"

내 대답에 일부 의견에, 그것은 내 스크립트에서 지연 명령을 가지고, 스크립트가 실패하게 지적되었습니다. 내 시스템에서는이 스크립트가 작동합니다.

enter image description here

그러나 시스템 이벤트 전에 지연 명령을 넣으면 내 시스템의이 스크립트가 작동하지 않습니다.

enter image description here


어떤 이유에서든 delay 다른 줄에?
jtheletter

@jaepage, wch1zpink의 코드는 그가 어디에 배치했는지에 따라 때때로 실패합니다. delay! 이 경우에는 delay 전에 System Events 클릭 확인란 , 그래서 요소 행동을 취할 수 있고, 전에 거기에있을 필요는 없다. quit 특히 중첩 된 내 것이 어떻게 쓰여지는지.
user3439894

@ user3439894 내 시스템에서 어떤 이유로 시스템 설정이 이전 명령에서 선택란을 선택하기 전에 계속 종료 되었기 때문에 quit 명령 앞에 지연 시간을 두는 것이 필요하다고 생각했습니다.
wch1zpink

시스템 이벤트 호출 전에 지연없이 코드를 클릭해도 확인란을 사용할 수 없으면 내 코드 에서처럼 지연없이 시스템에서 끊임없이 실패합니다. 이것은 UI 스크립팅이 선호되는 방법이 아닌 이유의 일부입니다! 다른 선택의 여지가 없다면 UI 스크립팅 만 사용합니다.
user3439894

@ user3439894 원래 답변에 대한 수정 사항을 확인하십시오. 내 버전의 스크립트가 내게 왜 효과가 있고 왜 내게 적합하지 않은지에 대한 통찰력이 있습니까? 운영 체제 Sierra를 사용하고 있습니다.
wch1zpink

1

너는 물었다. " 독점 도구의 가시성을 토글하기 위해 바로 가기를 만들 수 있습니까? "그리고 짧은 대답은, .

그러나 더 긴 대답은 현재 MacOS를 포함하여 OS X 10.11 이상에서 메뉴 표시 줄을 숨기거나 숨기기위한 단축키가 할당 된 자동화 서비스 워크 플로를 기술적으로 그리고 기본적으로 생성 할 수 있지만 문제가없는 것은 아닙니다.

  • 자동화 서비스에 키보드 바로 가기를 트리거 할 때 포커스가있는 모든 앱의 기존 바로 가기를 방해하지 않는 키보드 바로 가기를 지정해야합니다.
  • 서비스의 키보드 단축키가 실행될 때 포커스가있는 모든 앱은 시스템 환경 설정 & gt; 보안 & amp; 개인 정보 & gt; 개인 정보 & gt; 내게 필요한 옵션 - 서비스의 바로 가기 키가 작동하도록합니다.

위의 두 번째 사항에 대한 가능한 해결 방법은 Automator Service 작업 흐름 (또는 Automator Service를 사용하지 않는 AppleScript 스크립트 또는 AppleScript 코드)을 트리거하도록 전역 적으로 설정할 수있는 타사 앱이있는 경우입니다. 여기에는 Alfred, FastScripts, Karabiner, Karabiner-Elements, Keyboard Maestro 등과 같은 응용 프로그램이 포함될 수 있으며이 특정 시나리오에서 이러한 타사 응용 프로그램을 테스트하지 않은 경우에만 조사 할 항목으로 제공 할 수 있습니다.

그렇다면 Dock에 넣을 수있는 AppleScript 응용 프로그램은 어떨까요? 클릭해서 쉽게 사용할 수 있으며 메뉴 막대의 상태를 전환 할 수 있습니까? AppleScript 앱을 시스템 환경 설정 & gt;에 추가하기 만하면됩니다. 보안 & amp; 개인 정보 & gt; 개인 정보 & gt; 내게 필요한 옵션이 작동하도록

타사 앱이나 Automator Service 대신 일반 AppleScript 앱처럼 Spotlight를 통해 키보드 단축키가 내장되어 있습니다. 공간 AppleScript 응용 프로그램에 지정한 첫 번째 문자 또는 두 개의 이름을 입력 한 다음 들어가다 . 예를 들어 이름을 지정하십시오. tmb.app 토글 메뉴 모음의 경우 공간 들어가다 AppleScript 응용 프로그램을 실행합니다. 결국, 나는 당신이 이미 앱을 두 번 배웠다. tm 설치.

그러나 UI 스크립팅에 의존한다는 점에서 가능한 문제가 없다는 의미입니다. 즉, 시스템 환경 설정을 일반 설정으로 열고 "메뉴 표시 줄 자동 숨기기 및 표시"확인란을 선택하고 시스템 환경 설정을 닫아야합니다. 즉, 일단 앱을 실행 시키면 UI 스크립팅 이벤트가 발생하는 동안 앱을 실행하고 수동으로 시스템 환경 설정에서 포커스를 훔치지 않아야합니다. 즉, 멀티 태스킹을 몇 초 동안 중단해야합니다.

부분적으로, AppleScript 및 / 또는 UI 스크립팅을 사용하여 메뉴 막대를 숨기기 / 숨기기 해제하는 문제 중 하나는 기본 제공 키보드 바로 가기로 Dock을 숨기는 것만큼이나 우아하지 않지만 적어도 수행 할 수 있습니다.

즉 AppleScript 코드, AppleScript 스크립트 / 응용 프로그램, Automator Service 또는 타사 응용 프로그램에서 사용할 수 있으며 UI 스크립팅을 통해 OS X 10.11 이상의 메뉴 표시 줄 상태를 전환 할 수 있습니다.


tell application "System Preferences"
    reveal pane id "com.apple.preference.general"
    delay 1
    tell application "System Events"
        click checkbox "Automatically hide and show the menu bar" of window "General" of process "System Preferences"
    end tell
    quit
end tell

OS X 10.11 이상에서이 코드가 실행되도록 오류를 검사하지 않으므로 OS X 10.11 이전 버전에서는이 코드를 사용하지 마십시오. 또한 값의 delay 명령 필요에 따라 시스템의 작업 조건에 따라 조정해야 할 수 있습니다.


고맙습니다. 이것은 비 직접적 (Syst Prefs 앱을 열고, 창과 설정을 토글 한 다음 앱을 종료하는 것) 때문에 비실용적 인 것처럼 보입니다. 대신에 동작에 영향을 미칠 터미널에서 일부 설정을 변경하기를 바랬습니다.
jtheletter

@jaepage, 시스템 환경 설정 창이 보이지 않는 경우 어떨까요? 즉, 화면에서 열리고 확인란을 선택 / 선택 취소하고 닫습니다. 그런 다음 메뉴 막대의 상태는 토글되지만 UI 이벤트가 발생하는 것을 볼 필요는 없습니다. 시스템 환경 설정이 Dock에 있다면 그것은 바운스 일 것이며, 점이 닫힐 때까지 점 아래에 아이콘이있을 것입니다.
user3439894

@ user3439894 당신은 인정 된 답변에 대한 크레딧을받을 자격이 있습니다. 당신의 대답에 단지 의견으로 내 개정판을 게시 할 수있는 방법이 있습니까?
wch1zpink

@jaepage, 메뉴 바 숨기기 / 변경을 변경하는 동안 시스템 환경 설정 창을 숨기도록 코드를 업데이트했습니다. 나는 바꿨다. activate ...에 대한 set bounds of window 1 to {0, 0, 0, 0} 그래서 당신은 시스템 환경 설정 창을 보지 못하지만 변경을합니다. 실제로 두 가지를 모두 남겨두고 UI를 보지 않아야합니다.
user3439894

그런데 이니셜은 스포트라이트에서 작동합니다. 그러므로 command-space t m 첫째로 Time Machine을 찾습니다.
jtheletter
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.