musca — незаметная смена wm с ratpoison на musca

Ни один из тех кто предрекал смерть ratpoison, ибо теперь есть musca, так и не смог привести мне причины превосходства второго над первым (разве что большая любовь к мыше и возможность иметь плавающие окна) по причине того что знали либо первое либо второе. Пришлось самому всё выяснять.

Напомню что musca - это ещё один тайловый оконный менеджер автор которого решил скрестить мой любимый ratpoison и dwm

После первых же абзацев прочитанных на офсайте описаний musca я решил его попробовать. Прельстило же меня то что регионы(фреймы) можно выбирать мышью и имеется базовая поддержка EWMH, а это означает:
  • Можно использовать совместимые панели (начиная от tint2 и заканчивая gnome-panel);
  • Группы = виртуальные столы в любом совместимом пейджере;
  • Ну и wmctrl как приятный бонус. К сожалению не полноценный, но вполне годный.

На русском арчефорурме есть достаточно подробный обзор musca и пара примеров работы. Поэтому я не буду ещё раз описывать этот оконный менеджер а лишь выскажу свои впечатления о нем (попутно сравнивая с ratpoison).

Первое что понравилось в musca это именно поддержка EWMH благодаря которой я отказался от костыля в виде dzen2 и bash скрипта выводящего окна и группы в ratpoison в пользу tint2 (заодно избавившись от trayer, но панельку ещё выбираю). Конфигурационный файл ~/.musca_start по синтаксису похож ratpoisonrc что принесло легкость перехода на musca — настроил так же как был настроен ratposion (за исключением хоткеев) всего за несколько минут, правда до этого полчаса читал ман ибо параметры несколько отличаются.
Возможность использования плавающих(stack flip) окон не особо порадовала (M-s включить/выключить и при при нажатой M с правой или левой кнопкой мыши изменять размер или передвигать окно соответственно), а вот режимы фреймов catchall flip и dedicate flip порадовали.
Ещё из плюсов для себя отметил:
  • Возможность выбрать любую систему уведомлений (в крысояде своя);
  • Использование dmenu для ввода команд musca и запуска приложений;
  • Возможность (зависит от настройки) открывать новое окно в пустом фрейме, если не получилось то в текущем;
  • Команда shrink скрывающая окно, после чего оно не показывается при переборе (вернуть либо клацнув на панели либо с помощью switch window т.е. с помощью выбора конкретного окна);

Не понравилась только одна вещь (она же собственно говоря и в ratpoison не нравилась) — при фулскрине, к примеру vlc, заданный padding остается и окно получается не на весь экран. И если в ratposion это обходилось простеньким скриптом который в зависимости от ситуации делал ratpoison -c "set padding число число число число", но в musca почему-то musca -c "set pad число число число число" не работает говоря что Invalid setting 'pad' to: блаблабла. К счастью всё решилось алиасом в конфиге на нужные значения
alias pon pad 0 0 0 0
alias poff pad 0 0 14 0

В общем изначально я лез полюбопытствовать что же за зверь такой которого постоянно сравнивают с ratpoison, но так на нем и остался... Ибо делать musca умеет всё тоже самое, имея при этом некоторые преимущества. Я конечно ещё не знаю всех возможностей musca, однако до моих требований к wm он более чем дотянул — будем пользоваться!

