Rendi mai visibile la barra dei menu a schermo intero


70

Praticamente tutte le applicazioni che utilizzo a schermo intero (inclusi Firefox, MacVim e il Terminale) hanno schede nella parte superiore dello schermo.

Il problema è che quando muovo il mouse per raggiungere le schede, spesso toccherò accidentalmente la parte superiore dello schermo, portando il menu OS SOPRA le schede:

Illustrazione: lo spostamento del mouse nella parte superiore dello schermo nelle app a schermo intero fa apparire la barra dei menu

C'è un modo per cambiare questo comportamento? Preferirei che la barra dei menu rimanesse nascosta quando utilizzo un'app a schermo intero, anche se il mouse tocca la parte superiore dello schermo.


5
Sì, questo è davvero fastidioso. Vorrei lì dove defaults writesi poteva modificare una variabile. Ma finora non ho sentito niente del genere. È particolarmente fastidioso quando si utilizza una macchina virtuale a schermo intero. Ubuntu ha la barra dei menu in alto e mi piace così. Ma continuo a far apparire la barra dei menu OSX. :(
gentmatt

C'è UNA cosa che puoi fare, ma sacrifica usando completamente la barra dei menu - cioè, oltre a nasconderlo ostinatamente, non puoi nemmeno attivarlo manualmente (tramite la scorciatoia da tastiera Ctrl+ F2) o, a quanto pare, azionare uno dei gli elementi della barra dei menu tramite le scorciatoie da tastiera assegnate, sia :(. Ma si sbarazza della barra dei menu in modo corretto se si desidera davvero liberarsene per un programma specifico. Scaricare 'PresentYourApps' (è su CNET), eseguire l'app per cui vuoi rimuovere la barra dei menu, esegui PreentYourApps e imposta le opzioni per quell'app di conseguenza. Modificherà l'app e la riavvierà

4
Ok ulteriori informazioni: ciò che fa "PresentYourApps" è fondamentalmente impostare il valore LSUIPresentationMode o "Modalità di presentazione dell'interfaccia utente dell'applicazione" in Info.plist per l'app in questione: documentazione qui e una guida a Lifehacker qui . Invece di '4', usa il valore numerico '3' per la modalità 'Tutti nascosti', che è ciò che i passaggi del mio commento sopra fanno in quella GUI più semplice - ma ancora una volta, 'Tutto nascosto' disabilita in modo fastidioso TUTTO l'accesso alla barra dei menu quando ci si trova mentre l'app "Tutto soppresso" nasconde il menu ma il mouse lo richiama quando viene colpito nella parte superiore dello schermo, cosa che non vogliamo.

3
se solo potessimo specificare un ritardo maggiore ... questo è davvero fastidioso
Lucas Pottersky

1
Come soluzione alternativa, qualcuno potrebbe scrivere un'app che crea un "muro" per impedire al mouse di colpire mai la riga superiore di pixel sullo schermo (a meno che non venga tenuto premuto un tasto per "rilasciare" il mouse). Qualcosa del genere sarebbe un primo passo accettabile e il motivo della mia generosità.
cloneman

Risposte:


9

La barra dei menu NON può essere nascosta a comando ogni volta che lo desideri a causa delle limitazioni in Mac OS X. Apple può farlo nei propri programmi ma NON ha reso possibile per altri sviluppatori in Mac OS X. Uno dei motivi è che Il menu Apple si trova sulla barra dei menu ed è utile se l'applicazione non risponde o se l'utente deve disconnettersi / spegnere la macchina.

Esiste un'applicazione chiamata Menu Eclipse che ti consente di modificare i comportamenti della barra dei menu (tranne nasconderlo).


1
"Eclipse menu" non nasconde la barra dei menu.
Anello Ø

1
la barra dei menu potrebbe essere innescata da una sequenza di tasti o da una pausa più lunga - ciò consentirebbe comunque all'utente di uscire da un'app interrotta senza interrompere il flusso di lavoro basato su schede
Toni Leigh

1
Questo non può essere vero al 100%, poiché ci sono molti giochi a schermo intero che non ti consentono di accedere alla barra dei menu. Sebbene presumibilmente stiano usando funzioni non standard per lo schermo intero.
Wowfunhappy,

@Wowfunhappy Suppongo che sia il risultato dell'esecuzione di applicazioni nella modalità di gioco.
Zeus,

Va bene va bene, e che dire di Command+ Option+ Shift+ Esc? Quando l'app non risponde, l'arresto della macchina non fa nulla fino a quando l'applicazione non risponde. Quindi la barra dei menu non dovrebbe essere un must quando è a schermo intero.
Máxima Alekz,

8
  • Salvare il seguente AppleScript in un file denominato 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
    
  • Dal terminale, compilarlo in un'applicazione con il seguente comando:

    osacompile -o "/Applications/Full Screen.app" fullscreen.scpt
    
  • Aprire il Full Screen.app's Info.plist(ad esempio vim '/Applications/Full Screen.app/Contents/Info.plist') e aggiungere il seguente al dict:

        <key>NSUIElement</key>
        <true/>
    
  • Aggiungi Full Screen.appcome eccezione a System Preferences > Security & Privacy > Privacy > Accessibility.

  • Avvia Automator e creane uno nuovo Service.

  • Modifica "Il servizio riceve" in " no inputin any application".
  • Aggiungi Library > Utilities > Launch Applicationun'azione.
  • Configurare l'azione per avviare l' Full Screenapplicazione precedentemente creata .
  • Salvare il servizio come Full Screene chiudere Automator.
  • Attivo System Preferences > Keyboard > Shortcuts > Services, scorrere fino alla fine dell'elenco e il Full Screenservizio appena creato dovrebbe essere elencato lì. Associa un Commandcollegamento unico per esso, come ad esempio Shift+ Command+ \o Command+ F11.

Questo crea un collegamento per far sì che un'applicazione entri a schermo intero rimuovendo la barra dei menu o per uscire dallo schermo intero riportando indietro la barra dei menu. Fornisce un collegamento alternativo a schermo intero!

Per i lanciatori a schermo intero specifici dell'applicazione, controlla la mia altra risposta .

Avvertenze

Ci possono essere alcuni svantaggi e / o comportamenti scorretti usando questo approccio:

  • Funziona impostando ApplicationType=UIElement, il che rende non aggiunta / evidenziata l'icona dell'applicazione nel Dock e rende inaccessibile l'applicazione tramite Command+ Tab. Il problema Command+ Tabè stato segnalato nei commenti , non me ne sono accorto poiché utilizzo principalmente la panoramica di Mission Control per passare da un'applicazione a schermo intero.
  • Non può comportarsi come previsto per alcune applicazioni specifiche, ho problemi con l'applicazione Activity Monitor (che non viene generalmente utilizzati schermo intero comunque) notato e c'è un rapporto su Chrome , che non ho provato dato che io uso Firefox e si funziona alla grande .

Questo è più che sufficiente per la generosità. Lavoro eccellente! Per i futuri utenti, modifica per descrivere eventuali limitazioni quando le trovi. Dalla parte superiore della mia testa, sembra che a Chrome non piaccia molto, e inoltre, le app scompaiono dalla scheda cmd + quando si utilizza questo collegamento.
cloneman,

@cloneman Nice, grazie. Ho aggiunto una sezione Avvertenze .
pepper_chico,

ricevi sempre errore: questo script contiene modifiche non compilate e non può essere eseguito. (-2700)
Xin Meng

Questa soluzione non funziona per me e sono su macOS Sierra 10.12.6. La finestra di errore dice: Can't get window 1 of <<class prcs>> "Full Screen" of application "System Events". Invalid index.E poi dice anche:System Events got an error: Can't get window 1 of process "Full Screen": Invalid index. (-1719)
rm.rf.etc

@ rm.rf.etc Lo sto ancora usando su Sierra, funziona benissimo.
pepper_chico,

5

La soluzione più vicina che ho trovato è fare come menzionato in precedenza, disabilitando "I display hanno spazi separati" in Mission Control. Ciò ha senso solo in un ambiente multi-monitor, poiché la barra dei menu è ancora visualizzata sul monitor principale.

Se app "passa a schermo intero" (fai clic sul pulsante verde), riempie l'intero schermo, ma tutte le altre schermate diventano nere e la barra dei menu viene spostata sullo schermo dell'app. Quindi la soluzione è quella di espandere manualmente i bordi dell'app fino a quando vuoi. Una volta, VMWare aveva una sorta di soluzione a schermo intero che non utilizzava il meccanismo a schermo intero di Apple.

A meno che / finché Apple non lo consideri un problema che deve essere risolto, sarà difficile trovare una soluzione non complicata. È così fondamentale per il funzionamento del sistema operativo (come il pulsante Home su iPhone / iPad / iPod).


0

Una possibile soluzione non è quella di sbarazzarsi del menu completamente, ma in realtà mantenere il menu sempre attivo (non è così grande), e semplicemente sbarazzarsi del Dock, facendo il seguente trucco.

Vai al terminale e digita:

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

Questo renderà il tuo Dock piccolo. Premere ⌘ ⌥ D per nascondere il dock.

Idea rubata da qui .


Il downgrade di questa risposta sotto lo zero è davvero mediocre. Potrebbe aiutare le persone con il problema simile, ma ora lo ignoreranno, supponendo che questa soluzione non funzioni affatto. Il mio obiettivo era ottimizzare lo spazio dello schermo senza avere l'irritazione con le schede nel browser e negli editor di codice. Nessuna delle altre risposte sopra ha funzionato per me, ma liberarmi completamente del Dock mi ha reso felice.
Alex

-1

Prova a utilizzare i tasti di scelta rapida per cambiare scheda nel browser / ide in modo da non spostare mai il mouse in alto per visualizzare la barra dei menu

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.