小智 8
Devil's Pie被认为是完成此任务的最简单方法,但具体而言,它在 Xubuntu 或 Xfce 中无法按预期工作。这同样适用于Devilspie2。
确保窗口管理器不处理“skip”属性。这在 Xfce 中是必需的,但在其他桌面环境中可能不需要。
在 Xfce 中,转到“设置管理器”>“窗口管理器调整”>“循环”并查找此选项“跳过设置了“跳过寻呼机”或“跳过任务栏”属性的窗口并禁用该选项(复选框为空)。如果该选项保持启用状态(复选框已填充),则应用程序将完全隐藏,这将给出“错误结果”,如我原始答案中所述。
例如,从任务栏隐藏 Xfce4 Dictionary 应用程序窗口。
打开文本编辑器并键入以下内容。
(if (is (application_name) "xfce4-dict") (skip_tasklist))
Run Code Online (Sandbox Code Playgroud)另存为$HOME/.devilspie/hide.ds(文件名可以是任何名称,但必须有.ds扩展名)。
在终端中运行devilspie。
在步骤 1 中,另一种方法是使用与(window_name) "Dictionary"标题栏中显示的文本相匹配的文本。但有些应用程序会根据内容更改文本,因此(application_name)优先使用。
同一示例适用于使用 Devilspie2。
打开文本编辑器并键入以下内容。
if (get_application_name()=="xfce4-dict") then
set_skip_tasklist(true);
end
Run Code Online (Sandbox Code Playgroud)另存为$HOME/.config/devilspie2/skip.lua(文件名可以是任何名称,但必须有.lua扩展名)。
在终端中运行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
资料来源:
从任务栏中删除特定窗口的最快和最简单的方法是使用: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)
来源:
wmctrl -h