Hacer que la barra de menú nunca se muestre mientras está en pantalla completa

64

Casi todas las aplicaciones que uso en pantalla completa (incluidos Firefox, MacVim y el Terminal) tienen pestañas en la parte superior de la pantalla.

El problema es que cuando muevo el mouse para acceder a las pestañas, a menudo toco accidentalmente la parte superior de la pantalla y aparece el menú OS SOBRE LAS pestañas:

¿Hay alguna manera de cambiar este comportamiento? Preferiría que la barra de menú permaneciera oculta cuando estoy usando una aplicación de pantalla completa, incluso si mi mouse toca la parte superior de la pantalla.

    
pregunta MaiaVictor 08.11.2012 - 15:04

3 respuestas

8

La barra de menú NO puede ocultarse en el comando siempre que lo desee debido a limitaciones en Mac OS X. Apple puede hacer esto en sus propios programas, pero NO lo ha hecho posible para otros desarrolladores en Mac OS X.   Una de las razones es que el Menú Apple se encuentra en la barra de menús y es útil si la aplicación no responde o si el usuario necesita cerrar / cerrar sesión en la máquina.

Hay una aplicación llamada Eclipse de menú que te permite cambiar los comportamientos de la barra de menú (excepto para ocultarlo).

    
respondido por el Zeus 14.08.2014 - 23:20
7
  • Guarde el siguiente AppleScript en un archivo llamado 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
    
  • Desde el terminal, compílalo en una aplicación con el siguiente comando:

    osacompile -o "/Applications/Full Screen.app" fullscreen.scpt
    
  • Abra Full Screen.app 's Info.plist (por ejemplo, vim '/Applications/Full Screen.app/Contents/Info.plist' ) y agregue lo siguiente al dict :

        <key>NSUIElement</key>
        <true/>
    
  • Agregue Full Screen.app como excepción en System Preferences > Security & Privacy > Privacy > Accessibility .

  • Inicie Automator y cree un nuevo Service .

  • Cambie "El servicio recibe" por " no input en any application ".
  • Agrega una acción Library > Utilities > Launch Application .
  • Configure la acción para iniciar la aplicación Full Screen creada anteriormente.
  • Guarde el servicio como Full Screen y cierre Automator.
  • En System Preferences > Keyboard > Shortcuts > Services , desplácese hacia abajo hasta el final de la lista y el servicio Full Screen recién creado debe aparecer en la lista. Asocie un Command atajo único para él, como Shift + Command + \ o Command + F11 por ejemplo.

Esto crea un acceso directo para hacer que una aplicación entre en la pantalla completa mientras elimina la barra de menú, o para salir de la pantalla completa y devolver la barra de menú. ¡Proporciona un acceso directo alternativo a pantalla completa!

Para los lanzadores de pantalla completa específicos de la aplicación, revise mi otra respuesta .

Advertencias

Puede haber algunas desventajas y / o mal comportamiento al usar este enfoque:

  • Funciona al configurar ApplicationType=UIElement , lo que hace que el ícono de la aplicación no se agregue / resalte en el Dock y haga que la aplicación sea inaccesible a través del comando + Tabulación . El Comando + Tabulación emite se informó en los comentarios , no lo noté ya que principalmente uso la descripción general del Control de la Misión para cambiar entre las aplicaciones de pantalla completa.
  • Es posible que no se comporte como se espera para algunas aplicaciones específicas, he notado problemas con la aplicación Monitor de actividad (que en general no se usa en pantalla completa) y hay un informe en Chrome , que no probé ya que uso Firefox y funciona muy bien .
respondido por el pepper_chico 27.01.2018 - 04:07
5

La solución más cercana que he encontrado es hacer lo que se mencionó anteriormente, deshabilitando "Las pantallas tienen espacios separados" en el Control de Misión. Esto solo tiene sentido en un entorno de múltiples monitores, ya que la barra de menú aún se muestra en el monitor principal.

Si hace que la aplicación "vaya a pantalla completa" (haga clic en el botón verde), llena toda la pantalla, pero todas las demás pantallas se vuelven negras y la barra de menú se mueve a la pantalla de la aplicación. Por lo tanto, la solución es expandir manualmente los bordes de la aplicación tanto como lo desee. Una vez, VMWare tuvo algún tipo de solución de pantalla completa que no usaba el mecanismo de pantalla completa de Apple.

A menos que / hasta que Apple vea esto como un problema que deba solucionarse, será muy difícil encontrar una solución que no sea de hackers. Es tan integral a la forma en que funciona el sistema operativo (como el botón de inicio en el iPhone / iPad / iPod).

    
respondido por el Bryan Scott 31.08.2016 - 18:55

Lea otras preguntas en las etiquetas