Ну и для тех кто хочет попробовать небольшая вводная:
PS. Привычка к emacs-like клавиатурным сочитаниям с префиксом дает о себе знать, а как сделать такую же для musca я не знаю, если только через xbindkey управлять
pawnhearts 10-03-2010
Прикольная штука.
Панельку я вот такую написал как-то, но она не допилена немного
http://code.tabed.org/pydock/
В ней нет трея, но она умела dockapp`ы от windowmaker/afterstep а там трей есть. правда я не уверен что у меня туда закомичена эта фича. И с клавиатуры она не управляется)
muhas 10-03-2010
Панельку попробую ибо с клавиатуры управлять и не надо, надо только информацию выводить в скомпотичном виде. Да и размером 14px что бы умела, а то всякие гномхфцеликс панели меньше определенного размера быть не могут (21,16,16 минимум соответственно)
bosha 10-03-2010
На правах дополнительной инфы ☺ - http://the-bosha.ru/2009/09/26/musca-wm/ *ностальгия: мой первый пост =)*

Эх. Хороший wm. Когда-то долго его использовал на нетбуке. Потом открыл для себя wmii. Кстати, советую попробовать и тебе его =)
muhas 10-03-2010
> Потом открыл для себя wmii

dwm и wmii это первые тайловые wm которые использовал, на wmii даже некоторое время сидел (где-то на русском арчефоруме даже скрин был - я тогда ещё mcabber пытался осилить)
bosha 10-03-2010
>на wmii даже некоторое время сидел

Интересно, что сподвигнуло покинуть сей замечательный wm? ☺
muhas 10-03-2010
да я уже как-то писал. лень править конфиги после каждого рилиза, даже минорного - хочется раз настроить и забыть и вспоминать только когда сдуру прочитал ченджлог и увидел что-то что вроде как и не помешает и заюзать это что-то новое. а в wmii каждый раз то убирали что-то то меняли поведения и т.д. и т.п. задрало и снес - после этого долго шлялся по wm в поисках подходящего пока не наткнулся на ratpoison (теперь уже наверное musca - уже как-то незаметно для себя с крысояда на него перескочил)
bosha 10-03-2010
Странно. Я уже сколько пользуюсь, в wmii ничего так ни разу и не изменилось.. Странное дело....
muhas 10-03-2010
ну когда я пользовался ломалось почти каждый релиз (даже минорный. ветка третья вроде тогда была)
у awesome при переходе с 2 на 3 было хуже =) и 3.* тоже меняли неплохо
bosha 10-03-2010
Я понял что убедить тебя не смогу, но всё же сейчас, там ничего не ломают, очевидно потому, что ничего и не делают :-D
muhas 10-03-2010
> очевидно потому, что ничего и не делают :-D

возможно, но, как говорится, осадочек остался. да и полюбил я после gnu screen подобное, особенно подобные конфиги - не то что rc.lua или конфиг на хаскеле =)
107 10-03-2010
Эта musca шустро переключает окна при большом lavrg? Как оно по сравнению с ion3?
muhas 10-03-2010
не знаю что такое lavrg но окна переключает шустро..
ion давно не видел. но если память не изменяет то в ion3 больше функционала(и конфиг тамзамудренный).. так что приверженцам ion3, awesome, xmonad и прочих схожих я бы не рекомендовал ни musca ни ratpoison - но посмотреть не помешает никогда =)
vladimirg 10-03-2010
А можно для полноты картины выложить конфиги musca и tint2? Особо интересно - как удалось вывести в верхнем правом углу и раскладку и состояние батареи и еще какие-то данные.
muhas 10-03-2010
.musca_start
.config/tint2/tint2rc
а всё что после трея, это у меня уже dzen2
dzen.right.panel

(это с ноута настройки, так что размеры под ширину 1024 - ну и mcabber до кучи)

Про отображения заряда батареи я писал на welinux - на основе этого и у меня. а раскладка с помощью skb (ну и картинки до кучи прикручены, благо dzen2 xpm умеет отлично)
vladimirg 10-03-2010
Огромное спасибо - теперь точно перейду на musca! Больше года сижу на awesome, но lua в конфиге очень не нравится. Да и любовь автора к серьезным изменениям с новыми версиями тоже расстраивает. Вот и давно приглядываюсь к dwm и, благодаря вашим популяризаторским статьям, к ratpoison. Но dwm - это правка с-шного кода - тоже не очень, а ratpoison - без мыши грустно. Так что musca - это понятный конфиг+мышь.А идея насчет tint2+dzen - это класно и выглядит симпатично.
muhas 10-03-2010
@vladimirg посмотри ещё на wmii, bosha как-раз написал пост о его настройке http://the-bosha.ru/2010/03/14/wmii-setup/
107 10-03-2010
Попробовал - понравилось!
Спасибо, @muhas!

Пытаюсь уйти с ion3 (ибо луа, да и в портах gentoo его давно нет из-за упрямости автора).
Не понравился tint2, т.к. он как-то криво показывает порядок окон:
0 4 3 2 1
хотя dmenu их же показывает правильно:
0 1 2 3 4

Так что пока пытаюсь пожить без панельки (и всяких pad-ов), жестоко, но в чем-то даже прикольно :).
muhas 10-03-2010
можно dzen2 скрестить с
musca -c 'show windows'
musca -c 'show groups'
у меня так с ratpoison было
107 10-03-2010
Да, еще как вариант подменить команды switch_window и switch_group, которые доступны в настройках и исполняются при каждом изменении окна или группы, сообщая об этом dzen-у.
107 10-03-2010
Хотя, кажется уже начинает вырабатываться привычка нажимать M+w, когда хочу глянуть список окон, и M+g - групп. Так что возможно и без панельки есть жизнь.
На окна повесил цифровые и стрелковые биндинги типа:
bind on Mod1+1 raise 0
bind on Mod1+2 raise 1
...
bind on Mod1+Left cycle next
...
так что листать их по очереди необходимость тоже отпадает.
К тому же без панельки решается вопрос полноценного fullscreen-а :)
wilful 10-08-2010
Эх, потратил день на изучение. Позволь спросить один момент.
Я привык запускать все мессагеры в одном тэге, причем ростер пижина должен быть вытянут... Проще показать:
http://s43.radikal.ru/i100/1008/bb/1ef32560a396.png
Вот такое можно сделать и запуск именно этих мессагеров в этой группе при старте?
Замучил меня lua, хотя щас вроде ниче уже не меняю (((

ЗЫ: Твоя темка гткашная то =)
muhas 10-08-2010
к сожаленюи насколько я понял musca придется делать три региона в конфиге
допустим
add im
потом
use im
и старт необходимых программ. сначала одной, потом разбивка вертикально и изменение размеров(получится два окна пиджина) потом горизонтально нужный регион и запуск второй программы, но гемор в том что ожидание запуска вроде как нету в musca, так что тут на автомате уже не получится. если только хоткеями :( хотя хз - надо пробывать
ну а потом use нужная-группа
abi 10-12-2010
Что-то лежит давненко сайт проекта. Видать проект внезапно умер :(
muhas 10-12-2010
на главной по адресу
Musca (brb, replacing wiki. source)
vovans 11-10-2011
да, жаль что Musca загнулся ((

Да и крысиный яд не такой уж свежий ((
m0r15 12-09-2012
А как все хорошо начиналось. А есть ли живой аналогичный vecrt проект?
muhas 12-09-2012
ratposion же...
modal 14-08-2014
Конфигурационный файл ~/.musca_start по синтаксису похож [strike]ratpoisorc[/strike] ratpoisonrc
Поправить не мешало бы
modal 14-08-2014
oops Тупанул с кавычками. ratpoisrc
muhas 14-08-2014
@modal, fixed