Как "защелкнуть" окна сверху и снизу?
Можно аккуратно распределить пространство экрана в левой и правой частях, перетаскивая окно до тех пор, пока курсор не коснется левого или правого края экрана, и окно автоматически "защелкнется" на этой половине экрана. Как мне добиться такой же функциональности, чтобы разделить пространство экрана в "верхней" и "нижней" половинах вместо левой и правой?
Я не могу сделать это при перетаскивании окна, пока курсор не коснется верхней или нижней части экрана. Перетаскивание к вершине заставляет окно максимизироваться. Перетаскивание в нижнюю часть просто опускает остальную часть этого окна в нижнее "пространство экрана рабочего стола".
(Пожалуйста, исправьте мою терминологию, если есть определенные слова, которые я должен использовать.)
1 ответ
Несколько лет назад я хотел добиться функции моментального окна в Lubuntu 14.04. Я думаю, вам нужен openbox, чтобы это работало.
Посмотрите на https://github.com/lawl/opensnap
Ниже приводится краткое описание процедуры установки, приведенной на этой странице:
Установка
Если вы хотите установить opensnap Сначала убедитесь, что у вас установлен git. (Или загрузите ZIP-файл: https://github.com/lawl/opensnap/archive/master.zip)
Получить через git:
git clone https://github.com/lawl/opensnap.git
Получить через почтовый индекс:
wget https://github.com/lawl/opensnap/archive/master.zip
распакуйте master.zip
Убедитесь, что у вас есть все предпосылки:
sudo apt-get install build-essential libx11-dev libgtk-3-dev wmctrl
И, наконец, соберите и установите его:
cd opensnap*
make
sudo make install
А теперь начните с
opensnap
или же
opensnap --deamon
если вы хотите, чтобы это демонизировалось.
Если я хорошо помню, была ошибка при попытке отсоединить привязанное окно. Посмотрите на https://github.com/lawl/opensnap/issues/4 описанный обходной путь.
В моем случае Lubuntu 14.04 пришлось модифицировать /home/user/.config/openbox/lubuntu-rx.xmlКод между тегами <mousebind button="Left" action="Drag"> а также </mousebind> должен быть обменен:
<mousebind button="Left" action="Drag">
<!-- Unsnap if snapped-->
<action name="if">
<maximizedvertical>yes</maximizedvertical>
<then>
<action name="Unmaximize"/>
<direction>vertical</direction>
<action name="MoveResizeTo">
<x>center</x>
<!-- we center windows in order to mitigate discrepancies
between window placement and mouse cursor -->
<y>current</y>
</action>
<action name="Move"/>
</then>
<else>
<action name="Move"/>
</else>
</action>
</mousebind>
Убедитесь, что вы находитесь внутри тегов <context name="Titlebar">