ทำให้แถบเมนูไม่แสดงในแบบเต็มหน้าจอ


70

แอพพลิเคชั่นทุกตัวที่ฉันใช้ในแบบเต็มหน้าจอ (รวมถึง Firefox, MacVim และเทอร์มินัล) มีแท็บที่ด้านบนของหน้าจอ

ปัญหาคือเมื่อฉันเลื่อนเมาส์ไปที่แท็บฉันมักจะแตะที่ด้านบนของหน้าจอโดยไม่ตั้งใจซึ่งจะนำเมนู OS ไปบนแท็บ:

ภาพประกอบ - การเลื่อนเมาส์ไปที่ด้านบนของหน้าจอในแอปแบบเต็มหน้าจอทำให้แถบเมนูปรากฏขึ้น

มีวิธีใดบ้างที่จะเปลี่ยนพฤติกรรมนี้ ฉันต้องการมันถ้าแถบเมนูจะซ่อนอยู่เมื่อฉันใช้แอปแบบเต็มหน้าจอแม้ว่าเมาส์ของฉันจะแตะที่ด้านบนของหน้าจอ


5
ใช่มันน่ารำคาญจริงๆ ฉันหวังว่าจะมีdefaults writeตัวแปรที่สามารถแก้ไขได้ แต่จนถึงตอนนี้ฉันไม่เคยได้ยินอะไรแบบนั้นมาก่อน มันน่ารำคาญเป็นพิเศษเมื่อใช้ VM แบบเต็มหน้าจอ อูบุนตูมีแถบเมนูด้านบนและฉันก็ชอบอย่างนั้น แต่ฉันจะเรียกแถบเมนู OSX ให้ปรากฏตลอดเวลา :(
gentmatt

มีสิ่งหนึ่งที่คุณสามารถทำได้ แต่มันเสียสละโดยใช้แถบเมนูทั้งหมด - นั่นคือนอกเหนือจากการซ่อนมันไว้อย่างดื้อรั้นคุณไม่สามารถเปิดใช้งานด้วยตนเองได้ (ผ่านทางแป้นพิมพ์ลัดCtrl+ F2) หรือปรากฏขึ้นใช้งานใด ๆ รายการของแถบเมนูผ่านทางแป้นพิมพ์ลัดที่กำหนดเช่น :( แต่จะกำจัดแถบเมนูออกไปทางขวาหากคุณต้องการกำจัดมันสำหรับโปรแกรมเฉพาะดาวน์โหลด 'PresentYourApps' (อยู่บน CNET) แล้วเรียกใช้ แอพที่คุณต้องการลบแถบเมนูสำหรับรัน PreentYourApps และตั้งค่าตัวเลือกสำหรับแอพนั้น ๆ มันจะแก้ไขแอพและรีสตาร์ท

4
Ok ข้อมูลเพิ่มเติม: สิ่งที่ PresentYourApps 'ไม่ถูกตั้งค่าพื้น LSUIPresentationMode หรือค่า' แอพลิเคชัน UI นำเสนอโหมดใน Info.plist สำหรับ app ในคำถาม: เอกสารที่นี่และให้คำแนะนำที่ Lifehacker ที่นี่ แทนที่จะเป็น '4' ให้ใช้ค่าตัวเลข '3' สำหรับโหมด 'All hidden' ซึ่งเป็นขั้นตอนของความคิดเห็นของฉันที่ทำใน GUI ที่ง่ายกว่านั้น - แต่อีกครั้ง 'All hidden' ปิดการใช้งานการเข้าถึงแถบเมนูทั้งหมดทุกครั้ง แอพในขณะที่ 'ถูกระงับทั้งหมด' จะซ่อนเมนู แต่เมาส์จะเรียกใช้เมื่อกดด้านบนของหน้าจอซึ่งเราไม่ต้องการ

3
ถ้าเพียง แต่เราสามารถระบุความล่าช้าที่ใหญ่กว่านี้ได้ ... มันน่ารำคาญจริงๆ
Lucas Pottersky

1
ในฐานะที่เป็นวิธีแก้ปัญหาใครบางคนสามารถเขียนแอพที่ทำ "กำแพง" เพื่อป้องกันไม่ให้เมาส์กดปุ่มแถวบนสุดของพิกเซลบนหน้าจอ (เว้นแต่จะมีการกดปุ่มค้างไว้ที่ บางอย่างเช่นนี้จะเป็นขั้นตอนแรกที่ยอมรับได้และเหตุผลสำหรับความโปรดปรานของฉัน
cloneman

คำตอบ:


9

แถบเมนูไม่สามารถซ่อนตามคำสั่งเมื่อใดก็ตามที่คุณต้องการเนื่องจากข้อ จำกัด ใน Mac OS X Apple สามารถทำสิ่งนี้ในโปรแกรมของตัวเอง แต่พวกเขาไม่ได้ทำให้นักพัฒนาอื่น ๆ ใน Mac OS X เป็นหนึ่งในเหตุผลที่ Apple Menu ตั้งอยู่บนแถบเมนูและมีประโยชน์หากแอปพลิเคชันไม่ตอบสนองหรือหากผู้ใช้จำเป็นต้องออกจากระบบ / ปิดเครื่อง

มีแอปพลิเคชั่นชื่อว่าMenu Eclipseซึ่งให้คุณเปลี่ยนลักษณะการทำงานของแถบเมนู (ยกเว้นซ่อน)


1
"Menu eclipse" ไม่ซ่อนแถบเมนู
แหวนØ

1
แถบเมนูสามารถเปิดใช้งานได้โดยการกดแป้นพิมพ์หรือหยุดชั่วคราวนานขึ้น - ซึ่งจะช่วยให้ผู้ใช้สามารถแยกแอพที่แตกออกได้ในขณะที่ยังไม่รบกวนกระบวนการทำงานตามแท็บของพวกเขา
Toni Leigh

1
สิ่งนี้ไม่อาจเป็นจริงได้ 100% เนื่องจากมีเกมแบบเต็มหน้าจอจำนวนมากที่ไม่อนุญาตให้คุณเข้าถึงแถบเมนู แม้ว่าพวกเขาจะใช้ฟังก์ชั่นที่ไม่ได้มาตรฐานสำหรับเต็มหน้าจอ
Wowfunhappy

@ Wowfunhappy ฉันจะสมมติว่าเป็นผลมาจากการใช้งานแอพพลิเคชั่นในโหมดเกม
ซุส

โอเคโอเคแล้วประมาณ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.app's Info.plist(เช่นvim '/Applications/Full Screen.app/Contents/Info.plist') และเพิ่มรายการต่อไปนี้ลงในdict:

        <key>NSUIElement</key>
        <true/>
    
  • เพิ่มเป็นข้อยกเว้นในFull Screen.appSystem Preferences > Security & Privacy > Privacy > Accessibility

  • Serviceเปิดอัตโนมัติและสร้างใหม่

  • เปลี่ยน "บริการได้รับ" เป็น " no inputในany application"
  • เพิ่มการLibrary > Utilities > Launch Applicationกระทำ
  • กำหนดค่าการดำเนินการเพื่อเรียกFull Screenใช้แอปพลิเคชันที่สร้างขึ้นก่อนหน้านี้
  • บันทึกบริการเป็นFull Screenและปิด Automator
  • เมื่อวันที่System Preferences > Keyboard > Shortcuts > Servicesเลื่อนลงไปด้านล่างของรายการและเพิ่งสร้างFull Screenบริการที่ควรจะมีการระบุไว้ เชื่อมโยงCommandทางลัดที่ไม่ซ้ำกันสำหรับมันเช่นShift+ Command+ \หรือCommand+ F11ตัวอย่างเช่น

สิ่งนี้จะสร้างทางลัดเพื่อทำให้แอปพลิเคชันเข้าสู่โหมดเต็มหน้าจอในขณะที่นำแถบเมนูออกหรือเพื่อออกจากโหมดเต็มหน้าจอโดยนำแถบเมนูกลับมา มันมีทางลัดเต็มหน้าจอทางเลือก!

สำหรับปืนกลแบบเต็มหน้าจอแอพลิเคชันเฉพาะตรวจสอบคำตอบอื่น ๆ ของฉัน

คำเตือน

อาจมีข้อเสียบางประการและ / หรือพฤติกรรมที่ไม่เหมาะสมโดยใช้วิธีนี้:

  • มันทำงานโดยการตั้งค่าApplicationType=UIElementซึ่งเป็นสาเหตุของไอคอนโปรแกรมไม่สามารถเพิ่ม / ไฮไลต์ใน Dock และทำให้แอพลิเคชันไม่สามารถเข้าถึงได้ผ่านทาง+Command TabมีการรายงานปัญหาCommand+ ในความคิดเห็นฉันไม่ได้สังเกตเพราะส่วนใหญ่ฉันใช้ภาพรวมการควบคุมภารกิจเพื่อเปลี่ยนระหว่างแอปพลิเคชันแบบเต็มหน้าจอTab
  • มันอาจจะไม่ทำงานตามที่คาดไว้สำหรับการใช้งานเฉพาะบางอย่างที่ฉันพบปัญหาเกี่ยวกับการประยุกต์ใช้กิจกรรมการตรวจสอบ (ซึ่งโดยทั่วไปจะไม่ใช้แบบเต็มหน้าจออยู่แล้ว) และมีรายงานเกี่ยวกับ Chrome ที่ซึ่งผมไม่ได้ลองตั้งแต่ผมใช้ Firefox และมัน ใช้งานได้ดี

นี่เป็นเพียงพอสำหรับเงินรางวัล เยี่ยมมาก! สำหรับผู้ใช้ในอนาคตโปรดแก้ไขเพื่ออธิบายข้อ จำกัด ที่อาจเกิดขึ้นเมื่อคุณค้นหา ดูเหมือนว่า Chrome จะไม่ชอบสิ่งนี้มากและส่วนใหญ่แอพจะหายไปจากแท็บ cmd + เมื่อใช้ทางลัดนี้
cloneman

@ cloneman ดีขอบคุณ ฉันได้เพิ่มส่วนCaveats
pepper_chico

ได้รับข้อผิดพลาดเสมอ: สคริปต์นี้มีการเปลี่ยนแปลงที่ไม่ได้คอมไพล์และไม่สามารถรันได้ (-2700)
ซิน

โซลูชันนี้ใช้งานไม่ได้สำหรับฉันและฉันใช้ 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

วิธีแก้ปัญหาที่ใกล้เคียงที่สุดที่ฉันพบคือทำตามที่กล่าวไว้ก่อนหน้านี้การปิดใช้งาน "จอแสดงผลมีช่องว่างแยก" ในการควบคุมภารกิจ สิ่งนี้เหมาะสมในสภาพแวดล้อมหลายจอภาพเช่นเดียวกับที่แถบเมนูยังคงแสดงบนหน้าจอหลัก

หากคุณทำให้แอป "go เต็มหน้าจอ" (คลิกที่ปุ่มสีเขียว) แอปจะเต็มหน้าจอทั้งหมด แต่หน้าจออื่น ๆ ทั้งหมดจะเป็นสีดำและแถบเมนูจะถูกย้ายไปที่หน้าจอของแอป ดังนั้นวิธีการแก้ปัญหาคือการขยายขอบของแอปด้วยตนเองให้ไกลหรือสูงตามที่คุณต้องการ กาลครั้งหนึ่ง VMWare มีวิธีแก้ปัญหาเต็มหน้าจอบางชนิดที่ไม่ได้ใช้กลไกเต็มหน้าจอของ Apple

เว้นแต่ / จนกว่า Apple เห็นว่านี่เป็นปัญหาที่ต้องแก้ไขคุณจะต้องเจอกับการหาทางออกที่ไม่แฮ็ก เป็นสิ่งสำคัญอย่างยิ่งต่อการทำงานของระบบปฏิบัติการ (เช่นปุ่มโฮมบน iPhone / iPad / iPod)


0

วิธีหนึ่งที่เป็นไปได้คือไม่ต้องกำจัดเมนูอย่างสมบูรณ์ แต่จริงๆแล้วเปิดเมนูไว้เสมอ (มันไม่ใหญ่มาก) และเพียงแค่กำจัด Dock แทนโดยทำตามเคล็ดลับต่อไปนี้

ไปที่เทอร์มินัลแล้วพิมพ์:

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

สิ่งนี้จะทำให้แท่นวางของคุณเล็ก กด⌘⌥ D เพื่อซ่อนท่าเรือ

ความคิดที่ถูกขโมยมาจากที่นี่


การลดคำตอบลงต่ำกว่าศูนย์มีความหมายจริงๆ มันสามารถช่วยคนที่มีปัญหาที่คล้ายกัน แต่ตอนนี้พวกเขาจะไม่สนใจสมมติว่าวิธีนี้ไม่ได้ผลเลย เป้าหมายของฉันคือการปรับให้เหมาะสมกับพื้นที่หน้าจอในขณะที่ไม่มีอาการระคายเคืองกับแท็บในเบราว์เซอร์และเครื่องมือแก้ไขโค้ด ไม่มีคำตอบอื่นใดที่ได้ผลสำหรับฉัน แต่การกำจัด Dock ทั้งหมดทำให้ฉันมีความสุข
Alex

-1

พยายามใช้ปุ่มลัดสำหรับแท็บสวิตช์ในเบราว์เซอร์ / IDE ดังนั้นคุณจะไม่เลื่อนเมาส์ไปด้านบนเพื่อแถบเมนูปรากฏ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.