创建自定义键绑定以捕捉窗口

创建自定义键绑定以捕捉窗口

有一个快捷方式可以将窗口捕捉到屏幕的一半 Ctrl + Super + LeftCtrl + Super + Right。我的第一个问题是这个快捷方式在系统中是如何定义的?所有默认快捷方式都在 中定义,gsettings但这个快捷方式不存在。

现在回到主要问题。上面的快捷方式捕捉到半屏。我希望快捷方式将其捕捉到 75%。我该怎么做?如果我想定义一个新的快捷方式来捕捉到 75%,那么方法是什么?

答案1

我能够使用wmctrl和使其工作xdotool。两者都是窗口操作工具。

#!/bin/bash
WIN=$(xdotool getactivewindow)
eval $(xdotool getwindowgeometry --shell $WIN)
WIDTH=$(calc "int($WIDTH*0.75)")
wmctrl -r :ACTIVE: -b remove,maximized_horz,sticky
wmctrl -r :ACTIVE: -e "0,0,24,$WIDTH,-1"

上述脚本将窗口捕捉到其大小的 75% 到左侧。将上述脚本保存在文件中并为该文件指定快捷方式。

同样,按照脚本将窗口捕捉到右侧 25% 宽度的位置。

#!/bin/bash
WIN=$(xdotool getactivewindow)
eval $(xdotool getwindowgeometry --shell $WIN)
X=$(calc "int($WIDTH-$WIDTH*0.25)")
WIDTH=$(calc "int($WIDTH*0.25)")
wmctrl -i -r $WINDOW -b remove,maximized_horz
wmctrl -i -r $WINDOW -e "0,$X,-1,$WIDTH,-1"

检查手册页wmctrlxdotool教程以了解它们的工作原理。使用安装依赖项

sudo apt-get install apcalc wmctrl xdotool

注意:调整大小是相对于当前窗口位置和大小进行的。要使其相对于屏幕大小,请最大化窗口,然后执行脚本。

相关内容