Создать пользовательскую привязку клавиш к окну оснастки

Существует ярлык для привязки окна к любой половине экрана: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

Примечание. Изменение размера выполняется относительно текущей позиции и размера окна. Чтобы сделать его по отношению к размеру экрана, разверните окно, а затем выполните сценарий.

Другие вопросы по тегам