如何获取当前聚焦的监视器?

如何获取当前聚焦的监视器?

我使用 i3 作为我的 WM,采用双头设置。我已经映射了一些键以在其中一台显示器 (Mod+Keypad 1..8) 上的工作区之间进行切换,并且我想在两台显示器上使用相同的键绑定(每台显示器有 8 个工作区)。

考虑到 i3 无法绑定按键两次,我会使用一个脚本来检测监视器,并通过 i3-msg 发送正确的消息。但是,我需要知道哪个监视器专注于执行此操作。

那么,在这种情况下有没有办法获取焦点监视器的名称呢?

答案1

您可以使用xdotool获取当前光标位置:

$ xdotool getmouselocation --shell
X=463
Y=227
SCREEN=0
WINDOW=29360134

在理想情况下,您的显示器将具有不同的屏幕编号,但如果它们全部列在 SCREEN=0 下,您仍然可以使用 X 位置来检测当前显示器(例如,从 0 到 1919 将是第一个屏幕,从 1920 是第二个屏幕)。

相关内容