Есть сочетание клавиш для привязки окна либо к половине экрана
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"
Проверьте man-страницы wmctrl
и xdotool
руководства, чтобы узнать, как они работают. Установите зависимости с помощью
sudo apt-get install apcalc wmctrl xdotool
Примечание: Изменение размера работает относительно текущего положения и размера окна. Чтобы сделать это относительно размера экрана, разверните окно и выполните скрипт.