XFCE:从任务栏隐藏应用程序

XFCE:从任务栏隐藏应用程序

我正在运行 Xubuntu 14.04.2,并使用默认窗口按钮小程序运行标准窗口管理器xfce4-panel。我需要从任务栏隐藏应用程序,以便它仅出现在菜单上Alt-Tab,而不出现在面板上。

有想法如何实现吗?我知道这是可行的,因为日历实用程序 Orage 内置了此选项。应该可以进行修改,并使任何应用程序都可以实现此功能。

答案1

从任务栏中删除特定窗口的最快和最简单的方法是使用:SELECT:wmctrl 中的特殊字符串:

wmctrl -r :SELECT: -b add,skip_taskbar

...现在您只需单击要隐藏的窗口。

如果需要将此窗口返回到任务栏,请使用

wmctrl -r :SELECT: -b remove,skip_taskbar

资料来源:

答案2

不使用魔鬼派的方法 (2):

  • 做:

    xprop | grep "CLASS"
    

    并单击要从任务栏中删除的窗口。

  • 这将返回类似WM_CLASS(STRING) = "name", "name"

  • 做一个程序启动脚本或者运行一次,取决于您的喜好:

    wmctrl -x -r name.name -b add,skip_taskbar
    

资料来源:

答案3

魔鬼派据说是完成此操作的最简单方法,但它在 Xubuntu 或 Xfce 中无法按预期工作。同样适用于魔鬼派2

设置要求

确保“skip”属性不是由窗口管理器处理。这在 Xfce 中是必需的,但在其他桌面环境中可能不需要。

在 Xfce 中,转到设置管理器 > 窗口管理器调整 > 循环并寻找此选项跳过设置了“跳过分页器”或“跳过任务栏”属性的窗口并禁用该选项(复选框为空)。如果该选项保持启用状态(复选框已填入),则应用程序将完全隐藏,这将产生“错误结果”,如中所述我原来的答案

使用魔鬼派

例如,从任务栏隐藏 Xfce4 词典应用程序窗口。

  1. 打开文本编辑器并输入以下内容。

    (if (is (application_name) "xfce4-dict") (skip_tasklist))
    
  2. 另存为$HOME/.devilspie/hide.ds(文件名可以是任何名称,但必须有.ds扩展名)。

  3. devilspie在终端中运行。

在步骤 1 中,另一种方法是使用(window_name) "Dictionary"与标题栏中显示的文本相匹配的文本。但有些应用程序会根据内容更改文本,因此(application_name)最好使用。

使用 Devilspie2

相同示例适用于使用 Devilspie2。

  1. 打开文本编辑器并输入以下内容。

    if (get_application_name()=="xfce4-dict") then
       set_skip_tasklist(true);
    end
    
  2. 另存为$HOME/.config/devilspie2/skip.lua(文件名可以是任何名称,但必须有.lua扩展名)。

  3. devilspie2在终端中运行。

哪一个:Devil's Pie 还是 Devilspie2

使用其中任意一种,用户喜欢哪种就使用哪种。Devil's Pie 和 Devilspie2 具有相似的功能,但是,每个脚本都不同且彼此不兼容。Devilspie2 查找 LUA 脚本,不支持原始 Devil's Pie 的规则。

  • 两者都可以在任何受支持的 Ubuntu 版本的 Universe 存储库中找到,这个 Ubuntu 软件包搜索结果

  • 两者都有-d详细输出选项,可以打印调试信息。Devilspie2 还有更多选项,例如指定文件夹来查找默认路径之外的脚本的选项$HOME/.config/devilspie2

  • 针对原始发帖者在 2015 年提出的问题,两者都已在 Xubuntu 14.04(Xfce 4.10)中进行了测试。

开发状态本 GNOME Wiki注意到 Devil's Pie 并没有真正得到维护,同样开发者网站值得注意的是 0.22 版本是 2007 年底更新的最后一个版本。此变更日志Launchpad 上指出,新的维护者正在处理 Devil's Pie 0.22-2 版本。

相关内容