Prácticamente todas las aplicaciones que uso en pantalla completa (incluidos Firefox, MacVim y Terminal) tienen pestañas en la parte superior de la pantalla.
El problema es que cuando muevo el mouse para llegar a las pestañas, a menudo toco accidentalmente la parte superior de la pantalla, mostrando el menú del sistema operativo SOBRE las pestañas:
¿Hay alguna forma 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.
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 la terminal, compílelo en una aplicación con el siguiente comando:
osacompile -o "/Applications/Full Screen.app" fullscreen.scpt
Abra el 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/>
Añadir Full Screen.app
como excepción en System Preferences > Security & Privacy > Privacy > Accessibility
.
Inicie Automator y cree un nuevo Service
.
no input
en any application
".Library > Utilities > Launch Application
acción.Full Screen
aplicación creada anteriormente.Full Screen
y cierre Automator.System Preferences > Keyboard > Shortcuts > Services
, desplácese hacia abajo hasta el final de la lista y el Full Screen
servicio recién creado debería aparecer allí. CommandAsocie un atajo único para él, como Shift++ o Command+ por ejemplo .\CommandF11Esto crea un atajo para hacer que una aplicación ingrese a pantalla completa mientras se elimina la barra de menú, o para salir de la pantalla completa y recuperar la barra de menú. ¡Proporciona un acceso directo alternativo a pantalla completa!
Para lanzadores de pantalla completa específicos de la aplicación, consulte mi otra respuesta .
Puede haber algunas desventajas y/o mala conducta al usar este enfoque:
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 de Command+ Tab. El problema Command+ se informó en los comentarios , no lo noté ya que principalmente uso la descripción general de Mission Control para cambiar entre aplicaciones de pantalla completa.TabCan't get window 1 of <<class prcs>> "Full Screen" of application "System Events". Invalid index.
Y luego también dice:System Events got an error: Can't get window 1 of process "Full Screen": Invalid index. (-1719)
osacompile
en lugar de simplemente exportar como una aplicación desde el editor de Applescript? Supongo que cualquiera de los dos funciona, el último parece un paso menos.La barra de menú NO se puede ocultar cuando lo desee debido a las limitaciones de Mac OS X. Apple puede hacer esto en sus propios programas, pero NO lo han hecho posible para otros desarrolladores en Mac OS X. Una de las razones es que Apple Menu se encuentra en la barra de menús y es útil si la aplicación deja de responder o si el usuario necesita cerrar sesión/apagar la máquina.
Hay una aplicación llamada Menu Eclipse que te permite cambiar los comportamientos de la barra de menú (excepto para ocultarla).
Command
+ Option
+ Shift
+ Esc
? Cuando la aplicación deja de responder, apagar la máquina no hace nada hasta que la aplicación responde. Por lo tanto, la barra de menú no debería ser imprescindible en pantalla completa.La solución más cercana que he encontrado es hacer lo que se mencionó anteriormente, deshabilitar "Las pantallas tienen espacios separados" en Mission Control. Esto solo tiene sentido en un entorno de varios 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. Entonces, la solución es expandir manualmente los bordes de la aplicación tanto como quieras. Érase una vez, VMWare tenía algún tipo de solución de pantalla completa que no usaba el mecanismo de pantalla completa de Apple.
A menos/hasta que Apple vea esto como un problema que necesita solución, será difícil encontrar una solución que no sea un truco. Es tan integral para el funcionamiento del sistema operativo (como el botón de inicio en el iPhone/iPad/iPod).
Mi solución en Python:
import autopy.mouse as mouse
from time import sleep
while True:
x, y = mouse.location()
if y < 5:
mouse.move(x, 5)
sleep(0.1)
Una posible solución es no deshacerse del menú por completo, sino mantener el menú siempre activo (no es tan grande), y simplemente deshacerse del Dock en su lugar, haciendo el siguiente truco.
Ve a la terminal y escribe:
defaults write com.apple.dock tilesize -int 1
killall Dock
Esto hará que tu Dock sea pequeño. La prensa ⌘ ⌥ D para ocultar el muelle.
Idea robada de aquí .
Yo uso Firefox y lo resolví editando el navegador chrome ( userChrome.css
).
Acabo de invertir el orden vertical de los elementos principales del navegador (pestañas, barra de herramientas, contenido principal). En la pantalla que se muestra a continuación, observe que mis pestañas están en la parte inferior.
Este diseño parece extraño al principio, pero no me importa, solo quiero evitar el problema constante que tengo al mostrar involuntariamente la barra de menú de macOS mientras estoy en modo de pantalla completa.
Aquí está mi userChrome.css
(lo mantuve simple). Puede encontrar instrucciones sobre cómo editar su interfaz de usuario de Firefox aquí .
body {
display: flex !important;
flex-direction: column-reverse !important;
}
#browser {
flex: 1 1 auto !important;
}
#navigator-toolbox {
display: flex !important;
flex-direction: column-reverse !important;
}
Intente usar teclas de acceso rápido para cambiar de pestaña en el navegador / ide para que nunca mueva el mouse hacia la parte superior para que aparezca la barra de menú
caballero
defaults write
se pudiera editar una variable. Pero hasta ahora no he oído nada de eso. Es especialmente molesto cuando se usa una VM en pantalla completa. Ubuntu tiene la barra de menú en la parte superior y me gusta así. Pero constantemente hago que aparezca la barra de menú de OSX. :(usuario46942
Ctrl
+F2
) o, al parecer, operar cualquiera de los elementos de la barra de menú a través de sus atajos de teclado asignados, ya sea :(. Pero SÍ se deshace de la barra de menú directamente si realmente quiere deshacerse de ella para un programa específico. Descargue 'PresentYourApps' (está en CNET), ejecute la aplicación para la que desea eliminar la barra de menú, ejecute PreentYourApps y configure las opciones para esa aplicación en consecuencia. Modificará la aplicación y la reiniciará.usuario46942
bruno felipe
Adil Malik
Deja Vu
bb216b3acfd8f72cbc8f899d4d6963
Owlswipe
usuario2707001
lucas pottersky
Deniz
maiavictor
hombre clon
maiavictor
descaradobanana
Avamander