Come posso rimuovere "Mostra desktop" dal selettore Alt-Tab (applicazione)?


100

È possibile rimuovere "Mostra desktop" dal selettore applicazioni Alt+ Tab?


Stai usando Unity, giusto?
Christopher Kyle Horton,

1
Sì, scusa, avrei dovuto specificare. Sono andato alle impostazioni Unity in CompizConfig ma non ho trovato alcuna opzione visibile per quello. Mi chiedo solo se c'è un'opzione nascosta o se è semplicemente altrove.
David Dossot,

1
Hai ragione; Non sono riuscito a trovarlo neanche lì. Tuttavia, non sono sicuro che ci possa essere un altro modo di procedere.
Christopher Kyle Horton,

Risposte:


37

Si può fare!

Ho caricato un build Unity per 12.04 che risolve questo problema (nessun Show Desktop nel commutatore Alt-Tab).

  • Per installare , aprire un terminale e:
sudo apt-add-repository ppa: izx / askubuntu -y
sudo apt-get update
sudo apt-get install unity
  • È possibile abilitare l'impostazione "Mostra icona desktop" nel plug-in Unity in Compiz (utilizzando ccsm) per ottenere l'icona sul Launcher a sinistra:

    inserisci qui la descrizione dell'immagine

  • Se / quando viene rilasciato un nuovo aggiornamento Unity, Update Manager lo scaricherà automaticamente. Proverò a "riparare" l'aggiornamento e inserirlo nel PPA il prima possibile; si prega di aggiungere un commento a questa risposta per avvisarmi se si aggiorna e "Mostra desktop" riappare nel Switcher!

Come hai fatto?

Ho modificato la sorgente Unity. Si compone di due passaggi:

  1. Commenta la riga 900 in plugins/unityshell/src/LauncherController.cpp, che per impostazione predefinita aggiunge l'icona "Mostra desktop" al commutatore:
// results.push_back (pimpl-> desktop_icon_);
  1. Cambia la riga 1638 in plugins/unityshell/src/unityshell.cppda:

      if (! (results.size () == 1 && results [0] -> GetIconType () == AbstractLauncherIcon :: IconType :: TYPE_DESKTOP))

    per

      if (! results.size () == 0))
    • Mentre l'elenco delle icone dello switcher Alt-Tab era almeno 1 prima (l'icona show-desktop), ora è 0 e dobbiamo modificarlo per mostrare lo switcher solo quando vi è almeno un elemento nell'elenco (ovvero almeno un'app in esecuzione).

Sembra che l'attuale versione di unità sia la 5.20 e la tua versione sia la 5.14. Sto usando 12.04, quindi una build personalizzata sembra essere la mia unica opzione. Grazie per averlo delineato. Se non hai tempo per fare la build, forse ci proverò.
isaaclw,

Ho trascorso un po 'di tempo e l'ho ricompilato da solo per 5,20. Ho pubblicato la mia risposta di seguito, dal momento che non era così semplice come immaginavo: askubuntu.com/a/395031/17065
isaaclw,

non funziona per 12.04
Timmy

per il 12.04 e oltre, guarda la risposta successiva
Postadelmaga,

103

13.04 e successivi

Per 13.04, 13.10 e 14.04, per abilitare o disabilitare l'opzione "Mostra desktop" nel selettore di applicazioni è possibile utilizzare unity-tweak-tool

Installa unity-tweak-tool

pic

12.10

Per 12.10, una nuova impostazione è stata aggiunta a CCSM per abilitare o disabilitare l'opzione "Mostra desktop" nel selettore di applicazioni.

Esegui questo comando in un terminale per installare CCSM:

sudo apt-get install compizconfig-settings-manager

Ora apri CCSM e vai al plugin Ubuntu Unity.

Plug-in Ubuntu Unity

Passa alla scheda Switcher . Quindi selezionare la casella di controllo accanto a Disabilita Mostra desktop nell'opzione switcher .

Disabilita il desktop dello spettacolo

Tada!  Non più "Mostra desktop" nel selettore di applicazioni !.


Grazie. L'ho disabilitato utilizzando Unity Tweak Tool ma la tua risposta mi ha inviato lì. Ubunt 13.10. (Disabilitato perché a volte passa al desktop)
adi

unity-tweak-tool funziona anche nel 13.10.
eswald,

3
Meraviglioso, funziona nel 14.04, grazie!
Kostiantyn Rybnikov,

2
unity-tweak-toollavora nel 15.04 ..
Jean Jordaan,

1
unity-tweak-toolfunziona anche nel 16.04
Chris

8

Nel 14.04, sono stato in grado di farlo in CompizConfig Settings Manager.

sudo apt-get install compizconfig-settings-manager

Visitando:

  • Sezione "Desktop" dell'elenco nell'area ampia, bianca, destra →
  • Voce "Ubuntu Unity Plugin" →
  • Scheda "Switcher" →
  • Voce "Disabilita Mostra desktop nel commutatore".

Questo era un CCSM predefinito e non personalizzato direttamente dai repository.


1
Funziona anche sul 16.04, grazie!
secchione il


1

