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

yam*_*tau 10 xfce panel applet xubuntu

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

关于如何做到这一点的任何想法?我知道这是可能的,因为日历实用程序 Orage 内置了此选项。应该可以修补并使任何应用程序都可以做到这一点。

小智 8

Devil's Pie被认为是完成此任务的最简单方法,但具体而言,它在 Xubuntu 或 Xfce 中无法按预期工作。这同样适用于Devilspie2

设置要求

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

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

使用魔鬼派

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

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

    (if (is (application_name) "xfce4-dict") (skip_tasklist))
    
    Run Code Online (Sandbox Code Playgroud)
  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
    
    Run Code Online (Sandbox Code Playgroud)
  2. 另存为$HOME/.config/devilspie2/skip.lua(文件名可以是任何名称,但必须有.lua扩展名)。

  3. 在终端中运行devilspie2

哪一个:Devil's Pie 或 Devilspie2

根据用户的喜好选择其中之一。Devil's Pie 和 Devilspie2 具有相似的功能,但是每个脚本都不同并且彼此不兼容。Devilspie2 寻找LUA 脚本,并且不支持原始Devil's Pie 的规则。

  • 根据此 Ubuntu Packages 搜索结果,两者都可以在任何受支持的 Ubuntu 版本的 Universe 存储库中找到。

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

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

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


小智 7

没有恶魔馅饼的方法(2):

  • 做:

    xprop | grep "CLASS"

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

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

  • 根据您的喜好制作程序启动脚本或运行一次:

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

资料来源:


Ole*_*les 5

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

wmctrl -r :SELECT: -b add,skip_taskbar
Run Code Online (Sandbox Code Playgroud)

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

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

wmctrl -r :SELECT: -b remove,skip_taskbar
Run Code Online (Sandbox Code Playgroud)

来源:

  • Muehe答案对我有帮助
  • wmctrl -h