当窗口全尺寸时,xdotool `windowsize` 和 `windowmove` 在 GNOME 中不起作用

当窗口全尺寸时,xdotool `windowsize` 和 `windowmove` 在 GNOME 中不起作用

我有一些键盘快捷键,它们可以在屏幕上平铺窗口。表面上看,它们只是执行各种xdotool命令。

例如,下面将当前窗口移动到屏幕的左半部分:

xdotool getactivewindow windowsize 50% 100% && xdotool getwindowfocus windowmove 0 0

在大多数情况下,这种方法效果很好,但我注意到,当某个窗口为“全尺寸”时,这种方法就不起作用了。澄清:所谓“全尺寸”,是指双击窗口标题时窗口状态会扩展为全尺寸,不一定是全屏。

为了使快捷方式工作,我必须将窗口调整到较小的尺寸,或者双击窗口标题栏以再次缩小尺寸,然后它又可以正常工作了。GNOME 似乎“固定”了一个全尺寸屏幕,使其不受xdotool命令的影响。

有什么办法可以解决这个问题吗?还有其他xdotool命令可以实现这一点吗?

谢谢!

答案1

在脚本中,您需要确保窗口未最大化。在使用 进一步操作之前,请先删除maximized_vertmaximized_horz使用。wmctrlxdotool

wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && \
  xdotool getactivewindow windowsize 50% 100% && \
  xdotool getwindowfocus windowmove 0 0

以上内容适用于 X.Org。我想告诉其他读者,这些工具在 Wayland 上只能以非常有限的方式工作。

相关内容