Как удалить «Показать рабочий стол» из переключателя Alt-Tab (приложения)?

100

Можно ли удалить «Показать рабочий стол» из Alt+ Tabпереключателя приложений?

Дэвид Доссо
источник
Вы используете Unity, правильно?
Кристофер Кайл Хортон
1
Да, извините, следовало бы указать. Я пошел в настройки Unity в CompizConfig, но не нашел никакой видимой опции для этого. Просто интересно, есть ли скрытая опция или она просто где-то еще.
Дэвид Доссо
1
Ты прав; Я тоже не смог найти его там. Однако я не уверен, что может быть другой способ сделать это.
Кристофер Кайл Хортон

Ответы:

37

Это можно сделать!

Я загрузил сборку Unity для 12.04, которая исправляет это (нет Show Desktop в переключателе Alt-Tab).

  • Для установки откройте терминал и:
sudo apt-add-repository ppa: izx / askubuntu -y
sudo apt-get update
sudo apt-get установи единство
  • Вы можете включить настройку «Показать значок на рабочем столе» в плагине Unity в Compiz (используя ccsm), чтобы получить значок на панели запуска слева:

    введите описание изображения здесь

  • Если / когда будет выпущено новое обновление Unity, Менеджер обновлений загрузит его автоматически. Я постараюсь «исправить» обновление и поместить его в PPA как можно скорее; пожалуйста, добавьте комментарий к этому ответу, чтобы предупредить меня, если вы обновитесь, и "Show Desktop" снова появится в Switcher!

Как ты сделал это?

Я изменил Источник Единства. Он состоит из двух шагов:

  1. Закомментируйте строку 900 in plugins/unityshell/src/LauncherController.cpp, которая по умолчанию добавляет значок «Показать рабочий стол» на коммутатор:
// results.push_back (pimpl-> desktop_icon_);
  1. Измените строку 1638 в plugins/unityshell/src/unityshell.cpp:

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

    в

      if (! results.size () == 0))
    • Если раньше список значков переключателя Alt-Tab был как минимум 1 (значок show-desktop), то теперь он равен 0, и нам нужно изменить его, чтобы отображать переключатель только тогда, когда в списке есть хотя бы один элемент (т.е. хотя бы одно приложение работает).
иш
источник
Похоже, что текущая версия unity 5.20, а ваша версия 5.14. Я использую 12.04, так что пользовательская сборка, кажется, мой единственный вариант. Спасибо, что изложил это. Если у вас нет времени на сборку, возможно, я попробую.
Исаакль
Я потратил некоторое время и перекомпилировал его для 5.20. Я разместил свой ответ ниже, поскольку он не был таким простым, как я представлял: askubuntu.com/a/395031/17065
isaaclw
не работает на 12.04
Тимми
за 12.04 и выше смотрите следующий ответ
Постадельмага
103

13.04 и новее

Для 13.04, 13.10 и 14.04, чтобы включить или отключить опцию «Показать рабочий стол» в переключателе приложений, вы можете использовать unity-tweak-tool

Установить единство-твик-инструмент

фильм

12,10

Для 12.10 в CCSM был добавлен новый параметр, чтобы включить или отключить параметр «Показать рабочий стол» в переключателе приложений.

Запустите эту команду в терминале для установки CCSM:

sudo apt-get install compizconfig-settings-manager

Теперь откройте CCSM и перейдите в плагин Ubuntu Unity.

Плагин Ubuntu Unity

Переключиться на вкладку Switcher . Затем установите флажок « Отключить отображение рабочего стола» в параметре переключателя .

Отключить рабочий стол шоу

Тада!  Больше не нужно показывать рабочий стол в переключателе приложений!

Джокердино
источник
Спасибо. Я отключил его с помощью Unity Tweak Tool, но ваш ответ отправил меня туда. Ubunt 13.10. (Отключил его, потому что иногда он переключается на рабочий стол)
adi
Unity-Tweak-Tool работает и в 13.10.
Эсвальд
3
Замечательно, работает в 14.04, спасибо!
Константин Рыбников
2
unity-tweak-toolработает в 15.04 ..
Жан Джордаан
1
unity-tweak-toolработает и в 16.04
Chris
8

В 14.04 я смог сделать это в CompizConfig Settings Manager.

sudo apt-get install compizconfig-settings-manager

Посещая:

  • Раздел «Рабочий стол» листинга в широкой, белой, правой области →
  • Плагин Ubuntu Unity »→
  • Вкладка «Переключатель» →
  • Элемент «Отключить отображение рабочего стола в коммутаторе».

Это был ненастроенный CCSM по умолчанию прямо из репозиториев.

Эрик Пайпер
источник
1
Работает и 16.04, спасибо!
ботаник
1

Так что я не уверен, поможет ли это вам, однако во время использования Unity 2D надоело, что у меня нет графических драйверов, которые я привел в упадок в gnome. Затем, неудовлетворенный, я вернулся к интерфейсу Unity. У меня больше не отображается «Показать рабочий стол» в переключателе приложений ALT + TAB. Я полагаю, что это побочный эффект интерфейса Gnome, установленного в левом нижнем углу, и когда я переключился обратно, у меня его больше не было. Казалось, работает для меня ... стоит выстрел.

esnowrackley
источник
1
Спасибо за обмен вашего опыта. Насколько рискован такой подход? Я не могу позволить себе поставить под угрозу стабильность моей рабочей среды.
Дэвид Доссо
В противном случае у меня не было проблем с этим, однако я также не уверен на 100%, что это было. Если у вас есть виртуальная машина, было бы неплохо проверить эту теорию, я также много редактировал панели, убирая и добавляя такие элементы, как переключатели рабочего пространства и значок корзины, чтобы заменить реальное ощущение гнома, которое было в 10.10. Я не думаю, что слишком рискованно, но стоит попробовать. Если вы действительно так переживаете, вы можете сделать резервную копию всего, но это не должно делать ничего необычного. Я также, возможно, только что получил счастливую ошибку. Я не знаю, я тоже это проверю. Посмотри, что я могу сделать для тебя.
esnowrackley
0

Предупреждение: я получил это на работу ровно один раз. Когда я перезапустил, у меня было два случая единства, и я не мог понять, почему или как. убить их не получилось, а удаление переустановки не помогло.

Я решил это путем установки 13.10. Я буду использовать другие исправления, перечисленные здесь.

Я не мог заставить это работать в 12.04, пакет, предоставленный в другом ответе, не был достаточно новым (версия 5.14), и руководство не было вполне безупречным. (хотя это было очень полезно) Вот как мне удалось применить исправление для единства 5.20

1) Скачать исходный код:

sudo apt-get source unity

2) Измените источник:

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) Установите другие пакеты:

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

5) Запустите 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

Примечание: если вы установите папку DCMAKE_INSTALL_PREFIX к /usrа /opt/unity, вы не должны RSync позже, но я хотел бы попробовать связывая файл первым. Я сдался.

Я полагаю, что отменить лучший вариант - переустановить Unity, что приведет к перегрузке стандартных файлов.

6) Заменить файлы:

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

7) Переустановите Unity-Greeter. Судя по всему, файлы rsynced нарушают единство-приветствие. Что, по-видимому, необходимо для достижения единства.

sudo apt-get install --reinstall unity-greeter
isaaclw
источник
0

Если вы используете dconfдля управления настройками Unity , то путь к этому параметру (путем проверки с помощью dconf watch /):

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

Установите это значение, trueи рабочий стол будет удален как alt-tabопция.

jamesc
источник