http://wm-monitoring.ru/ ')) {alert('Спасибо за то что установили нашу кнопку! =)');} else {alert('Очень жаль! =(');}"> http://wm-monitoring.ru/

Musca wm

Опубликовано: 01.09.2018

видео Musca wm

ITALIEN WM SONG 2014 FORZA ITALIA - ALESSIO, AZITAKKT & MARCO MUSCA

Не так давно, появился новый очень не плохой тайловый оконный мэнеджер под названием musca. По заявлению разработчиков,  он вобрал в себя все лучшее от dwm и ratpoison. Отчасти это правда.  Сам я пользуюсь им около месяца и более чем им доволен! Отличает его простой конфиг чем-то напомнивший мне конфиг ratpoison. И так, все по порядку.


Musca WM

Сам по себе, musca, не имеет никаких панелей, и не умеет рисовать фон, собственно как и должно быть. Зато в нем есть возможность, не управлять какими либо приложениями. Т.е. допустим вы хотите себе панель задач, или трэй. Ставим pypanel или trayer и просто добавляем в конфиг manage off trayer или manage off pypanel. Лично я, использую для вывода нужной мне информации dzen2  в связке с conky-cli (умеет выводить информацию только в консоль). Для панелей и прочего, можно назначить отступ от любого из краев. Для этого служит команда pad left right top bottom (вместо left right top bottom нужна указать свои значения в цифрах). Кстати, команды можно отдавать прямо на ходу.


MC Lan e MC WM - Sua Amiga Vou Pegar (KondZilla)

В musca нету рабочих столов или тэгов. Тут немного другая система. Есть группы, их может быть сколько угодно. В каждой группе - фрэймы. И так, проводя аналогию, группы = столы\тэги, фрэймы = окна. Фрэймы можно расположить весьма хаотично. Кстати, работа с фрэймами мне особо нравиться. Во первых, в каждом фрэйме, можно запустить несколько окон, если быть точным, то запустить можно сколько угодно окон, и переключатся между ними средствами dmenu(так же можно переключать и группы). Т.е. по хоткею, появиться dmenu со списком всех окон в этом фрэйме. Так же, окна можно просто свернуть дабы не мешались. У каждого фрэйма есть три режима:

Обычное поведение Для всех новых окон Занятый фрэйм

Думаю из названия каждого понятно что это и зачем, но на всякий случай объясню. Если пометить фрэйм как занятый, то новые окна, не будут попадать в него. Если пометить его для всех новых окон, то все новые окна будут попадать соответственно в него. Ну и обычный режим это режим, при котором сам(сама ?) musca определяет что и куда.

Musca - нединамический тайловый wm. Т.е. окна располагать самому. Для кого-то это плюс, для кого-то минус. Зато можно задать разбивку и где какое приложение запускать в стартовом файле. Но тут есть некоторые нюансы, один из которых то, что муська не ждет пока запустить какое либо приложение. Т.е. загрузившись, нужное приложение может оказаться в другой группе, что может быть неприятно учитывая то, что переместить приложение в другую группу, нельзя или я не нашел  как =) Еще можно сделать дамп разбивки и загрузить его при загруке или когда Вам это удобнее.

Конечно он не лишен и недостатков. Во первых, если сделать отступы то появляются разрывы между фрэймами что меня лично, раздражает. Так же, как я писал выше, нельзя переместить приложение в другую группу. Ну и еще парочка мелких багов с которыми другие могут и не столкнуться. Самое главное, не стоит забывать, что musca еще очень сырая. Очень много ошибок исправляют от версии к версии.

На прощание скриншот(не знаю зачем, они вроде все одинаковые, но на нем виден баг  с разрывами)

musca screenshot

и мой хорошо задокументированный  ~/.musca_start:

