Как получить Aero Snap в Unity 2D?

19

Мне очень не хватает функции привязки окна «Aero Snap», представленной в Unity 3D. Есть ли какой-нибудь способ, которым я могу получить его или альтернативу ему в Unity 2D?

Shibumi
источник

Ответы:

8

11.10 и выше

Полноценный 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:

Mutter: глобальная интеграция меню

fossfreedom
источник
3

Это не работает так же хорошо, как функция в Unity 3D, но работает в некоторой степени. Мое решение использует сочетания клавиш, но вместо этого вы могли бы легко использовать привязки краев (т. Е. Слева, справа и сверху), чтобы вызвать эффект.

  1. Установить пакеты. Вставьте (Ctrl + Shift + V) в терминал:sudo apt-get install compizconfig-settings-manager compiz-fusion-plugins-extra wmctrl

  2. Теперь откройте диспетчер настроек Compiz Config (ALT + F2 ccsm или системные> настройки> CompizConfig… и т. Д.). Выберите опцию «Команды».

  3. В 'Командная строка 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
    
  4. В «Командная строка 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
    
  5. И в «Командная строка 2» вставьте: -

    wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz
    
  6. Теперь перейдите к «Связыванию клавиш». Нажмите на кнопку «Выполнить команду 0», включите ее и возьмите эту комбинацию клавиш: нажмите «кнопку пуска» и стрелку влево. Сделайте то же самое для всех команд, так что это так:

    • Выполнить команду 0 ~ влево
    • Выполнить команду 1 ~ вправо
    • Run Command 2 ~ Top

Примечание: вы можете установить плагин сетки (как в Unity 3D), который позволяет использовать Ctrl + Alt + 6 [Num Pad] и т. Д. Для привязки окон к сетке. Однако я не могу вспомнить, как использовать для этого края окон.

Негативная форма
источник
1
это работает для кого-то? ура
введите
Не думайте, что это работает для Unity2D, о которой ОП четко заявил. Я немного сбит с толку относительно того, к чему относится отрицательная форма.
chzbrgla
Я не мог заставить поведение работать в Unity 2D с вышеупомянутым решением. Команды хороши, когда выдают их из окна терминала, но Commandплагин compiz не позволяет &&. Вместо этого я мог бы решить эту проблему, поместив команды в отдельные файлы .sh и поместив их sh /path/to/script.shв командные строки в compiz.
Кристиан Скьёдт,
2

Вы также можете использовать wmctrl для Aero snap, что имеет следующие преимущества:

  1. Вам не нужно связываться с Compiz.
  2. Вы можете запустить его из Gnome (Unity2D), не устанавливая другой оконный менеджер.

Я написал скрипт Python для настройки команд. Все, что вам нужно сделать, это:

  1. Отрегулируйте разрешение в соответствии с вашим дисплеем
  2. Назначьте сочетания клавиш для команд, которые он создает

http://pastebin.com/T6StxqQd

clockworkpc
источник
1

Мне повезло больше с быстротой. Используйте его так же, создайте ярлыки для команды.

http://ssokolow.github.com/quicktile/

Стивен
источник
Вы также можете запустить его с --daemonizeпомощью встроенной привязки клавиш, и он будет более отзывчивым, потому что не нужно запускать, выполнять действие, а затем выходить при каждом нажатии клавиши.
ssokolow