привязка ключа гнома к третьему размеру окна - PullRequest
0 голосов
/ 12 декабря 2018

Я хотел бы создать привязки клавиш, которые устанавливают текущий размер окна на одну треть размера экрана по горизонтали и максимальному по вертикали и размещают его на левой, средней или правой трети экрана.Как я мог это сделать?

1 Ответ

0 голосов
/ 18 декабря 2018

xbindkeys и xdotool

С xbindkeys вы можете использовать shortctus независимо от оконного менеджера.xdotool позволяет перемещать и изменять размеры окон.

Установить его с помощью:

sudo apt-get install xbindkeys 
sudo apt-get install xdotool 

Конфигурация по умолчанию

Настройки по умолчанию показывают, какие ярлыки привязокможет выглядеть так.Создайте его и посмотрите на содержимое файла.

xbindkeys --defaults > ~/.xbindkeysrc

Используйте редактор для редактирования ~ / .xbindkeysrc и введите:

"/bin/bash ~/placewindow.sh left"
    control + l

"/bin/bash ~/placewindow.sh middle"
    control + m

"/bin/bash ~/placewindow.sh right"
    control + r

Создать скрипт оболочки

Создание сценария оболочки с текстовым редактором, для нашего случая использования я назвал его ~ / placewindow.sh:

#!/bin/bash

width=`xdpyinfo | grep dimensions | sed -r 's/^[^0-9]*(([0-9]+)x([0-9]+)).*$/\2/'`
height=`xdpyinfo | grep dimensions | sed -r 's/^[^0-9]*(([0-9]+)x([0-9]+)).*$/\3/'`

case "$1" in
    left)       
       xdotool windowsize `xdotool getactivewindow` `expr $width / 3` $height
       xdotool windowmove `xdotool getactivewindow` 0 0
       ;;
    middle)
       xdotool windowsize `xdotool getactivewindow` `expr $width / 3` $height
       xdotool windowmove `xdotool getactivewindow` `expr $width / 3` 0
       ;;
    right)
       xdotool windowsize `xdotool getactivewindow` `expr $width / 3` $height
       xdotool windowmove `xdotool getactivewindow` `expr $width \* 2 / 3` 0
       ;;
esac

Сделать его исполняемым:

chmod +x placewindow.sh

Подсказки

После внесения изменений в ~ / .xbindkeysrc вам необходимо набрать

killall xbindkeys
xbindkeys 

, чтобы изменения сразу же стали активными.

Демонстрация

При нажатии теперь CTRL + l, CTRL + m или CTRL + r активное окно имеет размер и местоположение.Это выглядит так:

window sizing demo

...