如何从Alt-Tab(应用程序)切换器中删除“Show Desktop”?

是否可以从Alt + Tab应用程序切换器中删除“显示桌面”?

可以办到!

我已经上传了12.04的Unity版本修复此问题(在Alt-Tab切换器中没有显示桌面)。

  • 要安装 ,请打开终端并:
 sudo apt-add-repository ppa:izx / askubuntu -y
 sudo apt-get update
 sudo apt-get install unity
  • 您可以在Compiz的Unity插件中启用“显示桌面图标”设置(使用ccsm )以获取左侧启动器上的图标:

    在此处输入图像描述

  • 如果/当发布新的Unity更新时,Update Manager将自动下载它。 我将尝试“修复”更新并尽快将其放入PPA中; 如果您升级并在切换器中重新出现“显示桌面”,请在此答案中添加注释以提醒我!

你是怎么做到的?

我修改了Unity Source。 它包括两个步骤:

  1. 注释掉plugins/unityshell/src/LauncherController.cpp第900行,默认情况下将“Show Desktop”图标添加到切换器:
  // results.push_back(pimpl-> desktop_icon_); 
  1. plugins/unityshell/src/unityshell.cpp更改第1638行:

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

      if(!results.size()== 0)) 
    • 虽然Alt-Tab切换器图标列表之前至少有1个(show-desktop图标),但现在它为0,我们需要修改它以仅在列表中至少有一个项目时显示切换器(即至少有一个应用运行)。

13.04和更新

对于13.04,13.10和14.04,要启用或禁用应用程序切换器中的“显示桌面”选项,您可以使用unity-tweak-tool

安装unity-tweak-tool

PIC

12.10

对于12.10, 已向 CCSM 添加了一个新设置 ,以启用或禁用应用程序切换器中的“显示桌面”选项。

在终端中运行此命令以安装CCSM:

 sudo apt-get install compizconfig-settings-manager 

现在打开CCSM并转到Ubuntu Unity插件。

Ubuntu Unity插件

切换到切换器选项卡。 然后勾选切换器选项中禁用显示桌面旁边的复选框。

禁用show桌面

田田!应用程序切换器中没有“显示桌面”!

在14.04,我能够在CompizConfig设置管理器中完成此任务。

 sudo apt-get install compizconfig-settings-manager 

访问:

  • “桌面”部分列在宽,白,右区域→
  • “Ubuntu Unity插件”项目→
  • “切换器”选项卡→
  • “禁用切换器中的显示桌面”项。

这是一个默认的,非自定义的CCSM直接来自回购。

一种选择可能是恢复到11.10之前Alt + Tab的行为 。

我意识到这有点激烈,但它可能总比没有好。

所以,我不确定这对你是否有任何帮助,但是在使用Unity 2D时,由于没有使用图形驱动程序,我潜入了gnome的后退。 然后不满意,我回到了Unity界面。 我不再在ALT + TAB应用程序切换器中显示“显示桌面”。 我相信这是Gnome界面的副作用,它设置在左下角,当我换回时,我不再拥有它。 似乎为我工作……值得一试。

警告:我让这个工作一次。 当我重新启动时,我有两个统一运行的实例,并且无法弄清楚为什么或如何。 杀死他们没有用,卸载重新安装没有帮助。

我通过安装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 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  # 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,但我想先尝试链接该文件。 我放弃。

我想撤消最好的选择是重新安装统一,这将使标准文件超越。

6)替换文件:

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

7)重新安装unity-greeter。 显然文件rsynced打破了unity-greeter。 这显然需要团结运行。

 sudo apt-get install --reinstall unity-greeter 

如果您使用dconf来管理Unity设置 ,那么此设置的路径(通过dconf watch /检查)是:

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

将此设置为true ,桌面将作为alt-tab选项删除。