Поскольку сейчас у меня на работе есть зазоры по времени, да и дома пока особо напрягаться не приходится, я запустил проект по очередному исследованию WM.
Идея заключается в том, что иногда нужно сделать некоторую встряску десктопному окружению, чтобы найти что-то интересное/более удобное/более эффективное.
Конечно, самыми большими встряками были переход на линукс, но это давнишняя история, со множеством спинов :) И второе - отказ от DE в пользу WM и фактически построение собственного DE.
После некоторого выбора, я вначале попробовал openbox, он роскошен и быстр, но обладает корявым оформлением, классическая проблема - заголовок окна. Потыкал в разные другие WM - fluxbox, blackbox, enlightenment... и ещё какие-то боксы. Не то.
Чего-то не хватало. Дальше коллега подкинул мне идею с тайловыми WM, по началу идея с тем, что окошки располагаются тайлами меня смутила. Скажу больше коллега подкинул awesome с "роскошным конфигом на lua". Это было выше моих сил. У другого коллеги я подсмотрел DWM, да он конфигурился через пересборку, но зато это было просто. Потыкав в DWM пару недель, я понял, что нет, совсем не то, но воркфлоу понравился. И, да! определённым приложениям можно "назначить" рабочий стол, и их окна автоматически будут появляться только на этом столе. Такое возможно в KDE4, но невозможно, например, в Gnome или в xfce, openbox, fluxbox, blackbox.
То есть назначаешь себе несколько рабочих столов под разные тематики, допустим 1-почта, 2-IM, 3-консоль, 4-браузер и... ключевой аспект: переключение между столами Win+цифра.
Получается довольно быстро. Быстрее, чем мышкой или чем через Alt+Tab и быстрее чем недо-переключение по win+left|win+right, это вообще застрелиться.
Пробема в том, что визуальное переключение подразумевает поиск взглядом, а это медленно + плюс необходимость отвлекаться на анализ картинки. Перебор - тоже медленно и хорошо, если оно работает автоматически/вслепую, а то веди перед глазами возникает набор окон или набор рабочих столов и это тоже отвлекает. В случае переключения Win+Num ты попадаешь мгновенно к нужному десктопу и не тратишь концентрацию на нешужную мешуру, в результате и внимание не рассеивается и время экономится. Кстати, это один из плюсов консольных приложений - не отвлекаешься от задач.
Воркфлоу найден, следующий этап - поиск WM, похожего на DWM... по функциональности и по смыслу, но более развитого. Ну альтернатив немного... и тут коллега, пользующий awesome говорит, вроде даже не всерьёз - есть i3 или i3wm.
Да. I3-wm. Это как раз то, что надо! я его взял по-началу было непривычно, но я обвесил его шоркатами DWM|awesome и он стал юзабелен. Что мне нужно было? панелька с трэем. Первая странность, которая бросилась мне в глаза - логически существуют только те рабочие столы (тэги/группы окон, неважно, как назвать), на которых есть окна или на которых фокус. Это было дико, но пришлось смириться.
Второй момент - панелька. I3-bar - это бар, он с треем, но это тупо бар. Я его обвесил скриптом, который асинхронно собирал разную статистику, выводил циферьки итд. Также была идея ловить эвенты от мышки и их обрабатывать, типа кнопочки создать и всё-такое. Но это не то, нужно нормальное xdg-меню и кнопки, запускающие приложения. Да это убивает концепцию "управления с клавиатуры". Но я и никогда не был адептом этой идеи, я шорткаты-то с трудом выучиваю, а если выучу, то переучиваюсь с болью.
Поиски панельки привели меня к fbpanel. Чудесное приложение, с минимумом зависимостей и довольно неплохим списком возможностей - трэй, меню, переключатель рабочих столов, кнопки для запуска приложений, кнопки открытых окон, часы, уровень батарйки. Я разу же отрубил i3bar и запустил пару таких панелек с разными функциями.
Но настало время осмотреться, а вдруг что-то поменялось на поприще WM, возможно найти какой-то новый подход к workflow.
Пока что моё внимание привлёк spectrwm. Я присматриваюсь к его конфигу.
Кстати, коллеги, пользующие DWM и Awesome теперь пользуют bspwm с жирным обвесом из скриптов и i3-wm с флот/таббед расположением окон соответственно.
И, таки, да, таббед раскладка окон может быть полезна, только вот она есть лишь в i3 и в qtile. Вероятно, можно и к awesome её прикрутить, но я не уверен.