Quindi, non sono sicuro che ti possa essere di aiuto, tuttavia durante l'utilizzo di Unity 2D, stanco di non avere driver grafici, mi sono tuffato in fallback di gnome. Quindi insoddisfatto, sono tornato all'interfaccia di Unity. Non ho più il "Show Desktop" visualizzato nello switcher dell'applicazione ALT + TAB. Credo che questo sia un effetto collaterale dell'interfaccia di Gnome che lo ha impostato nell'angolo in basso a sinistra, e quando sono tornato indietro non l'ho più avuto. Sembrava funzionare per me ... vale la pena provare.


1
Grazie per aver condiviso la tua esperienza. Quanto è rischioso questo approccio? Non posso permettermi di mettere a repentaglio la stabilità del mio ambiente di lavoro.
David Dossot,

Per quanto mi riguarda, non ho avuto problemi con questo, altrimenti non sono nemmeno sicuro al 100%. Se hai una VM, sarebbe bello testare questa teoria, ho anche modificato molto i pannelli, rimuovendo e aggiungendo elementi come i commutatori dell'area di lavoro e l'icona del cestino per sostituire la vera sensazione di gnome che aveva 10.10. Non penserei troppo rischioso, ma vale la pena provare. Se sei davvero così preoccupato, puoi eseguire il backup di tutto, ma non dovrebbe fare nulla di straordinario. Potrei anche aver avuto un bug fortunato. Non lo so, lo proverò anche io. Vedi cosa posso fare per te.
esnowrackley,

0

Avvertenza: ho fatto in modo che funzionasse esattamente una volta. Quando ho riavviato, avevo due istanze di unità in esecuzione e non riuscivo a capire perché o come. ucciderli non ha funzionato e disinstallare la reinstallazione non ha aiutato.

L'ho risolto installando il 13.10. Userò le altre correzioni elencate qui.

Non riuscivo a farlo funzionare in 12.04, il pacchetto fornito in un'altra risposta non era abbastanza nuovo (versione 5.14) e la guida non era del tutto impeccabile. (anche se è stato molto utile) Ecco come sono riuscito ad applicare la correzione per l'unità 5.20

1) Scarica la fonte:

sudo apt-get source unity

2) Cambia la fonte:

diff -ru org/plugins/unityshell/src/LauncherController.cpp patch/plugins/unityshell/src/LauncherController.cpp
--- unity-5.20.0/plugins/unityshell/src/LauncherController.cpp  2013-04-12 04:24:42.000000000 -0400
+++ unity-diff/plugins/unityshell/src/LauncherController.cpp    2013-12-23 12:22:50.154961579 -0500
@@ -761,7 +761,7 @@
 {
   std::vector<AbstractLauncherIcon::Ptr> results;

-  results.push_back(pimpl->desktop_icon_);
+  //results.push_back(pimpl->desktop_icon_);

   for (auto icon : *(pimpl->model_))
   {
diff -ru org/plugins/unityshell/src/unityshell.cpp patch/plugins/unityshell/src/unityshell.cpp
--- unity-5.20.0/plugins/unityshell/src/unityshell.cpp  2013-04-12 04:24:42.000000000 -0400
+++ unity-diff/plugins/unityshell/src/unityshell.cpp    2013-12-23 12:24:36.718966737 -0500
@@ -1909,7 +1909,8 @@

   auto results = launcher_controller_->GetAltTabIcons(show_mode == switcher::ShowMode::CURRENT_VIEWPORT);

-  if (!(results.size() == 1 && results[0]->GetIconType() == AbstractLauncherIcon::IconType::TYPE_DESKTOP))
+//  if (!(results.size() == 1 && results[0]->GetIconType() == AbstractLauncherIcon::IconType::TYPE_DESKTOP))
+  if (!(results.size() == 0))
     switcher_controller_->Show(show_mode, switcher::SortMode::FOCUS_ORDER, false, results);

   return true;

3) Installa altri pacchetti:

sudo apt-get build-dep unity
sudo apt-get install cmake

5) Esegui cmake.

cd <source folder>
# from the INSTALL file
mkdir build; cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCOMPIZ_PLUGIN_INSTALL_TYPE=package -DCMAKE_INSTALL_PREFIX=/opt/unity
make
sudo make install

Nota: se imposti la cartella DCMAKE_INSTALL_PREFIX su /usrinvece di /opt/unity, non dovrai risincronizzare in seguito, ma prima volevo provare a collegare il file. Ho rinunciato.

Suppongo che per annullare l'opzione migliore sia reinstallare l'unità, che metterebbe i file standard in cima.

6) Sostituisci i file:

sudo rsync -av /opt/unity/ /usr/

7) Reinstalla unità-greeter. Apparentemente i file rsynced rompono unità-greeter. Ciò che apparentemente è necessario per far funzionare l'unità.

sudo apt-get install --reinstall unity-greeter

0

Se si utilizza dconfper gestire le impostazioni di Unity , il percorso per questa impostazione (mediante ispezione con dconf watch /) è:

/org/compiz/profiles/unity/plugins/unityshell/disable-show-desktop

Impostalo su truee il desktop verrà rimosso come alt-tabopzione.

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.