Wie kann ich "Show Desktop" aus dem Alt-Tab (Programm) Umschalter entfernen?

100

Ist es möglich, "Show Desktop" vom Alt+ TabApplication Switcher zu entfernen ?

David Dossot
quelle
Sie verwenden Unity, richtig?
Christopher Kyle Horton
1
Ja, sorry, hätte angeben sollen. Ich habe die Unity-Einstellungen in CompizConfig aufgerufen, aber keine sichtbare Option dafür gefunden. Ich frage mich nur, ob es eine versteckte Option gibt oder ob es nur irgendwo anders ist.
David Dossot
1
Du hast Recht; Ich konnte es dort auch nicht finden. Ich bin mir jedoch nicht sicher, ob es einen anderen Weg geben könnte.
Christopher Kyle Horton

Antworten:

37

Es kann gemacht werden!

Ich habe einen Unity-Build für 12.04 hochgeladen , der dies behebt (kein Desktop im Alt-Tab-Umschalter anzeigen).

  • Öffnen Sie zum Installieren ein Terminal und:
sudo apt-add-repository ppa: izx / askubuntu -y
sudo apt-get update
sudo apt-get install unity
  • Sie können die Einstellung "Desktop- ccsmSymbol anzeigen" im Unity-Plugin in Compiz aktivieren (mithilfe von ), um das Symbol im Launcher auf der linken Seite anzuzeigen:

    Bildbeschreibung hier eingeben

  • Wenn ein neues Unity-Update veröffentlicht wird, wird es von Update Manager automatisch heruntergeladen. Ich werde versuchen, das Update zu "reparieren" und es so schnell wie möglich in die PPA zu stellen. Bitte geben Sie einen Kommentar zu dieser Antwort ein, um mich zu benachrichtigen, wenn Sie ein Upgrade durchführen und "Show Desktop" erneut im Switcher angezeigt wird!

Wie hast du es gemacht?

Ich habe die Unity-Quelle geändert. Es besteht aus zwei Schritten:

  1. Kommentieren Sie die Zeile 900 in aus plugins/unityshell/src/LauncherController.cpp, die standardmäßig das Symbol "Desktop anzeigen" zum Umschalter hinzufügt:
// results.push_back (pimpl-> desktop_icon_);
  1. Ändere Zeile 1638 in plugins/unityshell/src/unityshell.cppvon:

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

    zu

      if (! results.size () == 0))
    • Während die Liste der Alt-Tab-Umschaltersymbole zuvor mindestens 1 war (das Show-Desktop-Symbol), ist sie jetzt 0 und muss so geändert werden, dass der Umschalter nur angezeigt wird, wenn mindestens ein Element in der Liste vorhanden ist (dh um mindestens eine App läuft).
ish
quelle
Es sieht so aus, als ob die aktuelle Version von Unity 5.20 und Ihre Version 5.14 ist. Ich verwende 12.04, daher scheint ein benutzerdefiniertes Build meine einzige Option zu sein. Vielen Dank, dass Sie dies skizziert haben. Wenn Sie keine Zeit für den Build haben, probiere ich es vielleicht aus.
Isaaclw
Ich habe einige Zeit damit verbracht, es selbst für 5.20 neu zu kompilieren. Ich habe meine Antwort unten gepostet, da es nicht ganz so einfach war, wie ich es mir vorgestellt hatte: askubuntu.com/a/395031/17065
isaaclw
funktioniert nicht für 12.04
Timmy
für 12.04 und
höher
103

13.04 und neuer

Für 13.04, 13.10 und 14.04 können Sie das Unity-Tweak-Tool verwenden, um die Option "Desktop anzeigen" im Application Switcher zu aktivieren oder zu deaktivieren

Installieren Sie das Unity-Tweak-Tool

Bild

12.10

Für 12.10 wurde CCSM eine neue Einstellung hinzugefügt , um die Option "Desktop anzeigen" im Anwendungsumschalter zu aktivieren oder zu deaktivieren.

Führen Sie diesen Befehl in einem Terminal aus, um CCSM zu installieren:

sudo apt-get install compizconfig-settings-manager

Öffne nun CCSM und gehe zum Ubuntu Unity Plugin.

Ubuntu Unity Plugin

Wechseln Sie zur Registerkarte Switcher . Aktivieren Sie dann in der Switcher- Option das Kontrollkästchen neben " Show Desktop deaktivieren ".

Deaktivieren Sie den Showdesktop

Tada!  Nie mehr "Desktop anzeigen" im Application Switcher !.

