Menü Çubuğunu Tam Ekrandayken Hiçbir Zaman Gösterme


70

Tam ekranda kullandığım hemen hemen her uygulama (Firefox, MacVim ve Terminal dahil) ekranın üstünde sekmeler var.

Sorun şu ki, faremi sekmelere götürdüğümde, ekranın en üstüne dokunacağım, sekmelerin ÜZERİNDE OS menüsüne getireceğim:

Stok Fotoğraf - tam ekran uygulamalarda fareyi ekranın üstüne hareket ettirmek menü çubuğunun görünmesini sağlar

Bu davranışı değiştirmenin bir yolu var mı? Tam ekran bir uygulama kullanırken menü çubuğumun gizli kalması, farem ekranın üstüne dokunsa bile tercih ederim.


5
Evet, bu gerçekten sinir bozucu. Bir defaults writedeğişkeni düzenleyebilecek bir yerde diliyorum . Ama şu ana kadar böyle bir şey duymadım. VM tam ekran kullanıldığında özellikle can sıkıcıdır. Ubuntu'nun üst kısmında menubar var ve bu şekilde hoşuma gidiyor. Ama sürekli OSX menü çubuğunun görünmesini tetikliyorum. :(
gentmatt

Yapabileceğiniz BİR şey var, ancak menü çubuğunu tamamen kullanarak fedakarlık ediyor - yani inatla saklamanın yanı sıra manuel olarak da etkinleştiremiyorsunuz (klavye kısayolu Ctrl+ ile F2) veya göründüğü gibi Menü çubuğunun atanmış klavye kısayolları yoluyla da, ya: (. Menü çubuğunu kaldırmak istediğiniz uygulamayı, PreentYourApps komutunu çalıştırın ve bu uygulamanın seçeneklerini buna göre ayarlayın. Uygulamayı değiştirir ve yeniden

4
Tamam ayrıca bilgi: belgelerine: 'PresentYourApps' temelde LSUIPresentationMode veya 'Uygulama UI Tanıtım Modu' Söz konusu uygulama için Info.plist değeri ayarlanır gelmez neyi burada Lifehacker at ve bir rehber burada . '4' yerine, 'Tüm gizli' modu için '3' sayısal değerini kullanın; yukarıdaki yorumumun adımları bu kolay GUI'de ne yapar - ancak yine, 'Tümü gizli', menü çubuğuna TÜM erişimini sinir bozucu bir şekilde devre dışı bırakır. Uygulananlar, 'Tümü bastırılmış halde iken' menüyü gizler, ancak ekranın üstüne gelmek istemediğimizde fareyi çağırır.

3
Keşke daha büyük bir gecikme belirtebilseydik ... bu gerçekten can sıkıcı bir durum
Lucas Pottersky

1
Geçici bir çözüm olarak, birisi farenin ekrandaki en üst piksel sırasına çarpmasını önlemek için "duvar" yapan bir uygulama yazabilir (fareyi "serbest bırakmak" için bir tuşa basılmadığı sürece). Böyle bir şey kabul edilebilir bir ilk adım ve ödülümün nedeni olabilir.
cloneman

Yanıtlar:


9

Mac OS X'teki sınırlamalar nedeniyle istediğiniz zaman menü çubuğu komutta gizlenemez. Apple bunu kendi programlarında yapabilir, ancak Mac OS X'teki diğer geliştiriciler için mümkün olmamıştır. Bunun nedenlerinden biri Apple Menu, Menü çubuğuna oturur ve uygulama yanıt vermiyorsa veya kullanıcının makineyi kapatması / kapatması gerekiyorsa faydalıdır.

Menü Çubuğu davranışlarını değiştirmenize izin veren ( Eclipse hariç) Menu Eclipse adlı bir uygulama var .


1
"Menü tutulması" menü çubuğunu gizlemez.
Yüzük Ø

1
menü çubuğu bir tuşa basılarak veya daha uzun bir duraklama ile tetiklenebilir - bu, kullanıcının hala sekme bazlı iş akışını
Toni Leigh

1
Bu% 100 doğru olamaz, çünkü menü çubuğuna erişmenize izin vermeyen birçok tam ekran oyun vardır. Her ne kadar muhtemelen tam ekran için standart olmayan işlevler kullanıyorlar.
Wowfunhappy

@Wowfunhappy Bunun oyun modunda çalışan uygulamaların bir sonucu olduğunu varsayardım.
Zeus

Tamam tamam, peki ya Command+ Option+ Shift+ Esc? Uygulama yanıt vermediğinde, uygulama yanıt verene kadar makinenin kapatılması hiçbir şey yapmaz. Yani tam ekran olduğunda menü çubuğu bir zorunluluk olmamalıdır.
Máxima Alekz

8
  • Aşağıdaki AppleScript dosyasını bir dosyaya kaydedin 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
    
  • Terminalden, aşağıdaki komutu kullanarak bir uygulamayı derleyin:

    osacompile -o "/Applications/Full Screen.app" fullscreen.scpt
    
  • Full Screen.app's Info.plist(örn vim '/Applications/Full Screen.app/Contents/Info.plist') ve aşağıdakileri ekleyin için dict:

        <key>NSUIElement</key>
        <true/>
    
  • İçinde Full Screen.appbir istisna olarak ekleyin System Preferences > Security & Privacy > Privacy > Accessibility.

  • Automator'ı başlatın ve yeni bir tane oluşturun Service.

  • "Servis aldığı" sırasını "olarak" no inputolarak değiştirin any application.
  • Bir Library > Utilities > Launch Applicationeylem ekle .
  • Önceden oluşturulmuş Full Screenuygulamayı başlatmak için eylemi yapılandırın .
  • Hizmeti farklı kaydedin Full Screenve Otomatikleştirici'yi kapatın.
  • Açık System Preferences > Keyboard > Shortcuts > Services, listenin en altına gidin ve yeni oluşturulan Full Screenhizmet burada listelenmelidir. Bunun için benzersiz bir Commandkısayolu , örneğin Shift+ Command+ \veya Command+ F11ile ilişkilendirin.

Bu, bir uygulamanın menü çubuğunu kaldırırken tam ekrana girmesine veya menü çubuğunu geri getirerek tam ekrandan çıkmasına neden olan bir kısayol oluşturur. Alternatif bir tam ekran kısayolu sağlar!

Uygulamaya özel tam ekran başlatıcılar için diğer cevabımı kontrol edin .

Uyarılar

Bu yaklaşımı kullanarak bazı dezavantajlar ve / veya yanlış davranışlar olabilir:

  • ApplicationType=UIElementUygulama simgesinin Dock'ta eklenmemesine / vurgulanmamasına neden olan ve uygulamanın Command+ aracılığıyla erişilemez olmasını sağlayan ayarlarla çalışır Tab. Command+ TabSorunu yorumlarda bildirildi Çoğunlukla tam ekran uygulamalar arasında geçiş yapmak için Görev Kontrol bakış kullandığından, bunu fark etmedi.
  • Bazı özel uygulamalar için, ben (genellikle zaten tam ekran kullanılmaz) Etkinlik Monitörü uygulaması ile sorunlar olduğunu tespit ettik beklendiği gibi davranabilir değil ve Chrome'da bir rapor var ben Firefox ve kullanımı beri deneyin vermedi, onu iyi çalışıyor .

Bu, ödül için fazlasıyla yeterli. Harika iş! Gelecekteki kullanıcılar için, onları bulduğunuzda olası sınırlamaları tanımlamak için lütfen düzenleme yapın. Başımın üstünden, krom bundan pek hoşlanmıyor gibi görünüyor ve ayrıca bu kısayolu kullanırken uygulamalar cmd + sekmesinden kayboluyor.
cloneman

@cloneman Güzel, teşekkürler. Bir Caveats bölümü ekledim .
pepper_chico

her zaman hata al: bu komut dosyası derlenmemiş değişiklikler içeriyor ve çalıştırılamıyor. (-2700)
Xin Meng,

Bu çözüm benim için işe yaramıyor ve macOS Sierra 10.12.6'dayım. Hata penceresi diyor ki: Can't get window 1 of <<class prcs>> "Full Screen" of application "System Events". Invalid index.Ve sonra da diyor ki:System Events got an error: Can't get window 1 of process "Full Screen": Invalid index. (-1719)
rm.rf.etc

@ rm.rf.etc Hala Sierra'da kullanıyorum, iyi çalışıyor.
pepper_chico

5

Bulduğum en yakın çözüm, Mission Control'de "Ekranların ayrı alanları var" özelliğini devre dışı bırakmak. Menubar hala birincil monitörde gösterdiği gibi, bu yalnızca çoklu monitör ortamında anlamlı olur.

Uygulamayı "tam ekrana git" yaparsanız (yeşil düğmeye tıklayın), tüm ekranı doldurur, ancak diğer tüm ekranlar kararır ve menü çubuğu uygulamanın ekranına taşınır. Bu yüzden çözüm, uygulamanın kenarlarını istediğiniz kadar elle ya da yükseğe genişletmektir. Bir zamanlar VMWare, Apple'ın tam ekran mekanizmasını kullanmayan bir tür tam ekran geçici çözümüne sahipti.

Apple bunu düzeltmesi gereken bir sorun olarak görene kadar / hack olmayan bir çözüm bulmakta zorlanacaksınız. Öyle böylece işletim sistemi (iPhone / iPad / iPod ev düğmesi gibi) nasıl çalıştığını ayrılmaz.


0

Olası bir çözüm, menüden tamamen kurtulmak değil, aslında menüyü sürekli açık tutmak (o kadar büyük değil) ve bunun yerine Dock'tan kurtulmak, aşağıdaki numarayı yaparak.

Terminale gidin ve yazın:

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

Bu Dock'unuzu küçültecektir. İskeleyi gizlemek için ⌘ ⌥ D düğmesine basın.

Fikir buradan çalındı .


Bu cevabı sıfırın altına düşürmek gerçekten çok zor. Benzer problemi olan insanlara yardımcı olabilir, ancak şimdi bu çözümün hiç işe yaramadığı varsayımıyla bunu görmezden gelecekler. Amacım, tarayıcı ve kod editörlerinde sekmelerde tahriş olmamakla birlikte ekran alanı için optimizasyon yapmaktı. Yukarıdaki diğer cevapların hiçbiri benim için işe yaramadı, ancak Dock'tan tamamen kurtulmak beni mutlu etti.
Alex,

-1

Tarayıcı / ide'deki sekmelerde geçiş yapmak için kısayol tuşlarını kullanmayı deneyin, böylece farenizi asla üst menüye getirmeyeceksiniz

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.