3 ноября 2008 г.

Fluxbox, simple and powerful

С момента последней записи прошёл месяц, вышел свежий Ubuntu Intrepid Ibex. Но о нём несколько позже. Сегодня я напишу об оконном менеджере, с которым некоторое время назад я уже пробовал знакомиться, но не очень успешно. Всё удовольствие портили локали меню: часть оного была в UTF-8, часть в KOI8-R, а на выводе всегда выходили кракозябры. С недавнего времени я пользуюсь en_GB локалью, поэтому часть проблем с кодировками для меня пропала, в том числе и эта. Теперь же о самом Fluxbox. В теме этой статьи уже обозначены два его неоспоримых преимущества: он прост и эффективен.

Итак, начнём с установки. Как всегда, легко и непринуждённо:

$ sudo aptitude install fluxbox fluxconf

fluxconf, в общем-то и не очень нужный пакет — графический инструмент для редактирования некоторых настроек. Через несколько секунд aptitude отчитается о результатах установки нового пакета.

fluxbox-default

Основные «фишки» Fluxbox, выделяющие его на фоне других лёгких оконных менеджеров:

  • высокая гибкость;
  • наличие т.н. Slit, в котором могут жить док-приложения (gkrellm, апплеты WMaker);
  • наличие «слоёв» окон;
  • поддержка оконных вкладок.

Теперь подробнее об этих преимуществах. По умолчанию Fluxbox почти не настроен, в файле ./fluxbox/keys прописаны только самые основные клавиши. Однако, откройте ман, там найдётся немало команд, которым можно назначить быстрые клавиши, на любой случай жизни. Настраивать всё придётся самостоятельно, по умолчанию назначены лишь переключение окон и рабочих столов. Если вы просмотрели man fluxbox, то, думаю, обратили внимание, насколько гибок этот оконный менеджер. В файле ~/.fluxbox/init задаются основные настройки. Настраивается практически всё: положение, форма и поведение панели задач, её элементы, кнопки и их положение в заголовках окон, псевдопрозрачность и композитная прозрачность (реализуемая с помощью xcompmgr) и многие другие вещи.

Другой интересной особенностью Fluxbox является поддержка слоёв окон. В стандартных оконных менеджерах по умолчанию есть 3 «слоя» окон: «поверх всех», стандартный и «подо всеми». Выбранное в каждом слое окно перекрывает неактивные окна того же и более низкого слоя, не перекрывая окна более высокого слоя. Нажав правой клавишей на заголовок окна и выбрав Layers, можно задать окну один из 6 слоёв, правилам которого он будет следовать, с помощью ~/.fluxbox/apps можно задать окну слой, которому оно будет принадлежать при открытии.

Ну и наконец самая интересная функция Fluxbox, поддержка оконных вкладок. Вот вам пример: веб-мастеру нужно протестировать внешний вид веб-страницы в нескольких разных браузерах (Opera, Firefox и Midori, например), при чём делать это раз в несколько минут. Три отдельных браузера занимают место на рабочем столе и в панели задач, но они совсем не обязаны быть на виду одновременно и постоянно, поэтому их можно было бы объединить в одно окно в виде вкладок. Заманчиво? Fluxbox это умеет. Ниже приведены скриншоты, поясняющие работу вкладок в Fluxbox.

Xterm, контакт-лист Pidgin и Opera:

Fluxbox-1

Xterm — MOC, чат Pidgin и Flock:

Fluxbox-2

Как я уже упоминал выше, если ваша видеокарта поддерживает композитные окна, рекомендую установить xcompmgr. После его установки и запуска обробока перемещения окон стала заметно быстрее.

$ sudo aptitude install xcompmgr
$ xcompmgr -fc

Немножко дёгтя на последок:

  • в Fluxbox отсутствует окошко переключения окон (Alt+Tab переключает окна сразу, не показывая их значков в специальном окошке), это непривычно и кому-то может показаться неудобным;
  • до сих пор в Fluxbox 1.0.0 существует проблема с кириллицей: часть меню отображается по-русски, часть — кракозябрами; это связано с тем, что русская версия файлов меню Fluxbox написана в KOI8-R, а не в UTF-8 (в отличие от debian-menu в Ubuntu) [Fluxbox 1.1.0 уже полностью на UTF-8, но его пока что нету в репозиториях];
  • как я уже отмечал выше, настройка Fluxbox — задача не совсем тривиальная и требует ознакомления с man;
  • не знаю, с чем конкретно это может быть связано, но у меня Fluxbox загружается довольно долго, впрочем, после загрузки он работает быстро и эффективно.

Полезные ссылки: Fluxbox wiki, tenr.de.

4 комментария:

libc6 комментирует...

Отличная статья. Спокойная, грамотная и интересная.

Теперь по теме - в убунте вообще флюкс собран по уродски. В нем не только с кодировками плохо, в нем еще и с иконками к пунктам в менюшке плохо. Сразу понятно, что разработчики убунты вообще не уделяют ему внимания. А жаль. Ибо флюкс - труъ линуксоидный wm.
Сам ним пользовался около двух лет, пока сидел на archlinux. Сама же убунта и ее пресыщенный вкусностями гном с компизами-авээнами не располагают к флюкс-дискаверингу. А тоже жаль.

Вообще, мне кажется, что труфлюксерубунтиец должен самостоятельно пересобрать пакет из официальных исходников, иначе под убунтой счастья не будет.

Там еще масса малочей, типа, желательно бы в нем работать без старта gdm/kdm, уметь самостоятельно маунтить устройства, определять их кодировки, уметь читать документацию и знать чего хочешь. Разбираться в дотфайлах из корня домашнего каталога, уметь настраивать шрифты и терминалы. Но при желании и усердии можно собрать такой оконный манагер, которому любой композитинг позавидует. Одни только табы и любые кейбиндинги на что угодно чего стоят..

Порекомендую читателям ресурс с темами и дотафайлами под флюкс - tenr.de. Имхо, это флагман флюксера-эстета.

Ну и конечно официальный вики - Fluxbox wiki

ЗЫ: зачем тебе капча на коментах? Неужели так много спамят?

Андрей «вон» Т. комментирует...

Большое спасибо за подробный комментарий и ссылки. :)

Когда-то спамили, насчёт того, как с этим обстоят дела сейчас не знаю: капчу с тех пор не отключал. :)

Juev комментирует...

Когда переходил на дебиан задумался, какой выбрать оконный менеджер, флакс или опен... На виртуальной машине опробовал и то и другое и в итоге остановился на опенбоксе. Хоть он и не развивается, уже год как не выходило новых версий, его функционал и возможности настройки выше, чем у флакса. Хотя конечно в нем нет такого обилия слоев и нет оконных тагов. Мне они просто не нужны.
Проблемы с кодировкой кстати у опена нет. Посмотри, может понравиться...

malcolm комментирует...

Когда то пользовался и fluxbox'ом (ушёл именно из этой проблемы с русскими символами) и openbox'ом (ушёл из-за xml-конфигов, не переварил), сейчас нашёл pekwm, пока доволен, он как минимум не менее фичаст open/fluxbox'ов.

Отправить комментарий