jokerdino
quelle
Danke. Ich habe es mit dem Unity Tweak Tool deaktiviert, aber Ihre Antwort hat mich dorthin geschickt. Ubunt 13.10. (Deaktiviert, weil manchmal auf Desktop umgeschaltet wird)
adi
Unity-Tweak-Tool funktioniert auch in 13.10.
Eswald
3
Wunderbar, arbeitet in 14.04, danke!
Kostiantyn Rybnikov
2
unity-tweak-toolarbeitet in 15.04 ..
Jean Jordaan
1
unity-tweak-toolfunktioniert auch in 16.04
Chris
8

In 14.04 konnte ich dies in CompizConfig Settings Manager durchführen.

sudo apt-get install compizconfig-settings-manager

Durch den Besuch:

  • Abschnitt "Desktop" der Auflistung im breiten, weißen, rechten Bereich →
  • Menüpunkt "Ubuntu Unity Plugin" →
  • Registerkarte "Umschalter" →
  • "Show Desktop im Switcher deaktivieren".

Dies war ein standardmäßiges, nicht angepasstes CCSM direkt aus den Repos.

Erik Piper
quelle
1
Funktioniert auch am 16.04, danke!
Nerdherd
1

Daher bin ich mir nicht sicher, ob dies für Sie hilfreich ist. Während ich Unity 2D verwende, habe ich es satt, keine Grafiktreiber zu haben, die ich als Gnome-Fallback eingestuft habe. Unzufrieden ging ich zurück zur Unity-Oberfläche. Ich habe das angezeigte "Show Desktop" im ALT + TAB-Programmumschalter nicht mehr. Ich glaube, dies ist ein Nebeneffekt der Gnome-Oberfläche, die sich in der unteren linken Ecke befindet, und als ich zurückgeschaltet habe, hatte ich sie nicht mehr. Schien für mich zu arbeiten ... einen Versuch wert.

esnowrackley
quelle
1
Vielen Dank für Ihre Erfahrung. Wie riskant ist dieser Ansatz? Ich kann es mir nicht leisten, die Stabilität meines Arbeitsumfelds in Gefahr zu bringen.
David Dossot
Für mich hatte ich damit sonst keine Probleme, bin mir aber auch nicht zu 100% sicher, ob es das war. Wenn Sie über eine VM verfügen, ist es möglicherweise hilfreich, diese Theorie zu testen. Außerdem habe ich die Bedienfelder häufig bearbeitet und Elemente wie Arbeitsbereichsumschalter und das Papierkorbsymbol entfernt und hinzugefügt, um das echte Gnome-Feeling von 10.10 zu ersetzen. Ich würde nicht zu riskant denken, aber einen Versuch wert. Wenn Sie wirklich so besorgt sind, könnten Sie alles sichern, aber es sollte nichts Ungewöhnliches tun. Ich könnte auch gerade einen glücklichen Fehler bekommen haben. Ich weiß nicht, ich werde das auch selbst testen. Sehen Sie, was ich für Sie tun kann.
Esnowrackley
0

Achtung: Ich habe das genau einmal zum Laufen gebracht. Beim Neustart wurden zwei Instanzen von Unity ausgeführt, und ich konnte nicht herausfinden, warum oder wie. Sie zu töten hat nicht funktioniert, und die Deinstallation der Neuinstallation hat nicht geholfen.

Ich habe es durch die Installation von 13.10 gelöst. Ich werde die anderen hier aufgelisteten Fixes verwenden.

Ich konnte dies in 12,04 nicht zur Arbeit kommen, das Paket zur Verfügung gestellt in einer anderen Antwort war nicht neu genug (Version 5.14) und die Führung war nicht ganz einwandfrei. (obwohl es sehr hilfreich war) Hier ist, wie ich es geschafft habe, das Update für Unity 5.20 anzuwenden

1) Laden Sie die Quelle herunter:

sudo apt-get source unity

2) Ändern Sie die Quelle:

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) Installieren Sie andere Pakete:

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

5) Führen Sie cmake aus.

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

Hinweis: Wenn Sie Ihren DCMAKE_INSTALL_PREFIX-Ordner auf /usranstatt festlegen /opt/unity, müssen Sie später nicht mehr synchronisieren , aber ich wollte zuerst versuchen, die Datei zu verknüpfen. Ich gab auf.

Ich nehme an, um die beste Option rückgängig zu machen, ist die Neuinstallation von Unity, wodurch die Standarddateien überschrieben würden.

6) Ersetzen Sie die Dateien:

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

7) Installieren Sie Unity-Greeter erneut. Anscheinend brechen die synchronisierten Dateien Unity-Greeter. Was anscheinend benötigt wird, um die Einheit zum Laufen zu bringen.

sudo apt-get install --reinstall unity-greeter
isaaclw
quelle
0

Wenn Sie dconfzum Verwalten Ihrer Unity-Einstellungen verwenden , dconf watch /lautet der Pfad zu dieser Einstellung (nach Prüfung mit ):

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

Setzen Sie dies auf trueund der Desktop wird alt-taboptional entfernt.

jamesc
quelle