Итак, MUSCA – динамический оконный менеджер с ручным управлением. Создан он на основе идей Ratpoison и dwm. Поначалу это насторожило, но потом я понял, что он вобрал действительно лучшее, и добавил много своего. Динамичность его, наверно, заключается в отсутствии рабочих столов. вместо них есть группы. Сначала это показалось неудобным, пока я не понял логику. Группы переключаются, как рабочие столы, но окна, входящие в групу вовсе не обязательно отображаются. Рабочее пространство гуппы поделено на фреймы, и окна открываются в этих фреймах. Внутри любого фрейма можно переключать все окна данной группы, также можно перетаскивать окна между фреймами. Группу можно сохранить в файл и загрузить из файла. Деление на фреймы осуществляется хоткеями. Также группа может занимать не весь экран, оставляя место панелям, апплетам и т. п. . Порадовали очень удобные (легко запоминающиеся и неконфликтующие с приложениями) комбинации клавиш.
В качестве главного меню выступает dmenu. Мне оно показалось не очень удобным, но, думаю, это решается (установкой и настройкой его оболочки Yeganesh, или написанием собственных скриптов).
Через dmenu можно вызвать (и запустить) список окон, список групп, shell, и команды musca. Последние заслуживают отдельного внимания и похвалы. Все действия осуществляются командами, у команд есть аргументы (напр., в каком отношении делить фрейм), команды можно привязывать к хоткеям, писать скрипты, запускать из консоли, обьединять, образуя новые команды, в последующих версиях обещают также поддержку событий иксов. Вобщем, человекочитаемость скриптов, простота настройки, и реализация в хороших традициях никсов (использование потоков для управления) меня заворожили.

Также у фреймов есть три режима.

catchall flip – один фрейм в группе выбирается для открытия в нём всех последующих открываемых (упс, повторяюсь:) окон (по умолчанию, в зависимости от настройки, открываемые окна занимают позицию текущего или пустого, если есть такой, фрейма);

dedicate flip – фрейм помечается как занятый и новые открываемые окна его не занимают (можно использовать при запуске многооконных приложений);

stack flip – режим плавающих окон (распростроняется на всю группу, так же может быть использован многооконными приложениями). Musca поддерживает основные манипуляции с окнами следующим образом: перетаскивание окон осуществляется левой кнопкой мыша с зажатой super (или другой используемой Вами как основная модулирующая клавиша); изменение размера – правой клавишей с той же кноповкой.

