假设我在另一个虚拟桌面上打开了一个程序。有没有办法通过脚本将该程序带到当前桌面?
以下命令是我能得到的最接近的命令:
wmctrl -a program
这将切换到打开程序的桌面,并使其成为最前面的窗口。但是,我不想转到程序所在的桌面,而是想将程序带到当前桌面。还有这个命令:
wmctrl -R program
文档说这将完成我想要的操作,但它只是执行与前一个命令相同的操作。
答案1
事实证明,-R
使用 Metacity(GNOME 的默认窗口管理器)时,切换工作正常,但使用 Compiz(我相信是 Ubuntu 目前的默认窗口管理器)时,切换工作不正常。您可以使用切换到 Metacity 来亲自检查这一点metacity --replace
(使用compiz --replace
切换回 Compiz)。
令人恼火的是,我一直没能弄清楚为什么这不适用于 Compiz,我仍然认为分享我迄今为止发现的内容会很好,即:
对我来说,
wmctrl -d
列出的桌面几何尺寸 (DG) 为 7680x1200(我的分辨率为 1920x1200 并使用 4 个工作区)。wmctrl -e 0,1920,-1,-1,-1
在这种情况下,可以使用(重力、左侧像素、顶部像素、窗口宽度、窗口高度——该值-1
用于指示当前值不应修改)将窗口移动到第二个工作区。您还可以使用
wnckprop
或xwininfo
获取当前窗口的几何值。激活插件后
Put
,可以使用以下命令将当前活动/焦点窗口移动到第二个工作区(视口?):dbus-send --type=method_call --dest=org.freedesktop.compiz /org/freedesktop/compiz/put/allscreens/put_viewport_2_key org.freedesktop.compiz.activate
就是这样了,希望其他人可以对此事提供更多见解。
有关的
资源