我知道Always on visible workspace但是我希望所有窗口在打开时都将其作为默认设置,但有一些例外。
我正在寻找的工作流程几乎与它的工作方式相反。显示所有工作区上的所有内容,但有一些(手动)例外。
可能吗?如果它需要一些脚本,我可能不会介意。
我正在运行带有肉桂的 Ubuntu 17.04,但是 afaik 这个功能存在于统一和大多数桌面环境中。
我知道Always on visible workspace但是我希望所有窗口在打开时都将其作为默认设置,但有一些例外。
我正在寻找的工作流程几乎与它的工作方式相反。显示所有工作区上的所有内容,但有一些(手动)例外。
可能吗?如果它需要一些脚本,我可能不会介意。
我正在运行带有肉桂的 Ubuntu 17.04,但是 afaik 这个功能存在于统一和大多数桌面环境中。
有趣的案例。
我们需要考虑什么
这个概念并不复杂:只需将所有窗口设置为粘性,但是:
wmctrl -l
还显示了一些窗口类型,例如 DOCK 和 DESKTOP,您通常不应该编辑它们的属性。示例脚本 (python)
在下面的脚本中:
一个两秒的循环运行以将窗口列表与前一个进行比较,使用:
然后从每一行中提取窗口 id
随后,脚本运行
在其中我们可以找到关于
_NET_WM_WINDOW_TYPE
和的信息WM_CLASS
由于脚本只作用于新创建的窗口,它不会给您的系统增加任何明显的负担。
剧本
如何设置
确保
wmctrl
已安装:set_sticky.py
WM_CLASS
-ses 设置为排除(您可能想要删除猴子,它是出于测试目的:))测试 - 使用以下命令运行它:
如果一切正常,您可以将其添加到启动应用程序,但请确保添加一个小中断以防止脚本在尚未准备好的桌面上中断:
玩得开心 :)
笔记
我在 Ubuntu Budgie (mutter) 上测试了 25 分钟,没有出现任何问题。它应该在任何窗口管理器上运行良好,但如果您遇到问题,只需提及。