|
Помните то беззаботное время когда деревья были большие, а Кеды очень толстые? Такие толстые и неповоротливые, что приходилось использовать более простые и красивые решия: WindowMaker, Fluxbox и Blackbox. И есть у меня подозрения, что эти времена возвращаются, а значит нужно быть к ним готовыми.
Воды утекло немало с тех пор и Fluxbox, главный герой этой статьи наконец стал полноценным проектом, разменяв первый релиз в своей жизни. Чтож, посмотрим, каков он Fluxbox 1.0.
После старта Fluxbox представляет из себя довольно жалкое зрелеще, но не беда: берём напильник в руки и вперёд.
Для начала проведём операцию виндаподобного мышкотыканья с непредсказуемыми эфектами :).
Для этого вызываем главное меню (нажимаем правой кнопкой мышки на пустом пространстве рабочего стала). В этом меню вас должны заинтересовать два пункта: "fluxbox menu->Configure" и "fluxbox menu->System Styles" - не бойтесь, поиграйтесь с ними (нужно быть очень талантливым человеком чтобы завалить flux o_O).
Ну как? Я так подозреваю вы выбрали себе какой-нить стиль и поигрались c прозрачностью, а особо талантливые эникейщики добрались до надоедливой закладки над окном (и очень даже зря, почитайте здесь).
Теперь начнём конфигурить по взрослому.
Вся конфигурация fluxbox сохраняется в директории ~/.fluxbox и при этом она очень логична и понятна.
Клавиши.
Клавиши это одна из очень приятных вещей. Отвечает за работу с ними специальное приложение: keygrabber. Конфигурация его находится в файле ~/.fluxbox/keys. Его синтаксис очень прост: "клавиша :действие" (обратите внимание на пробелы - это важно). Список доступных действий можно посмотреть здесь.
Особую фишку версии 1.0 представляют собой многобуквенные сочетания в стиле Emacs (не многие знают, но Кеда тоже так умеет). Посмотрите для примера как я управляю виртуальными рабочими столами.
Mod4 d 1 :Workspace 1
Mod4 d 2 :Workspace 2
Mod4 d 3 :Workspace 3
Mod4 d 4 :Workspace 4
Mod4 d Right :NextWorkspace
Mod4 d Left :PrevWorkspace
Нажав сочетание Win+d мы как бы говорим, что хотим сделать что-нить с рабочим столом, а потом, следущей клавишей, конкретезируем действие. Таким образом у меня есть сочетание для работы с окнами (Win+w), для запуска приложений (Win+r) и т.д. Это очень удобно и интуитивно и этого сильно не хватало во флюхе раньше.
В принципе трех буквенных сочетаний хватает выше крыши, но если вы настолько суровы, что вашего кота зовут 3piO_qwerty&, то вы вполне можете осилить что-то подобное:
Mod4 e i Mod1 t Mod4 e c Mod4 e u :ExecCommand xterm -e 'echo "You are realy CraZZzy man\!\!\! o_O" ; cat >> /dev/null'
Кстати говоря, будет очень не лишним задать специальную команду обрывающую цепочку. После её набора ваша жизнь будет начинаться заново. Делается это так.
Mod4 ` :AbortChain
Ещё oбратите внимание на имена клавиш. Не смотря на то что в качестве параметра выступают буквы, а не сканкоды, keygrabber не чувствителен к регистру и языку. Т.е. 'w'~'W'~'ц'~'Ц'. И соответственно Mod4 Shift e, не эквивалентно Mod4 E. Кстати говоря, если вы теряетесь в догатках по поводу названия клавиши Ctrl или какой-нить другой, вы можете воспользоваться тулзовиной xev.
Немножко дёгтя в бочку мёда. Keygrabber не всесилен, в отличии от xbindkeys, поэтому он не умеет хэндлить не стандартные клавиши. Да и работает он на уровень выше чем иксы, поэтому если у вас есть какое нибудь хитрое приложение типа amarok'а, умеещее самостоятельно отслеживать горячие клавиши, то будьте внимательные при его настройке, иначе не предсказуемых эфектов не избежать.
Ксати говоря я столкнулся с залипанием keygrabber'а в версии 1.0rc3 (как раз эта версия идёт в 12 слаке), поэтому лучше всё же установить стабильный релиз с www.fluxbox.org.
Ещё один хинт: не лишним будет добавить на этом этапе в свой конфиг, что-нить подобное
Mod1 F2 :ExecCommand fbrun
Теперь запускать программы будет на много удобнее. ;)
Едем дальше.
Меню
Просто посмотрите файл ~/.fluxbox/menu. Структура его также проста и понятна, а если возникнут проблемы, то почитайте тут http://www.fluxbox.org/docbook/ru/html/x756.html. Я думаю, вам не понадобидся много усилий чтобы научится его редактировать. Да и не хочу я об этом рассказывать. Речь пойдёт о ряде замечательных тулзовин.
Первая из них это fluxbox-generate_menu.
Тут наверное надо немножко залезть в историю. Было время, когда основой мироздания были desktop файлы - это небольшой инишник, в котором описано что это за приложуха, какая у него иконка, и к какой категории всё это дело относится. А Кеда с Гномом занимались тем что на основе этих файлов строили меню. Ничего глупее на мой взгляд придумать было просто нельзя. Нынче и Кеда и Гном поддерживают спецификации freedesktop.org, в соответствии с которыми меню описывается одним файлом, а не тучей мелких. А вот флюх как и раньше тихонько курит в сторонке не вмешиваясь в борьбу больших и толстых, используя свой формат меню.
fluxbox-generate_menu занимается тем, что ищет в системе desktop файлы, а затем на их основе генерирует меню. Но толку надо сказать от этого чуть. Большинство современных приложений не поддерживают эту древнюю спецификацию прописываясь напрямую во фридесктоповское меню.
Поэтому единственная польза от fluxbox-generate_menu это создание шаблона меню и установка некоторых дефолтных программ.
Благо пользоваться этой програмкой весьма не сложно.
Для начала открываем файл ~/.fluxbox/menuconfig. В нём довольно всё хорошо объяснено, поэтому я лишь просто предаставлю список использованых мною параметров
MY_TERM='konsole'
MY_BROWSER='opera'
MENUTITLE="Revager"
HOMEPAGE="www.ya.ru"
LAUNCHER=fbrun
BACKGROUNDMENUITEM=no
Теперь запускаем.
fluxbox-generate_menu -in
Обратите внимание на параметр -in. Этот параметр запрещает искать иконки для приложений (просто не нравится мне это :)).
Возможно у вас нашлось несколько приложений, которых не было раньше, а также установились дефолтные терминал и браузер.
Однако приложений явно мало. Но есть выход. Правда он на батарейках :). Есть такая замечательная приложуха под названием menumaker. Создана она была специально для того чтобы синхронизировать меню от разных десктопов. И делает она это довольно неплохо.
Для начала качаем его с сайта menumaker.sourceforge.net и устанавливаем знакомым образом: configure && make && make install.
Можно было конечно сразу запустить генерацию командой mmaker fluxbox, но, честно говоря, то что получается на выходе мне не шибко нравится, поскольку в меню попадает слишком много бесполезной информации. Я бы предложил сделать следущее:
#генерим меню
mmaker -ic fluxbox > ~/.fluxbox/mmaker_menu
#делаем бэкап на всякий случай
cp ~/.fluxbox/menu ~/.fluxbox/menu.bak
#сливаем два файла вместе
cat ~/.fluxbox/mmaker_menu >> ~/.fluxbox/menu
#делаем финт ушами чтобы из двух разрозненых меню получить одно
awk '{if (a=="1") {a=0;next;} if ($1=="[endencoding]"){ a=1;print "[submenu] (Additional)";} else print $0;}' ~/.fluxbox/menu > ~/.fluxbox/newmenu
mv ~/.fluxbox/newmenu ~/.fluxbox/menu
echo '[end]' >> ~/.fluxbox/menu && echo '[endencoding]' >> ~/.fluxbox/menu && echo '[end]' >> ~/.fluxbox/menu
Теперь мы получили флюховое меню в котором в качестве подменю находится экспортированая из кеды информация (Additional). Теперь можно со спокойной душой открыть меню своим любимым редактором и причесать как душе угодною.
Не забудьте исправить строчку "[encoding] (UTF-8)" установив ту локаль, которая вам необходима.
Фон рабочего стола.
Сделать это очень просто: нужно исполнить следующую команду.
fbsetbg -f /pub/pictures/back.png
Если же расположение и маштабирование картинки вам не понравится, попробуйте другие параметры (fbsetbg -h рулит :))
Разумеется каждый раз выполнять fbsetbg не удобно, поэтому нам надо будет исправить файл ~/.fluxbox/init следущим образом:
session.screen0.rootCommand: fbsetbg -f /pub/pictures/back.png
Больше тут пожалуй и не расскажешь, так что похали дальше.
Screensaver.
Ну тут подход очень традиционен. Всё что нам нужно это после запуска иксов стартовать в фоне приложуху xscreensaver. Для этого добавляем в файл ~/.fluxbox/startup строку вида:
xscreensaver &
Но сделать это надо до строки exec /usr/bin/fluxbox, иначе ваш скринсейвер демон запустится после того как выключится флюх :).
Теперь запускаем приложуху xscreensaver-demo и устанавливаем те параметры, которые вам необходимы.
Собственно всё.
Gkrellm и dockApps
В целом мы получили вполне работоспособное окружение, однако многим не хватает замечательных кедовых аплетов, которые несколько упрощают жизнь: показывают нагрузку на процессор, сеть, заряд батарей и, хоть что вы со мной делайте, фазу луны - ну нравится мне этот аплет.
Оказывается такое можно сделать без особых проблем и во флюхе, да ещё и двумя способами. Во первых, существую так называемые Dock Applications или dockApps. Это небольшие приложения, с размерами окна 64х64, которые запускаются в фоне и выводят необходимую информацию на экран. Пришли эти зверушки из WindowMaker'а, но нынче очень многие продвинутые wm умеют с ними работать.
Устанавливать их очень просто. Качаем с www.dockapps.org понравившийся аплет, устанваливаем традиционным способом: configure, make, make install или пишем SlackBuild скрипт.
Затем запускаем.
Ваше приложение попадёт в так называемы slit. Это специальная часть флюха, которая отвечает за отображение и расположение докапов. Расположение слита управляется через главное меню (или непосредственно через init файл), а расположение отдельных приложений относительно друг друга задаётся файлом ~/.fluxbox/slitlist.
Если всё устраивает, то добавляем запуск докапа в startup, также как мы это делали для screensaver'а.
Кстати, не лишним будет знать, что некоторые особо ушлые приложухи, типа xmms, сами умеюют сворачиваться в слит. Для этого их надо запускать с ключом -w.
Но честно говоря, все эти докапы мне не понравились, в первую очередь поскольку уж очень они разношёрстные, поэтому я обратился к замечательной штуке под названием gkrellm.
Его работа очень близка к тому, как работает кедовая панель аплетов, т.е. он заниматся менеджированием и показом аплетов собственного формата, кроме того он поддерживает темы и добавление новых плагинов без перекомпиляции.
Устанавливается и запускается он также как обычный dockApps, только запускать его надо с ключом -w, иначе он будет работать как обычная приложуха, не встраиваясь в слит.
Про настройку даже говорить не хочется: от мышкотыканья ещё никто не умирал.
Уже после установки gkrellm имеет немало встроеных аплетов, а чтобы добавить новые, надо в общемто не много. Просто скачайте исходный код аплета, скомпилируйте используя configure && make, а затем скопируйте получный файл название_плагина.so в директорию ~/.gkrellm2/plugins. После этого останется только перезапустить gkrellm и настроить ваш аплет.
С темами для gkrellm ещё проще, их нужно просто распаковать в директорию ~/.gkrellm2/themes и опять таки перезапустить gkrellm.
Вот наверное и всё о чём стоит рассказать. Если считаете, что чего-нить не хватает, пишите в форум.
Yoda
03.03.2008
|