Существует ярлык для привязки окна к любой половине экрана: Ctrl + Super + Left kbd> или Ctrl + Super + Right kbd>. Мой первый вопрос, как этот ярлык определяется в системе? Все сочетания клавиш по умолчанию определены в gsettings
, но этого нет.
Теперь перейдем к основному вопросу. Выше ярлык привязывается к половине экрана. Я хочу, чтобы ярлык привязал его к 75%. Как я могу это сделать? И если я хочу определить новый ярлык для привязки к 75%, то каким будет путь?
Я смог заставить его работать с помощью 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
Примечание: Изменение размеров работает относительно текущего положения окна и размера. Для создания его относительно размера экрана максимизируйте окно, затем выполняют сценарий.