将窗口移动到所有桌面的命令

将窗口移动到所有桌面的命令

我希望能够使用可编写脚本的命令将现有窗口移动(固定)到所有桌面,而不是通过窗口菜单。

wmctrl -r <WIN> -t <DESK>会将窗口移动到不同的桌面,但我还没有找到一种方法来使用它来使窗口显示在所有桌面上。 wmctrl -l显示-1为所有桌面上显示的窗口的桌面编号,但传递-1-t不起作用。

未解决的 Fedora 错误报告似乎解决了这个问题:显然 -1 值由 内部使用wmctrl,因此不能传递给-t.该错误报告还提到,可以通过为目标窗口指定一些窗口管理器来固定窗口财产。但是,我正在运行 openbox,这种方法似乎对我不起作用。实际上,该错误报告中已发布了一个补丁;我还没有尝试过使用它。这是 2009 年的事情。我宁愿避免打补丁wmctrl或做其他事情。

是否有另一种方法可以在 openbox 下编写此行为的脚本?

答案1

就像一位用户在评论中所说的那样,wmctrl自 2005 年 10 月以来就没有被触及过。该功能很可能当时有效,但后来由于周围的软件包发生变化而被破坏。

这是wmctrl 变更日志

答案2

xdotool search --name xyz set_desktop_for_window 4294967295

答案3

从 wmctrl v1.07 开始,-t -2对我有用。

答案4

FWIW,wmctrl ... -t ... 也不是 wmctrl ... -b Sticky ... 也不是 xdotool search --name ... set_desktop_for_window 4294967295 与 LXDE 和 Openbox 一起使用(在我的安装上 - Devuan Beowulf)。
尽管如此,使用 Devilspie 或在 Openbox 的 rc.xml 中设置适当的属性非常有效。 (注:我的意思是真正的devilspie,而不是devilspie2。根据我的经验,devilspie2有时会表现出错误,而devilspie则不会。)

相关内容