Помимо того, отдельные окна можно помечать как не обрабатываемые (напр., панели) – чтобы избежать помещения во фрейм.
Настройка осуществляется присваиванием командой set значения параметрам (цвета, имя конфигурационного файла запуска, команда запуска главного меню и приложения для вывода сообщений и т. д.). Т.е. конфигурировать можно прямо во время работы, более того, можно посто запустить на выполнение файл, содержащий список команд. С полным списком команд и переменных можно ознакомиться на официальном сайте http://aerosuidae.net/musca/Musca_Window_Manager.

        _   _     ___  ___   _______     ____      __                  ,
       / \ / \    | |  | |  /  _____|   / __ \    /  \         *    .   
      /   |   \   | |  | |  \___ \__   | /  \/   / /\ \          *      
     /  /\_/\  \  |  \_/  \ ____\_  \  | \__/\  / /__\ \      .         
    |___/   \___|  \___/|_| |_______/   \____/ |__/  \__|          `    
_______________________________________________________________         
_______________________________________________________________         
Месяц был в оффлайн. За это время накропал обзор Musca. Писал по-немногу в свободное время, которого, увы, совсем немного. Так что не обессудьте за непоследовательность изложения ;-)

Итак, пришло время написать об оконном менеджере Musca (названного в честь созвездия южного неба). Открыв для себя POSIX-мир менее полугода назад, я искренне недоумевал тому, почему консоль (в “недрах” которой кроется вся мощь никсов) так сильно отмежована от иксов, в которых и проводят пользователи этих систем свой досуг.
Как и многие другие, вдоволь наигравшись гномом и копизом, потискав KDE, я обратил свой взгляд по ту сторону DE – а что там? А там – преимущественно, мир WM. А их, оконных менеджеров, существуют тысячи. И приглянулся среди прочих мне Ion. Так я открыл мир тайлингов. Но ион конфигурировался на Lua. Этот язык я не знаю, и учить как-то не тянет. Это одна из причин, почему он у меня не прижился. Но отступать было поздно. После иона попробовал боксы (FluxBox и PekWM), подкупившие меня своими табами в заголовках окон, наподобии ион. Но они были не так эффективны, и небыло в них какой-то хакерской красоты, что-ли. А тайлинговые WM всё тянули меня. Потыкал Ratpoison и StumpWM, но как-то не пошло, слишком они мне показались негибкими и сковывающими. Динамические вроде dwm и его потомков я сразу отбросил – мне не понравилась идея полностью автоватического (не ручного) управления окнами. Правда потестил ScrotWM – довольно приятный и очень минималистичный динамический WM, но сыроватый, и как динамический, лично мне он не подходил. Начал было уже заглядываться на Xmonad, смирившись с мыслью учить Haskell, чтобы настроить его под себя, но тут и прочитал о Musca. Почитав отзывы и статьи, я понял – на это стоит потратить время.
Не знал, куда писать, написал сюда)
Проблема следущая: при сборке парета haskell-time (тянется из AUR как зависимость yeganesh) выдаёт ошибку вроде “не могу распознать часовой пояс вашей ОС.” В rc.conf часовой пояс вписан (определял с помощью tzselect), при сборке из срцов – та же бяка :-( В чем может быть проблема, подскажите.
Вопрос решен установкой emacs-cvs из стандартного репозитория (community). Тему можно считать закрытой.
Спасибо. Мультимедийные клавиши настроил. Осталось найти способ поставить emacs-23 (уж очень хочеться лицезреть ttf-шрифты в emacs :) )
Как в ArchLinux настроить мультимедийные клавиши на клавиатуре? (xev в репозетариях и ауре НТЕТУ! Или я что-то проглядел?) Заодно хотел бы спросить – кто-то ставил удачно emacs-23 ? Попрбовал поставить emacs-cvs из AUR – выдаёт при сборке
checking for gtk_main... no
configure: error: Gtk+ wanted, but it does not compile, see config.log.  Maybe some x11-devel files missing?
make: *** Нет правила для сборки цели `bootstrap'.  Останов.
make: *** Не заданы цели и не найден make-файл.  Останов.
==> ОШИбКА: Сборка завершилась неудачно.
    Преждевременный выход...
Хотя гтк-приложения вроде работают ???
Ну наконец-то! Я таки паставил nvidia ;D
AUR - сие славно, но почему-то (хотя на оф. сайте нвидии на мою onboard Integrated GeForse4 MX рекомендуют именно 180.51), дрова 180 ( /extra/nvidia ) не встали даже на ванилу. Со старым nvidia-96xx-rt 96.43.05-1 пришлось повозиться, и он таки заработал, но лишь после смены версии на 96.43.11.
—–
P.S. Почему-то у меня работает только эта версия… Интересно, она будет вдальнейшем поддерживаться, если нет - можно ли настроить 180? <это так, навсякий случай спрашиваю - пока всё более чем нормально>
И еще раз спасибо за помощь!
Ок, спасибо, попробую!
Неужели никто не ставил модуль nvidia на патченное ядро? Расскажите, как сие по-людски делается ???
Доброго времени суток. Поставил себе заветное ядрышко kernel26rt-2.6.29.4_rt15-1-i686 из AUR
К нему, из AUR же поставил nvidia-96xx-rt 96.43.05-1 (другой nvidia96-rt версии в AUR небыло). Вобщем, проблема в том, что не стартуют иксы - выдают, что не могут найти модуль ядра nvidia (при загрузке дэфолтного ядра родная nvidia прекрасно работает). Как можно заставить иксы видеть дрова рт ядра, т.е. как можно устранить эту проблему ???