C'è un modo per nascondere alcune app dal menu cmd + tab?


39

C'è un modo per nascondere determinate app da cmd+ tab?

Il problema che sto affrontando è che alcune app (come iTunes e ovviamente Finder) sono sempre aperte. Ma quando lavoro e cambio tra app rilevanti per me (Chrome, Sublime, Terminal) con cmd+ tabvedrò sempre queste app "irrilevanti" nel menu.

Grazie

Risposte:


37

Sì, è possibile, tuttavia l'unico modo che conosco per farlo nasconde anche l'icona del dock.

è necessario modificare il file "Info.plist" all'interno del pacchetto dell'applicazione (ad esempio Sherlock.app/Contents/Info.plist). Apri questo file nel tuo editor di testo preferito e aggiungi la seguente sezione (se è già presente, modifica semplicemente 0 in 1 nel tag stringa):

<key>LSUIElement</key>
<string>1</string>

Fonte: nascondi l'icona del Dock di qualsiasi programma - Suggerimenti Mac OS X per Macworld

Nella versione più recente di macOS, non è necessario impostare una stringa per LSUIElement. Invece, è necessario utilizzare un valore booleano come segue:

<key>LSUIElement</key>
<true/>

Prima di OS X 10.8, usa questo invece (nota NS invece di LS):

<key>NSUIElement</key>
<string>1</string>

fumi santi che hanno funzionato meglio del previsto grazie mille!
wpp,

1
Due commenti Innanzitutto, il formato [STRING] sopra non funzionerà in 10.8 - devi usare un tipo booleano. In secondo luogo, oltre a nascondere l'app dal selettore di applicazioni, la modifica del NSUIElement nasconderà anche la barra dei menu, quindi l'utilizzo delle applicazioni "nascoste" diventa piuttosto difficile.
Kent,

Hai avuto fortuna con LSUIElement in Mavericks?
Tratta il

2
Sì, ho scaricato l'aggiornamento, ora lo supportano in modo nativo con la loro versione v1.4.2. github.com/binaryage/totalterminal/issues/…
atreat

4
In Mavericks, questo si blocca per me. Ho provato un paio di applicazioni diverse.
saluta il

7

Puoi impostare LSUIElement su 1 come stringa in Info.plist:

<key>LSUIElement</key>
<string>1</string>

Rimuove le applicazioni dal selettore di applicazioni, dal Dock e dalla finestra di chiusura forzata. Rimuove anche la barra dei menu, quindi non è realmente utilizzabile con Finder o iTunes.

La modifica di un Info.plist provoca il crash di alcune applicazioni come TextEdit e Chess all'avvio in 10.8. Invalida anche le firme dei codici delle applicazioni firmate, quindi non sono autorizzati ad accedere automaticamente ai portachiavi.

http://www.cocoabuilder.com/archive/cocoa/141753-lsuielement-and-lsbackgroundonly.html :

NSUIElement è ammortizzato. Tuttavia, ricordo chiaramente di aver lavorato presso Apple (Apple DTS) alcuni anni fa che NSUIElement e LSUIElement si associano alla stessa cosa (almeno lo faceva quando ero lì e dubito che sarebbe cambiato). Sebbene NSUIElement sia ammortizzato (NS sta per il prossimo passo ovviamente! E LS sta per servizi di lancio), sono esattamente la stessa cosa a tutti gli effetti.

Sia LSUIElement che NSUIElement funzionano ancora ed entrambi possono anche essere impostati su true o 1 come numero intero.

grep -A1 [LN]SUIElement /Applications/*/Contents/Info.plist

Elenco delle informazioni Proprietà Riferimento chiave: Launch Services Keys :

LSUIElement( String- OS X) specifica se l'app viene eseguita come app agente. Se questa chiave è impostata su "1", Launch Services esegue l'app come app agente. Le app degli agenti non vengono visualizzate nel Dock o nella finestra Uscita forzata. Sebbene in genere vengano eseguiti come app in background, possono venire in primo piano per presentare un'interfaccia utente, se lo si desidera. Un clic su una finestra appartenente a un'app agente porta l'app in avanti per gestire gli eventi.

Il Dock e la finestra di accesso sono due app che vengono eseguite come app agente.

Witch ha un'opzione per ignorare le applicazioni:

Ho appena disabilitato lo switcher dell'applicazione e il Dock però. Uso principalmente le scorciatoie da tastiera e Alfred per passare da un'applicazione all'altra.


L'impostazione LSUIElementnella info.plist di Slack mi ha causato un arresto anomalo all'avvio per me.
Taylor Edmiston,

3

Disclaimer: ho sviluppato GhostTile

Short Anwser: basta provare GhostTile . Tuttavia, è pagato, ma puoi provare il più a lungo possibile (rubare l'idea da Sublime Text)

Long Anwser:

AFAIK, ci sono due modi per raggiungere questo obiettivo:
1. Configurare un'app come agente. Ad esempio, aggiungi LSUIElementchiave a Info.plist dell'app o imposta la politica di attivazione dell'app su NSApplicationActivationPolicyAccessory.
2. Agganciare Dock o altri processi di sistema correlati per ignorare alcune app. Grazie a SIP (Rootless) su El Captian. Non è consigliabile farlo.

GhostTile si concentra sul nascondere le app dal Dock. È facile da usare e offre diversi modi per gestire le app che nascondi. Non ci sono modifiche sul disco, quindi non romperai la firma dei codici dei codici delle app.

Altre caratteristiche:

  • Puoi comunque ricevere una notifica per l'attività del dock dell'app
  • Panoramica simile a quella esposta
  • Alfred Workflow

Ho appena provato questa app e nessuna delle app che ho provato è "supportata". Finder, Mail, iOS Simulator ...
pkamb

1
@pkamb Mi dispiace ma tutte le app che hai provato sono protette da System Integration Protection (SIP) introdotto in El Capitan. Potresti provare altre app di terze parti? o disattivare SIP?
Hewigovens,

Abbastanza giusto, grazie per la risposta. Suggerirei un messaggio di errore più informativo o un link a una FAQ!
pkamb,

Come nascondo Ghost Title dal launcher Cmd + Tab? Ho provato ad aggiungere <key> NSUIElement </key> <string> 1 </string> a Info.plist e a riavviare l'app. Non ha funzionato
mac

@mac Esiste un'opzione di preferenza chiamata "Nascondi GhostTile dal Dock"
hewigovens

1

Siamo spiacenti di essere in ritardo alla festa, ma in effetti, come affermano le risposte e i commenti precedenti, ciò potrebbe causare il crash di alcune applicazioni all'avvio. Non riesco a farlo funzionare in Yosemite anche se sono stato in grado di farlo funzionare prima su un altro Mac. La modifica del Info.plist di TotalTerminal non ha fatto nulla e la modifica ha Applications/Utilities/Terminal/Info.plistcausato l'arresto anomalo.

Come @atreat menzionato in uno dei commenti, i ragazzi di TotalTerminal stanno ora sostenendo questa nascondere tramite un semplice comando:

defaults write com.apple.Terminal TotalTerminalHideDockIcon -bool YES

Ha funzionato perfettamente per me.


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.