我使用 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 是第二个屏幕)。