set border_focus #ffff00 set border_unfocus #aa8800 ### BINDINGS # деление фрейма хоткеями пополам -- горизонтально и вертикально, соответственно bind on Mod4 + Shift + h hsplit 1 / 2 bind on Mod4 + Shift + v vsplit 1 / 2 # удаление фрейма bind on Mod4 + Shift + r remove # удаление всех фреймов в группе кроме текущего, последний занимает место всей группы bind on Mod4 + Shift + o only # аварийное завершение работы текущего окна bind on Mod4 + k kill # переключение между окнами текущей группы в текущем фрейме; local переключает во фрейме только те окна, которые в нём ранее открывались bind on Mod1 + Tab cycle local next bind on Mod4 + Shift + Tab cycle local prev # выбор текущего фрейма в группе bind on Mod4 + b focus left bind on Mod4 + f focus right bind on Mod4 + p focus up bind on Mod4 + n focus down # Super+PgDn и Super+PgUp -- переключение между группами bind on Mod4 + Next use ( next ) bind on Mod4 + Prior use ( prev ) # не знаю :) переписал на всякий случай. Возможно это нужно для поддержки работы нескольких экранов (но у меня только 1 монитор) bind on Mod4 + Tab screen ( next ) # вызов dmenu с перечнем всех окон bind on Mod4 + Shift + w switch window # вызов dmenu с перечнем всех групп bind on Mod4 + Shift + g switch group #запуск dmenu с перечнем всех установленных программ -- штатное средство запуска программ #bind on Mod1+F2 shell # Вызывает меню команд musca через dmenu, то же происходит по нажатию Super+M bind on Mod4 + Shift + x command # пометить фрейм как занятый для открывающихся окон bind on Mod4 + Shift + d dedicate flip # пометить фрейм для размещения в нём всех новых окон bind on Mod4 + Shift + a catchall flip # отмена последней манипуляции с musca (!) bind on Mod4 + Shift + u undo # переключение в режим плавающих окон bind on Mod4 + Shift + s stack flip # перетаскивания окна между фреймами bind on Mod4 + Shift + b swap left bind on Mod4 + Shift + f swap right bind on Mod4 + Shift + p swap up bind on Mod4 + Shift + n swap down # изменение размеров текущего фрейма bind on Mod4 + Control + b resize left bind on Mod4 + Control + f resize right bind on Mod4 + Control + p resize up bind on Mod4 + Control + n resize down # выход из musca ;) bind on Mod4 + Shift + q quit name trm #exec urxvt -pe tabbed #use trm hook on add pad 0 0 14 0 add sht add ff hook on add pad 0 0 14 0 #exec firefox add torrent hook on add pad 0 0 14 0 exec qtr hook on add pad 0 0 14 0 add vbox hook on add pad 0 0 14 0 border off add video hook on add pad 0 0 14 0 border off add w06 hook on add pad 0 0 14 0 add w07 hook on add pad 0 0 14 0 add w08 hook on add pad 0 0 14 0 use trm hook on add pad 0 0 14 0 #Перемещене по группам (воркспейсам) bind on Mod4 + 1 use 0 bind on Mod4 + 2 use 1 bind on Mod4 + 3 use 2 bind on Mod4 + 4 use 3 bind on Mod4 + 5 use 4 bind on Mod4 + 6 use 5 bind on Mod4 + 7 use 6 bind on Mod4 + 8 use 7 bind on Mod4 + 9 use 8 # Стандартные биндинги bind on Mod4 + t exec urxvt # хоткеем можно запустить скрипт dmenfm, создающий из dmenu минималистичный файловый менеджер. Жаль, что для него необходимо отдельно # настраивать dmenu -- средств для более плотнойинтеграции я не нашел. Впрочем, создавать интегрированную среду из оконного и файлого # менеджера -- это уже путь DE (Desktop environments - полноценных рабочих окружений). Чуть подправленный мной скрипт привожу в конце статьи bind on Mod4 + z exec dmenfm bind on Mod4 + Shift + z exec dmenfm ### END OF BINDINGS # вот примерно так осуществляются отдельные нефреймовые окна manage off conky manage off dzen2 # настройка переменных musca # по умолчанию новое окно открывается в пустом фрейме, если такой есть, а не в текущем set window_open_frame empty # на вкус и цвет фломастеры разные -- я запускаю dmenu так set dmenu dmenu - b - i - nb '#333333' - nf '#a8a3f7' - fn '-*-terminus-medium-r-normal--12-120-72-72-c-60-utf8-*' #set dmenu dmenu -b -i -nb '#000000' -nf '#ffff00' -fn '-misc-dejavu sans mono-medium-r-normal-*-17-*-100-100-m-0-*-*' #set dmenu dmenu -i -b -fn -*-ProggyClean-medium-r-normal-*-*-*-*-*-*-*-* -nb ForestGreen -nf black -sb LimeGreen -sf black # а тут неплохо бы указать штатное средство вывода вербальной информации. Наверно, это всё-же будет dzen2, когда его освою :) #set notify echo `cat` # размеры рабочей части группы -- можно ограничить при использовании панелей и прочих апплетов-котлетов -- я не использую # можно создать сколько-то групп для работы. я обычно создаю их в процессе работы. Впрочем, можно это дело также повесить на хоткеи. # Т. к. я не знаю, как при запуске окно отправлять в конкретную группу -- при старте, чтобы окна не путались, использую # только одну группу # перерисовка текущего окна -- бывает, что некоторые окна болезненно реагируют на изменения размеров bind on Mod4 + Shift + f refresh # создание группы с именем someone bind on Mod4 + Insert add someone # удаление текущей или ближайшей из следующих группы с именем someone, # все открытые в ней окна отправляются в следующую группу. # Делаю так, потому, что не знаю, как удалять просто текущую группу без указания имени оной bind on Mod4 + Delete drop someone # а вот так можно убрать рамку вокруг текущего фрейма, # например. при просмотре фильма. Только я на знаю, как повесить переключатель # включить/выключить рамку на 1 комбинацию, потому использую пару bind on Mod4 + i border on bind on Mod4 + Shift + i border off #Таки повесим Хскринсейвер =) bind on Mod4 + Pause exec xscreensaver - command - lock #Wallpaper exec feh --bg - scale / mnt / mhard / pictures / FromUbuntuForums / picture2221 . jpeg #something #export GTK_IM_MODULE="xim" #exec xset r rate 300 40 # неудавшаяся попытка раскидывать окна по группам :-( #load .musca_dump/work exec xbindkeys exec sh / home / bosheee/.conky / start . sh
Карта
rss