Мне очень не хватает функции привязки окна «Aero Snap», представленной в Unity 3D. Есть ли какой-нибудь способ, которым я могу получить его или альтернативу ему в Unity 2D?
источник
Мне очень не хватает функции привязки окна «Aero Snap», представленной в Unity 3D. Есть ли какой-нибудь способ, которым я могу получить его или альтернативу ему в Unity 2D?
Полноценный Aero-snap - это функция compiz.
Если compiz слишком тяжел / проблематичен для вашего ПК, вы можете использовать модифицированный оконный менеджер, такой как xfwm4
Перетаскивая окна вверх / вниз / влево или вправо, окно привязывается к этой части экрана. Перетаскивание через заголовок вернет свой первоначальный размер.
Приятным побочным эффектом использования xfwm4
является то, что вы получаете приятные инструменты для настройки GUI для изменения клавиатуры / декораторов и т.д .:
xfwm4-settings
- стиль / сочетания клавиш / модель фокусировки окна / управление привязкой окнаxfwm4-tweaks-settings
- Велоспорт окна / хороший легкий композитор и многое другоеxfwm4-workspace-settings
- определите количество рабочих мест, которые вы будете использовать.как
Модифицированная привязка окна доступна в моем PPA
sudo add-apt-repository ppa:fossfreedom/xfwm4
sudo apt-get upgrade
sudo apt-get install xfwm4
рекомендация
По умолчанию этот оконный менеджер не интегрируется с глобальным меню.
Два предложения -
Предложение 1:
Удалите глобальное меню, если вы часто используете развернутые окна, поскольку декорации xfwm4 не интегрируются с панелью gnome.
sudo apt-get remove indicator-appmenu
Используйте xfwm4 --replace
в качестве приложения для запуска, чтобы использовать этот оконный менеджер вместо metacity.
Предложение 2:
Используйте maximus
для удаления оформления окна для максимизированных окон в соответствии с этим Q & A:
Это не работает так же хорошо, как функция в Unity 3D, но работает в некоторой степени. Мое решение использует сочетания клавиш, но вместо этого вы могли бы легко использовать привязки краев (т. Е. Слева, справа и сверху), чтобы вызвать эффект.
Установить пакеты. Вставьте (Ctrl + Shift + V) в терминал:sudo apt-get install compizconfig-settings-manager compiz-fusion-plugins-extra wmctrl
Теперь откройте диспетчер настроек Compiz Config (ALT + F2 ccsm или системные> настройки> CompizConfig… и т. Д.). Выберите опцию «Команды».
В 'Командная строка 0' вставьте: -
WIDTH=`xdpyinfo | grep 'dimensions:' | cut -f 2 -d ':' | cut -f 1 -d 'x'` && HALF=$((($WIDTH/2)-10)) && wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -b add,maximized_vert && wmctrl -r :ACTIVE: -e 0,0,0,$HALF,-1
В «Командная строка 1» вставьте: -
WIDTH=`xdpyinfo | grep 'dimensions:' | cut -f 2 -d ':' | cut -f 1 -d 'x'` && HALF=$(($WIDTH/2)) && wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -b add,maximized_vert && wmctrl -r :ACTIVE: -e 0,$HALF,0,$HALF,-1
И в «Командная строка 2» вставьте: -
wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz
Теперь перейдите к «Связыванию клавиш». Нажмите на кнопку «Выполнить команду 0», включите ее и возьмите эту комбинацию клавиш: нажмите «кнопку пуска» и стрелку влево. Сделайте то же самое для всех команд, так что это так:
Примечание: вы можете установить плагин сетки (как в Unity 3D), который позволяет использовать Ctrl + Alt + 6 [Num Pad] и т. Д. Для привязки окон к сетке. Однако я не могу вспомнить, как использовать для этого края окон.
Command
плагин compiz не позволяет&&
. Вместо этого я мог бы решить эту проблему, поместив команды в отдельные файлы .sh и поместив ихsh /path/to/script.sh
в командные строки в compiz.Вы также можете использовать wmctrl для Aero snap, что имеет следующие преимущества:
Я написал скрипт Python для настройки команд. Все, что вам нужно сделать, это:
http://pastebin.com/T6StxqQd
источник
Мне повезло больше с быстротой. Используйте его так же, создайте ярлыки для команды.
http://ssokolow.github.com/quicktile/
источник
--daemonize
помощью встроенной привязки клавиш, и он будет более отзывчивым, потому что не нужно запускать, выполнять действие, а затем выходить при каждом нажатии клавиши.