Compiz-boxmenu - меню в духе openbox\xfce для Compiz
Используя Gnome уже несколько месяцев, мне очень сильно нехватало столь удобного меню, как в openbox или xfce. Эта, казалось бы мелочь была для меня крайне удобна. Очень долго я откладывал процесс поиска какой либо программы для Gnome которая бы могла отображать подобное меню. Медленно, лениво и неспешно поиски продолжались до сегодняшнего дня. Сегодня на ЛОР'е был скриншот, на котором skai-falkorr демонстрировал работу модуля для compiz - compiz-boxmenu. Этот модуль оказался именно тем, что мне нужно. После работы, я незамедлительно сел разбираться и устанавливать себе сие чудо. Собственно о процессе установки, настройки, возможностей и об использовании рассказывается далее.
Выглядит сие чудо так:
Проект является форком compiz-deskmenu. Из заявленных возможностей:
- Поддержка иконок
- Пайпы
- Список открытых окон
- Список рабочих столов
- Список недавно открытых документов
Страничка проекта располагается здесь, а скачать архив с исходным кодом можно здесь - http://sourceforge.net/projects/compizboxmenu/.
Скачиваем, распаковываем. Затем поставим недостающие пакеты:
sudo apt-get install libwnck-dev python-lxml libgtk2.0-dev libdbus-1-dev
Первый нужен собственно для работы compiz-boxmenu. Второй пакет необходим для работы compiz-boxmenu-editor - графический редактор элементов меню.
Переходим в директорию с исходным кодом:
cd compiz-boxmenu
И наконец соберём:
make sudo make install
Модуль установлен и готов к работе. Для "ленивых", разработчики добавили небольшой скрипт autoconfig-compiz.py. Он изменяет ряд настроек, а именно:
- Команды > Вкладка команды > Командная строка 0 устанавливает в "compiz-boxmenu"
- Команды > Комбинации клавиш > Выполнить команду 0 устанавливает в "
space" - Переключатель рабочих мест > Plugin for initiate action устанавливает в "core"
- Переключатель рабочих мест > Action name for initiate устанавливает в "run_command0_key"
Я был из ленивых, поэтому воспользовался скриптом.
python autoconfig-compiz.py
Но затем сменил комбинацию клавиш на Ctrl-Q. Меню уже работает. Можете вызвать его нажав Ctrl-Space или используя другую комбинацию клавиш если меняли.
Чтобы вызывать меню по правому клику на рабочем столе, необходимо изменить ещё несколько настроек:
- Переключатель рабочих мест > Plugin for initiate action установить в "commands"
- Переключатель рабочих мест > Удостовериться что Action name for initiate установлено "run_command0_key"
- Переключатель рабочих мест > Изменить Initiate Plugin Action на "Button3"
На всякий случай несколько скриншотов с настройками:
Как видно из скриншотов выше, compiz-boxmenu - это команда. Дело в том, что compiz-boxmenu делится на демона dbus который постоянно находится в памяти, и несколько исполняемых файлов которые подключаются через dbus к демону и вызывают меню. Собственно само меню вызывается с помощью compiz-boxmenu, но так же есть: compiz-boxmenu-vplist - список рабочих столов, compiz-boxmenu-dlist - список недавно отрытых документов и compiz-boxmenu-wlist - со списком окон. Графический настройщик меню - compiz-boxmenu-editor.
Теперь о настройке. Графический настройщий меню крайне прост, лёгок и удобен. Выглядит он так:
Элементы меню оттуда настраиваются как я уже выше писал легко и удобно. Однако, тыкать кнопочки я не сильно люблю, поэтому добавлял элементы по старинке через конфиг:
mkdir ~/.config/compiz/boxmenu cp /etc/xdg/compiz/boxmenu/menu.xml ~/.config/compiz/boxmenu/menu.xml
Дефолтный конфиг выглядит так:
<menu>
<item type="launcher">
<name>_Epiphany</name>
<icon>gnome-web-browser</icon>
<command>epiphany</command>
</item>
<item type="launcher">
<name>_Terminal</name>
<icon>gnome-terminal</icon>
<command>gnome-terminal</command>
</item>
<menu name="E_xtras">
<item type="launcher">
<name>Te_xt Editor</name>
<icon>accessories-text-editor</icon>
<command>gedit</command>
</item>
<item type="launcher">
<name>_Aisleriot Solitaire</name>
<icon>gnome-aisleriot</icon>
<command>sol</command>
</item>
</menu>
<separator/>
<item type="windowlist"/>
<item type="viewportlist"/>
<item type="launcher">
<icon>gtk-edit</icon>
<command>compiz-boxmenu-editor</command>
<name>E_dit</name>
</item>
<item type="reload"/>
</menu>
Он в принципе прост и логичен. Не думаю что у тех, кто редактировал меню в openbox через его menu.xml возникнут какие либо сложности. В любом случае всегда можно воспользоваться графическим редактором меню.