![创建自定义键绑定以捕捉窗口](https://linux22.com/image/1087228/%E5%88%9B%E5%BB%BA%E8%87%AA%E5%AE%9A%E4%B9%89%E9%94%AE%E7%BB%91%E5%AE%9A%E4%BB%A5%E6%8D%95%E6%8D%89%E7%AA%97%E5%8F%A3.png)
有一个快捷方式可以将窗口捕捉到屏幕的一半
Ctrl + Super + Left或Ctrl + 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"
检查手册页wmctrl
和xdotool
教程以了解它们的工作原理。使用安装依赖项
sudo apt-get install apcalc wmctrl xdotool
注意:调整大小是相对于当前窗口位置和大小进行的。要使其相对于屏幕大小,请最大化窗口,然后执行脚本。