전체 화면에서 메뉴 표시 줄이 표시되지 않도록 설정


70

전체 화면에서 사용하는 거의 모든 응용 프로그램 (Firefox, MacVim 및 터미널 포함)에는 화면 상단에 탭이 있습니다.

문제는 탭에 도달하기 위해 마우스를 움직이면 실수로 화면 상단을 터치하여 OS 메뉴를 탭 위에 가져 오는 것입니다.

스톡 콘텐츠-전체 화면 앱에서 마우스를 화면 상단으로 이동하면 메뉴 막대가 나타납니다.

이 동작을 변경할 수있는 방법이 있습니까? 마우스가 화면 상단에 닿아도 전체 화면 앱을 사용할 때 메뉴 표시 줄이 숨겨져 있으면 선호합니다.


5
그래, 정말 짜증나. defaults write변수를 편집 할 수 있는 곳이 있으면 좋겠습니다 . 그러나 지금까지 나는 그런 것에 대해 들어 본 적이 없습니다. 전체 화면에서 VM을 사용할 때 특히 성가신 일입니다. 우분투는 상단에 메뉴 표시 줄이 있으며 그렇게 좋아합니다. 그러나 OSX 메뉴 표시 줄이 계속 나타납니다. :(
gentmatt

할 수있는 한 가지가 있지만 메뉴 막대를 완전히 사용하여 희생합니다. 즉, 고집스럽게 숨기고 키보드 단축키 Ctrl+ 를 통해 수동으로 활성화 F2하거나 지정된 키보드 단축키를 통해 메뉴 막대의 항목 중 하나 :(. 그러나 특정 프로그램에 대해 실제로 제거하려면 메뉴 막대를 바로 제거합니다. 'PresentYourApps'(CNET에 있음)를 다운로드하십시오. – 메뉴 모음을 제거하려는 응용 프로그램에서 PreentYourApps를 실행하고 해당 응용 프로그램에 대한 옵션을 적절하게 설정하십시오 응용 프로그램을 수정하고 다시 시작합니다

4
추가 정보 : 'PresentYourApps'가하는 일은 기본적으로 문제가있는 응용 프로그램에 대한 Info.plist에서 LSUIPresentationMode 또는 'Application UI Presentation Mode'값을 설정하는 것입니다 : here here documentation and lifehacker here . '4'대신 '모두 숨겨진'모드에 숫자 값 '3'을 사용하십시오. 이는 위의 주석 단계가 더 쉬운 GUI에서 수행하는 것입니다. 그러나 다시 '모두 숨겨진'은 메뉴 막대에 대한 모든 액세스를 성가 시게 비활성화합니다. 앱은 '모두 억제됨'동안 메뉴를 숨기지 만 화면 상단에 닿으면 마우스가 메뉴를 불러옵니다.

3
만약 우리가 더 큰 지연을 지정할 수 있다면 ... 이것은 정말 성가시다
Lucas Pottersky

1
해결 방법으로 누군가가 마우스를 "해제"하기 위해 키를 누르지 않는 한 마우스가 화면의 맨 위 픽셀 행에 닿지 않도록 "벽"을 만드는 앱을 작성할 수 있습니다. 이와 같은 것은 허용되는 첫 단계이며 내 현상금의 이유입니다.
cloneman

답변:


9

Mac OS X의 제한으로 인해 언제든지 메뉴 막대를 명령에 숨길 수 없습니다. Apple은 자체 프로그램에서이 작업을 수행 할 수 있지만 Mac OS X의 다른 개발자는이를 수행 할 수 없습니다. 그 이유 중 하나는 Apple 메뉴는 메뉴 막대에 있으며 응용 프로그램이 응답하지 않거나 사용자가 컴퓨터를 로그 오프 / 종료해야하는 경우에 유용합니다.

메뉴 막대 동작을 변경할 수있는 메뉴 이클립스 라는 응용 프로그램 이 있습니다 (숨기기 제외).


1
"메뉴 이클립스"는 메뉴 막대를 숨기지 않습니다.
Ring Ø

1
메뉴 표시 줄은 키 입력 또는 더 긴 일시 중지로 트리거 될 수 있습니다. 이렇게하면 탭 기반 작업 흐름을 방해하지 않으면서도 사용자가 깨진 앱을 중단 할 수 있습니다.
Toni Leigh

1
메뉴 표시 줄에 액세스 할 수없는 전체 화면 게임이 많기 때문에 100 % 사실 일 수는 없습니다. 아마도 전체 화면에 비표준 기능을 사용하고있을 것입니다.
Wowfunhappy

@Wowfunhappy 게임 모드에서 응용 프로그램을 실행 한 결과라고 가정합니다.
Zeus

알았어, Command+ Option+ Shift+는 Esc어때? 앱이 응답하지 않으면 시스템을 종료하면 애플리케이션이 응답 할 때까지 아무 작업도 수행되지 않습니다. 따라서 전체 화면 일 때 메뉴 표시 줄이 반드시 없어야합니다.
Máxima Alekz

8
  • 다음 AppleScript를 파일 이름으로 저장하십시오 fullscreen.scpt.

    use framework "AppKit"
    use scripting additions
    
    repeat with runningApp in current application's NSWorkspace's sharedWorkspace's runningApplications()
        if runningApp's isActive()
            set frontApp to (localizedName of runningApp) as text
            exit repeat
        end if
    end repeat
    
    tell application "System Events"
        tell process frontApp to set isFullScreen to value of attribute "AXFullScreen" of first window
        if frontApp = "Finder"
            tell process frontApp to set value of attribute "AXFullScreen" of first window to not isFullScreen
        else if isFullScreen
            do shell script "lsappinfo setinfo -app " & quoted form of frontApp & " ApplicationType=Foreground"
            tell process frontApp to set value of attribute "AXFullScreen" of first window to false
    
            (*fix to make sure the menu bar is not stuck*)
            delay 0.42
            tell application "Finder" to activate
            tell process frontApp to set frontmost to true
        else
            do shell script "lsappinfo setinfo -app " & quoted form of frontApp & " ApplicationType=UIElement"
            tell process frontApp to set value of attribute "AXFullScreen" of first window to true
        end if
    end tell
    
  • 터미널에서 다음 명령을 사용하여 애플리케이션으로 컴파일하십시오.

    osacompile -o "/Applications/Full Screen.app" fullscreen.scpt
    
  • 열기 Full Screen.appInfo.plist(예를 vim '/Applications/Full Screen.app/Contents/Info.plist') 및 다음 추가 받는 사람을 dict:

        <key>NSUIElement</key>
        <true/>
    
  • Full Screen.app에 예외로 추가하십시오 System Preferences > Security & Privacy > Privacy > Accessibility.

  • Automator를 시작하고 새을 만듭니다 Service.

  • "서비스 수신"을 " no input에서 any application" 로 변경하십시오 .
  • Library > Utilities > Launch Application동작을 추가하십시오 .
  • 이전에 작성된 Full Screen애플리케이션 을 실행하도록 조치를 구성하십시오 .
  • 서비스를 다른 이름으로 저장하고 Full ScreenAutomator를 닫습니다.
  • System Preferences > Keyboard > Shortcuts > Services목록의 맨 아래로 스크롤하여 방금 만든, Full Screen서비스가 나열되어야합니다. 예를 들어 + + 또는 + 와 같은 고유 한 Command바로 가기 를 연결하십시오 .ShiftCommand\CommandF11

이렇게하면 메뉴 모음을 제거하는 동안 응용 프로그램이 전체 화면으로 들어가거나 전체 화면을 종료하여 메뉴 모음을 다시 표시하는 바로 가기가 만들어집니다. 대체 전체 화면 바로 가기를 제공합니다!

응용 프로그램 별 전체 화면 시작 프로그램의 경우 다른 답변을 확인하십시오 .

경고

이 방법을 사용하면 몇 가지 단점 및 / 또는 오작동이있을 수 있습니다.

  • ApplicationType=UIElementDock에서 응용 프로그램 아이콘이 추가 / 강조 표시되지 않고 Command+ 를 통해 응용 프로그램에 액세스 할 수 없게 하는 설정으로 작동합니다 Tab. Command+의 Tab문제는 의견에보고 된 나는 주로 전체 화면 응용 프로그램 사이를 변경하려면 미션 컨트롤 개요를 사용하기 때문에, 나는 그것을 통지하지 않았다.
  • 그것은 몇 가지 특정 응용 프로그램을 위해, 나는 (일반적으로 어쨌든 전체 화면을 사용하지 않는) 활동 모니터 응용 프로그램에 문제가 나타났습니다 예상대로 작동하지 않을 수 있으며 크롬에 대한 보고서 거기에 내가 파이어 폭스와 사용하기 때문에 내가하지 않았다, 그것은 잘 작동합니다 .

이것은 현상금에 충분합니다. 잘했습니다! 향후 사용자를 위해 잠재적 인 제한 사항을 찾을 수 있도록 편집하십시오. 내 머리 꼭대기에서 크롬은 이것을 좋아하지 않는 것 같 으며이 단축키를 사용하면 cmd + tab에서 앱이 사라집니다.
cloneman 2019

@cloneman Nice 감사합니다. 주의 사항 섹션을 추가했습니다 .
pepper_chico

항상 오류가 발생합니다.이 스크립트에는 컴파일되지 않은 변경 사항이 포함되어 있으며 실행할 수 없습니다. (-2700)
Xin Meng

이 솔루션은 저에게 효과적이지 않으며 macOS Sierra 10.12.6을 사용하고 있습니다. 오류 창에 다음 Can't get window 1 of <<class prcs>> "Full Screen" of application "System Events". Invalid index.과 같이 표시됩니다.System Events got an error: Can't get window 1 of process "Full Screen": Invalid index. (-1719)
rm.rf.etc

@ rm.rf.etc Sierra에서 여전히 사용하고 있습니다.
pepper_chico

5

내가 찾은 가장 가까운 솔루션은 앞에서 언급 한 것처럼 Mission Control에서 "디스플레이에 별도의 공간이 있음"을 비활성화하는 것입니다. 메뉴 표시 줄이 여전히 기본 모니터에 표시되므로 다중 모니터 환경에서만 의미가 있습니다.

앱을 "전체 화면으로 이동"(녹색 버튼 클릭)으로 설정하면 전체 화면이 채워지지만 다른 모든 화면은 검은 색으로 바뀌고 메뉴 표시 줄이 앱의 화면으로 이동합니다. 따라서 솔루션은 원하는만큼 앱의 가장자리를 수동으로 확장하는 것입니다. 옛날 옛적에 VMWare에는 Apple의 전체 화면 메커니즘을 사용하지 않는 일종의 전체 화면 해결 방법이있었습니다.

Apple이이 문제를 해결해야하는 문제로 간주하지 않는 한 비 핵심 솔루션을 찾는 데 어려움을 겪을 것입니다. 그것은이다 그래서 운영 체제 (아이폰 / 아이 패드 / 아이팟의 홈 버튼 등)의 작동 방식에 필수.


0

가능한 해결책 중 하나는 메뉴를 완전히 제거하는 것이 아니라 실제로 메뉴를 항상 켜두는 것 (그다지 크지 않음)이며 다음 트릭을 수행하여 Dock을 대신 제거하는 것입니다.

터미널로 이동하여 다음을 입력하십시오.

defaults write com.apple.dock tilesize -int 1
killall Dock

이것은 Dock을 작게 만듭니다. ⌘ ⌥ D를 눌러 도크를 숨 깁니다.

여기 에서 아이디어를 도난당했습니다 .


이 답변을 0 이하로 내리는 것은 실제로 의미가 있습니다. 비슷한 문제를 가진 사람들에게 도움이 될 수 있지만 이제는이 솔루션이 전혀 작동하지 않는다고 가정하면 무시할 것입니다. 내 목표는 브라우저 및 코드 편집기의 탭에 자극을주지 않으면 서 화면 공간을 최적화하는 것이 었습니다. 위의 다른 답변 중 어느 것도 나를 위해 일한 것은 없지만 Dock을 완전히 없애는 것이 나를 행복하게했습니다.
알렉스

-1

브라우저 / ide의 스위치 탭에 핫키를 사용하면 마우스를 맨 위로 이동하여 메뉴 표시 줄에 나타나지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.