识别每个显示器的应用程序

识别每个显示器的应用程序

我有一个跨越两个显示器的桌面

右侧显示器处于待机模式(屏幕为黑屏),仅在需要时才激活

有时,应用程序会在待机模式下在右侧显示器上打开,但碰巧未被注意到

如何确定任何应用程序是否在正确的显示器上运行?


Debian 11.5 Bullseye、Openbox、LXDE、tint2


旁注:

我配置了“单独的任务栏”:左侧显示器上的应用程序显示在左侧任务栏中,右侧显示器上的应用程序显示在右侧任务栏中

如果我让所有应用程序出现在左侧任务栏中,则右侧显示器上的应用程序不会被忽视,但任务栏的分隔不应更改

另外,如果我中键单击桌面,另一台显示器上的任何应用程序都会显示,但我需要意识到需要这样做

答案1

感谢@meuh的提示,我检查了devilspie2,然后是devilspie,然后我意识到必须查询X窗口id,我用xwininfo尝试失败,然后用xdotool尝试,然后用wmctl成功:

wmctrl -l -G

提供所有活动窗口的几何形状,其中 x 值位于第三列(输出缩短):

...
0x0300000e  0 190  ...
0x0340000e  0 2110 ...
0x03600003  0 2112 ...

第三列中大于左显示器宽度(此处为 1920)的任何值都是右显示器上的窗口

从这里我可以使用 awk:

wmctrl -l -G | awk '$3 > 1920'

如果输出不为空,则右显示器上至少有一个窗口

相关内容