How-To. *box'овское контекстное меню в Gnome

Контекстное меню *box'ов, вызываемое по нажатию правой кнопки мыши , очень удобно т.к. дает возможность убрать многочисленные иконки с рабочего стола или же "разгрузить" панели, при этом сохраняя быстрый доступ к часто запускаемым приложениям. Есть несколько способов реализации такого меню и в Gnome.
Итак...
1. Gnome/Openbox.
В данном случаи, в качестве оконного менеджера будет использоваться Openbox, который заменит стандартный Metacity.
Для начала нужно установить Openbox:
sudo aptitude install openbox
После окончания установки необходимо закончить текущий сеанс и во время повторного входа в систему в "Параметры" - "Выбрать сеанс" отметить gnome/openbox. После входа в терминале ввести gconf-editor (или же в меню выбрать "Редактор конфигураций") и найдя apps -> nautilus -> preferences -> show_desktop снять галочку. После чего по нажатию правой кнопки мыши на рабочем столе должно появиться контекстное меню Openbox (для простоты настройки меню, да и самого OB, можно установить ObConf и ObMenu).

2. Compiz-deskmenu.
В данном случаи, в качестве оконного менеджера, должен использоваться сompiz, а контекстное меню будет реализовано с помощью плагина - compiz-deskmenu. В убунтовских репозиториях этого плагина нету, поэтому "собирать" придется самому. Для этого сначала нужно поставить все необходимые пакеты, в терминале:
sudo aptitude install python-lxml libgtk2.0-dev libwnck-dev libdbus-1-dev git-core compizconfig-settings-manager libdbus-glib-1-dev
Далее:
$ cd ~
$ git clone git://anongit.compiz-fusion.org/users/crdlb/compiz-deskmenu
$ cd compiz-deskmenu
$ make
$ sudo make install
На этом установка плагина заканчивается, остается только его включить. Сделать это можно так - набрав в терминале ccsm, или же выбрав в меню - Система - Параметры - Менеджер настройки CompizConfig, перейти в General -> Command -> Command и в строке Command line 0 вставить compiz-deskmenu. Далее настраивается вызов меню по нажатию правой кнопки мыши, для этого необходимо перейти в меню Viewport Switcher, значение в строке Plugin for initiate action заменить на core и в строке Аction name for indiate значение заменить на run_command0_key. После этого можно настроить вызов контекстного меню на любую клавишу или сочетание нескольких клавиш в Initiate plugin action.
Редактировать меню можно выбрав в нем же пункт Edit. Контекстное меню Nautilus можно вызвать сочетание клавиш super+button3 (правая кнопка мыши).

compiz-deskmenu

Так же создание контекстного меню возможно с помощью скриптов для наутилуса, более подробнее здесь (на английском)

UPD. В последних версиях CCSM необходимо включить Commands, (из General меню было вынесено в основное окно) далее добавить значение указанное выше. А в Viewport Switcher, значение в строке Plugin for initiate action заменить на commands (вместо core). Остальное без изменений.

Devilspie или раскидаем "окна" по "столам"

