如何检测当前可见工作区何时切换?

如何检测当前可见工作区何时切换?

我正在使用 Ubuntu 14.10,希望能够在不同的工作区上使用不同的屏幕分辨率。我考虑编写一个脚本/守护进程,xrandr每当检测到切换时都会调用它——问题是,如何检测更改?

答案1

问题标记为提供答案确实为我的具体问题提供了充足的解决方案,但这是一个稍微狭窄的问题。为了社区的利益,我将以更一般的方式总结与这个更广泛问题相关的部分:

所需工具是wmctrl(可通过 安装apt-get install wmctrl)。wmctrl -d提供有关当前桌面的信息,包括(DG)虚拟桌面的总大小(即所有工作区的总大小)和(VP)当前工作区左上角相对于虚拟桌面的绝对位置。当前活动工作区的列可以通过将 VP 的 x 坐标除以当前屏幕分辨率的水平部分来确定。当前工作区的行可以使用 VP 的 y 坐标和当前分辨率的垂直部分来计算。要检测切换,应该使用 while 循环不断检查当前工作区的行和列,并确定它是否已更改/是否满足某个测试。

相关内容