Расширенное размещение окон
TLDR Я ищу Ubuntu замену оконной панели
Я знаю, что расположение окон можно определить с помощью Ctrl
-Alt
-Numpad#
а также Ctrl
-Super
-arrow
Но это не достаточно. У меня есть CompizConfig > Цикл через несколько размеров
Но я хочу назначить горячую клавишу, чтобы сделать окно слева, полная высота, 1/3 ширины. То же самое для права. и один для середины. Я привык использовать Windowpad (на окнах), который позволяет мне определять практически все что угодно. И я так привык к этому.
Есть ли способ настроить это?
Уточнить уточнить Речь идет не об открытии окон, а о текущих активных окнах.
1 ответ
Похоже, вы ищете xdotool
или же wmctrl
, Это инструменты, которые позволяют создавать сценарии различных взаимодействий с графическим интерфейсом. Оба могут быть установлены из репозиториев, вы можете использовать тот, который вы предпочитаете:
sudo apt-get install wmctrl xdotool
У меня дисплей 1920 x 1080, поэтому 1/3 ширины будет 640. Чтобы разместить активное окно с левой стороны экрана, на полную высоту и 1/3 ширины, я бы запустил:
wmctrl -r :ACTIVE: -e 0,0,0,640,1080
Формат объясняется в man wmctrl
:
-r <WIN>
Specify a target window for an action.
-e <MVARG>
Resize and move a window that has been specified with a -r action
according to the <MVARG> argument.
[...]
<MVARG>
A move and resize argument has the format 'g,x,y,w,h'. All five components are integers.
The first value, g, is the gravity of the window, with 0 being the
most common value (the default value for the window). [...]
The four remaining values are a standard geometry specification: x,y
is the position of the top left corner of the window, and w,h
is the width and height of the window [...].
<WIN>
This argument specifies a window that is the target of an action. [...]
The window name string :ACTIVE: may be used to instruct wmctrl to
use the currently active window for the action.
Вы также можете сделать его более динамичным, автоматически определяя ширину. Эта команда печатает ширину вашего дисплея:
$ xrandr | grep -Po 'current\s*\K\d+'
1920
Поэтому вы можете интегрировать его в wmctrl
как это:
wmctrl -r :ACTIVE: -e 0,0,0,$(($(xrandr | grep -Po 'current\s*\K\d+')/3)),1080
Теперь все, что вам нужно сделать, это назначить эту команду сочетанию клавиш из настроек Unity, и все готово.