Devilspie - небольшая утилита для управления свойствами окон с возможностью убирать декорацию окон, задавать определенную позицию, размер окна и т.д.
Я использую devilspie для запуска приложений на определенном рабочем столе (к примеру, Gnome-Terminal на рабочем столе №1, Firefox на рабочем столе №2 и т.д.).
Установить можно или через Synaptic или же в терминале ввести:
sudo aptitude install devilspie
После завершения установки необходимо создать папку с настройками программы ~/.devilspie. Файл настроек имеет вид "название.ds" (к примеру, для запуска audacious на рабочем столе №3 создается файл ~/.devilspie/audacious.ds с содержанием:
( if
( is (application_name) "audacious" )
( begin
( set_workspace 3 )
)
)
Чтоб запустить утилиту вводим в терминале devilspie и запускаем audacious - если все было сделано правильно то плеер должен запуститься на 3-ем рабочем столе.
Можно добавить в автозагрузку.
Для devilspai так же есть гуй, скачать можно здесь.
Более подробную информацию можно найти здесь (на английском)

"Легкий" софт для *box

1. Файловый менеджер - PCManFM

2. Просмотр PDF - файлов - ePDFView

3. Просмотр изображений - GPicView

4. Создание снимка экрана - scrot

5. Прослушивание музыки - MPD + Sonata

Материал взят и "испробован" из заметки "Элегантный десктоп" в блоге "Очерки лентяя".О настройке MPD можно прочитать в статье "GTK клиент для MPD" из блога "♠ Крапленая колода"

Openbox

Openbox — открытый менеджер окон для X Window System, распространяемый под лицензией GNU General Public License. Изначально Openbox произошел от Blackbox 0.65.0, но затем был полностью переписан на язык C и с версии 3.0 не базируется на программном коде Blackbox. Openbox позволяет вызывать главное меню по нажатию правой кнопки мышки (или по любому другому назначенному сочетанию клавиш) на рабочем столе, также позволяет пользователям изменять способ управления окнами. Обычно Openbox дополняют различными небольшими программами, которые добавляют иконки, панель задач и другие полезные функции. (Wikipedia)

Openbox (GreyCrows)

1. Для установки:
sudo aptitude install openbox
В папке ~/.config/openbox/ находятся конфигурационные файлы - rc.xml (различные настройки Openbox) и menu.xml (выпадающие меню). Существуют также и общие для всех пользователей файлы с такими же названиями в директории /etc/xdg/openbox/
Для простоты настройки можно использовать gui-приложения - ObConf и ObMenu
sudo aptitude install obconf obmenu
ObConf

ObMenu

2. В Openbox отсутствует панель задач. В качестве таковой, можно использовать PyPanel. Для установки:
sudo aptitude install pypanel
При запуске панели все надписи кириллицей будут квадратами. Это связано со шрифтом, который можно сменить в файле ~/.pypanelrc. Как вариант, на первое время, можно поставить Sans.

3. Для установки фона рабочего стола можно использовать feh (просмоторщик изображений):
sudo aptitude install feh
Поставить фон можно командой: feh --bg-scale /path/to/image.jpg
Для использование выбранного фона при последующих загрузках Openbox необходимо добавить в файл /etc/xdg/openbox/autostart.sh следующую строку:
eval `cat ~/.fehbg` &

4. Для настройки тем окружения в Openbox, используется gtk-chtheme:
sudo aptitude install gtk-chtheme
gtk-chtheme

4.
Диалог запуска программ - gmrun
sudo aptitude install gmrun
gmrun
Вызывается командой gmrun

5. Темы для Openbox
sudo aptitude install openbox-themes
В интернете:
deviantART и Customize.org (много тем для Openbox и не только)

Fluxbox

Fluxbox - простой и минималистичный менеджер окон для X Window System. Fluxbox сделан на базе Blackbox v.0.61.1 и выглядит совершенно похожим на своего предка — те же цвета, расположение окон и 100 % совместимость тем и стилей. Внешне Fluxbox представляет собой чистый рабочий стол с панелью инструментов, на которой находятся: название рабочего стола, часы и список запущенных приложений. Запуск программ осуществляется выбором соответствующего пункта из выпадающего меню, появляющегося после щелчка правой клавишей мыши в любом месте рабочего стола, или набором названия программы во всплывающей строке ввода, вызываемой либо из вышеупомянутого выпадающего меню, либо нажатием горячих клавиш. (Wikipedia)


1. Для установки:
sudo aptitude install fluxbox
Все настройки хранятся в ~/.fluxbox/ (также для правки конфигов можно использовать gui-програму - fluxconf - sudo aptitude install fluxconf):
  • init (настройка внешенего вида - fluxconf);
  • keys (настройка горячих клавиш - fluxkeys);
  • menu (настройка меню - fluxmenu);
  • startup (автозапуск).
Структура файла menu (вызываемого правой кнопкой мыши):
  • [begin] (название заголовка меню)
  • [submenu] (название подзаголовка)
  • [exec] (название приложения) {команда запуска}
  • [end]
  • [nop] (пустая строка, используемая в качестве разделителя)
  • [reconfigure] (команда переконфигурирования оконного менеджера)
  • [restart] (перезапуск оконного менеджера)
  • [exit] (выход из системы)
2. Для того что б во Fluxbox можно было использовать gtk-темы необходимо установить gtk-theme-switch:
sudo aptitude install gtk-theme-switch
Набрав в терминале switch2 можно будет выбрать ранее распакованную gtk-тему из ~/.themes/

3. Диалог запуска программ вызывается по команде:
fbrun
Ключи запуска Fbrun:
[имя шрифта] - шрифт, который будет использоваться в программе;
-title [имя] - заголовок окна;
-text [текст] - загружает текст в окно fbrun;
-w [размер] - ширина окна в пикселах;
-h [размер] - высота окна в пикселах;
-display [имя] - пытается подключится к X-серверу с именем 'имя';
-pos [x] [y] - координаты позиции окна в пикселах;
-fg [имя цвета] - цвет текста;
-bg [имя цвета] - цвет фона;
-a - антилиасинг;
-hf [путь к файлу истории] - файл истории (по умолчанию ~/.fluxbox/fluxbox_history). Если такого файла нет, то необходимо создать, иначе история сохраняться не будет;
-help - показать справку.

4. Для установки фона рабочего стола
надо дать команду:
fbsetbg -f /path/to/image.png
Для того что б выбранный фон загружался при старте Fluxbox надо в файле init в строке session.screen0.rootCommand: вставить fbsetbg -f /path/to/image.png
Ключи Fbsetbg:
-f - установить на весь экран;
-c - центрировать;
-t - размножить;
-r - выбрать случайную картинку из директории;
-l - загрузить последнюю картинку.

Закладки во Fluxbox - это группирование окон различных приложений в одно. То есть, в одном окне может быть загружено 2 или больше пирложений (к примеру, firefox и openoffice). Любое действие над одной закладкой будет применено и на другую (если закрыть firefox то и openoffice тоже будет закрыт) . Для создание закладок используется 3 кнопка мыши (скрол) - для этого надо нажать на заголовке окна скрол и перетащить заголовок на другое окно, потом отпустить. Для удаления - обратные действия.
Для автогруппировки окон при загрузке необходимо в каталоге ~/.fluxbox/ создать файл groups, а в файл init добавить строку session.groupFile: ~/.fluxbox/groups. Потом заполнить файл groups по желанию. Название программ пишется через пробел, а новые группы отделяются enter'ом. Пример:
firefox oowriter
audacious smplayer
5. Fluxbox в интернете:
Fluxbox.org - офф. сайт
deviantART и Customize.org (много тем для fluxbox и не только)