Stellen Sie sicher, dass die Menüleiste im Vollbildmodus nicht angezeigt wird

70

Nahezu jede Anwendung, die ich im Vollbildmodus verwende (einschließlich Firefox, MacVim und Terminal), hat Registerkarten am oberen Bildschirmrand.

Das Problem ist, wenn ich meine Maus bewege, um die Registerkarten zu erreichen, berühre ich oft versehentlich den oberen Bildschirmrand und rufe das OS-Menü ÜBER den Registerkarten auf:

Illustration - Wenn Sie in Vollbild-Apps die Maus an den oberen Bildschirmrand bewegen, wird die Menüleiste angezeigt

Gibt es eine Möglichkeit, dieses Verhalten zu ändern? Ich würde es vorziehen, wenn die Menüleiste ausgeblendet bleibt, wenn ich eine Vollbild-App verwende, auch wenn meine Maus den oberen Bildschirmrand berührt.

MaiaVictor
quelle
5
Ja, das ist wirklich nervig. Ich wünschte, dort könnte eine defaults writeVariable bearbeitet werden. Aber davon habe ich bisher noch nichts gehört. Es ist besonders ärgerlich, wenn eine VM im Vollbildmodus verwendet wird. Ubuntu hat die Menüleiste oben und ich mag es so. Aber ich starte ständig die OSX-Menüleiste. :(
Gentmatt
Es gibt EINES, das Sie tun können, aber es opfert die Menüleiste vollständig - dh Sie können es nicht nur hartnäckig verbergen, sondern auch nicht manuell aktivieren (über die Tastenkombination Ctrl+ F2) oder, wie es scheint, eine der folgenden Aktionen ausführen Elemente der Menüleiste über die zugewiesenen Tastaturkürzel :(. Die Menüleiste wird jedoch entfernt, wenn Sie sie für ein bestimmtes Programm wirklich entfernen möchten. Laden Sie 'PresentYourApps' herunter (auf CNET), und führen Sie sie aus Für die App, für die Sie die Menüleiste entfernen möchten, führen Sie PreentYourApps aus, und legen Sie die Optionen für diese App entsprechend fest. Die App wird
4
Ok weitere Info: Was 'PresentYourApps' macht, ist im Grunde genommen der LSUIPresentationMode oder 'Application UI Presentation Mode' Wert in der Info.plist für die betreffende App: Dokumentation hier und eine Anleitung bei Lifehacker hier . Verwenden Sie anstelle von '4' den numerischen Wert '3' für den Modus 'Alle ausgeblendet'. Dies ist der Vorgang, den meine obigen Kommentare in dieser einfacheren Benutzeroberfläche ausführen. Aber auch hier deaktiviert 'Alle ausgeblendet' den ALLEN Zugriff auf die Menüleiste App, während "Alle unterdrückt" das Menü verdeckt, aber die Maus ruft es auf, wenn Sie auf den oberen Bildschirmrand klicken, was wir nicht wollen.
3
wenn wir nur eine größere Verzögerung angeben könnten ... das ist wirklich ärgerlich
Lucas Pottersky
1
Als Umgehungslösung könnte jemand eine App schreiben, die eine "Wand" erstellt, um zu verhindern, dass die Maus jemals die oberste Pixelreihe auf dem Bildschirm berührt (es sei denn, Sie halten eine Taste gedrückt, um die Maus "freizugeben".) So etwas wäre ein akzeptabler erster Schritt und der Grund für mein Kopfgeld.
Cloneman

Antworten:

9

Aufgrund von Einschränkungen in Mac OS X kann die Menüleiste NICHT auf Befehl ausgeblendet werden. Apple kann dies in seinen eigenen Programmen tun, hat dies jedoch anderen Entwicklern in Mac OS X NICHT ermöglicht. Einer der Gründe dafür ist, dass Das Apple-Menü befindet sich in der Menüleiste und ist hilfreich, wenn die Anwendung nicht mehr reagiert oder der Benutzer sich vom Computer abmelden bzw. diesen herunterfahren muss.

Es gibt eine Anwendung namens Menu Eclipse, mit der Sie das Verhalten der Menüleiste ändern können (mit Ausnahme des Ausblendens).

Zeus
quelle
1
"Menu Eclipse" blendet die Menüleiste nicht aus.
Ring Ø
1
Die Menüleiste könnte durch einen Tastendruck oder durch eine längere Pause ausgelöst werden - dies würde es dem Benutzer weiterhin ermöglichen, aus einer defekten App auszubrechen, ohne den tabulatorbasierten Arbeitsablauf zu unterbrechen
Toni Leigh
1
Dies kann nicht zu 100% zutreffen, da es viele Vollbildspiele gibt, bei denen Sie nicht auf die Menüleiste zugreifen können. Obwohl sie vermutlich nicht standardmäßige Funktionen für den Vollbildmodus verwenden.
Wowfunhappy
@Wowfunhappy Ich würde annehmen, dass dies das Ergebnis der Ausführung von Anwendungen im Spielemodus ist.
Zeus
Okay okay, und was ist Command+ Option+ Shift+ Esc? Wenn die App nicht mehr reagiert, führt das Herunterfahren des Computers erst zu einer Reaktion der Anwendung. Daher sollte die Menüleiste im Vollbildmodus kein Muss sein.
Máxima Alekz
8
  • Speichern Sie das folgende AppleScript in einer Datei mit dem Namen 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
    
  • Kompilieren Sie es mit dem folgenden Befehl vom Terminal in eine Anwendung:

    osacompile -o "/Applications/Full Screen.app" fullscreen.scpt
    
  • Öffnen Sie die Full Screen.app‚s Info.plist(zB vim '/Applications/Full Screen.app/Contents/Info.plist') und fügen Sie den folgenden auf die dict:

        <key>NSUIElement</key>
        <true/>
    
  • Full Screen.appAls Ausnahme hinzufügen in System Preferences > Security & Privacy > Privacy > Accessibility.

  • Starten Sie Automator und erstellen Sie eine neue Service.

  • Ändern Sie "Dienst empfängt" in " no inputin any application".
  • Fügen Sie eine Library > Utilities > Launch ApplicationAktion hinzu.
  • Konfigurieren Sie die Aktion, um die zuvor erstellte Full ScreenAnwendung zu starten .
  • Speichern Sie den Dienst als Full Screenund schließen Sie Automator.
  • Auf einen System Preferences > Keyboard > Shortcuts > ServicesBildlauf zum Ende der Liste nach unten und der gerade erstellten Full ScreenDienst sollte dort aufgeführt werden. Ordnen Sie ihm eine eindeutige CommandVerknüpfung zu, z. B. Shift+ Command+ \oder Command+ F11.

Dadurch wird eine Verknüpfung erstellt, mit der eine Anwendung beim Entfernen der Menüleiste in den Vollbildmodus versetzt oder der Vollbildmodus beendet und die Menüleiste wieder angezeigt wird. Es bietet eine alternative Vollbildverknüpfung!

Überprüfen Sie für anwendungsspezifische Vollbild-Starter meine andere Antwort .

Vorbehalte

Bei diesem Ansatz können einige Nachteile und / oder Fehlverhalten auftreten:

  • Diese Einstellung ApplicationType=UIElementbewirkt, dass das Anwendungssymbol im Dock nicht hinzugefügt / hervorgehoben wird und der Zugriff auf die Anwendung über Command+ nicht möglich ist Tab. Das Command+ Tab-Problem wurde in Kommentaren gemeldet . Ich habe es nicht bemerkt, da ich die Mission Control-Übersicht hauptsächlich zum Wechseln zwischen Vollbildanwendungen verwende.
  • Es kann nicht so für einige spezifische Anwendungen erwartet verhalten, ich habe Probleme mit dem Activity Monitor - Anwendung bemerkt und (die in der Regel nicht Vollbild sowieso verwendet wird) gibt es einen Bericht über Chrome , die ich versuche nicht , da ich Firefox und verwenden es funktioniert super .
pepper_chico
quelle
Dies ist mehr als ausreichend für das Kopfgeld. Ausgezeichnete Arbeit! Bearbeiten Sie diese Informationen für zukünftige Benutzer, um mögliche Einschränkungen zu beschreiben, wenn Sie sie finden. Auf den ersten Blick scheint Chrome das nicht besonders zu mögen, und außerdem verschwinden die Apps aus der Registerkarte cmd +, wenn ich diese Verknüpfung verwende.
Cloneman
@ Cloneman Schön, danke. Ich habe einen Abschnitt mit Vorsichtsmaßnahmen hinzugefügt .
pepper_chico
Immer Fehler erhalten: Dieses Skript enthält nicht kompilierte Änderungen und kann nicht ausgeführt werden. (-2700)
Xin Meng
Diese Lösung funktioniert bei mir nicht und ich arbeite unter macOS Sierra 10.12.6. Das 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)
Fehlerfenster
@ rm.rf.etc Ich benutze es immer noch auf Sierra, funktioniert gut.
pepper_chico
5

Die nächste Lösung, die ich gefunden habe, ist, wie bereits erwähnt, "Displays haben separate Leerzeichen" in Mission Control zu deaktivieren. Dies ist nur in einer Umgebung mit mehreren Monitoren sinnvoll, da die Menüleiste weiterhin auf dem primären Monitor angezeigt wird.

Wenn Sie die App auf "Vollbild" schalten (grüne Schaltfläche anklicken), wird der gesamte Bildschirm ausgefüllt, alle anderen Bildschirme werden jedoch schwarz und die Menüleiste wird auf den Bildschirm der App verschoben. Die Lösung besteht darin, die Ränder der App manuell so weit oder so hoch zu erweitern, wie Sie möchten. Es war einmal eine Art Vollbild-Workaround für VMWare, bei dem der Vollbildmechanismus von Apple nicht verwendet wurde.

Solange Apple dies nicht als Problem ansieht, das behoben werden muss, wird es Ihnen schwer fallen, eine nicht hackige Lösung zu finden. Es ist so wichtig für die Funktionsweise des Betriebssystems (wie die Home-Taste auf dem iPhone / iPad / iPod).

Bryan Scott
quelle
0

Eine mögliche Lösung besteht darin, das Menü nicht vollständig zu entfernen, sondern das Menü immer aktiv zu lassen (es ist nicht so groß) und stattdessen einfach das Dock zu entfernen, indem Sie den folgenden Trick ausführen.

Gehen Sie zum Terminal und geben Sie Folgendes ein:

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

Dadurch wird Ihr Dock klein. Drücken Sie ⌘ ⌥ D, um das Dock auszublenden.

Idee von hier gestohlen .

Alex
quelle
Das Abwerten dieser Antwort unter Null ist wirklich gemein. Es könnte Menschen mit dem ähnlichen Problem helfen, aber jetzt werden sie es ignorieren, vorausgesetzt, dass diese Lösung überhaupt nicht funktioniert. Mein Ziel war es, den Bildschirmbereich zu optimieren, ohne die Tabs im Browser und in den Code-Editoren zu verärgern. Keine der anderen Antworten funktionierte für mich, aber das Dock vollständig loszuwerden, machte mich glücklich.
Alex
-1

Versuchen Sie, Hotkeys zum Wechseln der Registerkarten in Browser / Ide zu verwenden, damit Ihre Maus niemals nach oben bewegt wird, um die Menüleiste aufzurufen

Dankiv Vitalij
quelle