我正在运行 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
资料来源:
- [Muehe][1]的回答对我有帮助
wmctrl -h
[1]:https://askubuntu.com/a/798408/846528
答案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 词典应用程序窗口。
打开文本编辑器并输入以下内容。
(if (is (application_name) "xfce4-dict") (skip_tasklist))
另存为
$HOME/.devilspie/hide.ds
(文件名可以是任何名称,但必须有.ds
扩展名)。devilspie
在终端中运行。
在步骤 1 中,另一种方法是使用(window_name) "Dictionary"
与标题栏中显示的文本相匹配的文本。但有些应用程序会根据内容更改文本,因此(application_name)
最好使用。
使用 Devilspie2
相同示例适用于使用 Devilspie2。
打开文本编辑器并输入以下内容。
if (get_application_name()=="xfce4-dict") then set_skip_tasklist(true); end
另存为
$HOME/.config/devilspie2/skip.lua
(文件名可以是任何名称,但必须有.lua
扩展名)。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 版本。