Для начала давайте узнаем что такое «tiling window manager».
Вики нам говорит:
Это менеджер окон X Window System, разбивающий рабочее пространство экрана на взаимно не пересекающиеся прямоугольные области — фреймы. Каждый фрейм используется для вывода информации отдельным приложением, в противоположность традиционным менеджерам окон, которые создают области покоординатно и послойно («окна»), пытаясь следовать метафоре «рабочего стола». Помимо полного использования всего видимого пространства, подход фреймовых оконных менеджеров позволяет минимизировать использование мыши в операциях с окнами, в основном применяя различные клавиатурные комбинации, уменьшая таким образом время, затрачиваемое на выполнение рутинных операций и повышая эффективность работы.
Звучит вкусно и я решил попробовать. По советам взялся за Xmonad, и из этого получилось следующее.
Xmonad мне понравился уже по описанию. Его возможности настроек захватывали (сразу скажу, я не хотел использовать xmonad + что-либо, только чистый xmonad). Повозившись с ним несколько дней, я немного расстроился… Ну не могу я сделать такой конфиг, который мне нужен не зная haskell'a. И тут пришла в голову идея — а что если поискать тоже самое только на ruby. И, о чудо, нашлось — subtle.
Итак, попробуем это чудо завести на debian'е(apt-get install subtle для ленивых, а мне интересна версия из репозитория разработчиков + чтобы не мусорила систему).
Для начала расскажу что же меня привлекло в данном WM.
1. Знакомый ЯП (ruby)
2. ruby >= 1.9 (о чудо!)
3. В отличии от xmonad'а он manual (т.е. сам не думает как расположить окно)
4. Ну очень мелкий
5. В стандартном комплекте уже есть панель (по умолчанию — список рабочих столов + название активного приложения + трей + место для саблетов(sublets — см. ниже).
Для тестов я пользовал VirtualBox + debian sid, по этому и расскажу как это чудо завести в данной конфигурации.
1. Ставим Дебиан без какого-либо графического интерфейса.
2.
3. Устанавливаем rvm
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Вот и все. В итоге мы получим полностью работоспособный гуй кушающий совсем немного.
Вот скрин того что получилось(запущено — sakura(terminal emulator) + htop):

Все настройки в ~/.subtle/etc/xdg/subtle/subtle.rb. Так же можно устанавливать дополнительные вещи в панель (sublets — что-то вроде gem'ов. используют свой пакетный менеджер sur). Они автоматически будут добавлены в правый угол панели (например часы(sur install clock), погода и т.д.)
P.S. В целом статья вышла как «я пиарю» + «how to»( а думалось что выйдет намного больше и интереснее :/ ), поэтому задавайте вопросы и буду стараться добавлять в статью (ну или как это назвать...).
Вики нам говорит:
Это менеджер окон X Window System, разбивающий рабочее пространство экрана на взаимно не пересекающиеся прямоугольные области — фреймы. Каждый фрейм используется для вывода информации отдельным приложением, в противоположность традиционным менеджерам окон, которые создают области покоординатно и послойно («окна»), пытаясь следовать метафоре «рабочего стола». Помимо полного использования всего видимого пространства, подход фреймовых оконных менеджеров позволяет минимизировать использование мыши в операциях с окнами, в основном применяя различные клавиатурные комбинации, уменьшая таким образом время, затрачиваемое на выполнение рутинных операций и повышая эффективность работы.
Звучит вкусно и я решил попробовать. По советам взялся за Xmonad, и из этого получилось следующее.
Xmonad мне понравился уже по описанию. Его возможности настроек захватывали (сразу скажу, я не хотел использовать xmonad + что-либо, только чистый xmonad). Повозившись с ним несколько дней, я немного расстроился… Ну не могу я сделать такой конфиг, который мне нужен не зная haskell'a. И тут пришла в голову идея — а что если поискать тоже самое только на ruby. И, о чудо, нашлось — subtle.
Итак, попробуем это чудо завести на debian'е(apt-get install subtle для ленивых, а мне интересна версия из репозитория разработчиков + чтобы не мусорила систему).
Для начала расскажу что же меня привлекло в данном WM.
1. Знакомый ЯП (ruby)
2. ruby >= 1.9 (о чудо!)
3. В отличии от xmonad'а он manual (т.е. сам не думает как расположить окно)
4. Ну очень мелкий
5. В стандартном комплекте уже есть панель (по умолчанию — список рабочих столов + название активного приложения + трей + место для саблетов(sublets — см. ниже).
Для тестов я пользовал VirtualBox + debian sid, по этому и расскажу как это чудо завести в данной конфигурации.
1. Ставим Дебиан без какого-либо графического интерфейса.
2.
apt-get install mc vim-nox htop ruby rake slim xserver-xorg mercurial build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion libx11-dev pkg-config libxrandr-dev libxinerama-dev libxpm-dev libxft-dev
(Список пакетов придуман мной — это зависимости subtle + X11 + desktop manager + немного полезных программ)3. Устанавливаем rvm
4.
rvm install 1.9.3
5.
rvm use 1.9.3 --default
6.
gem update --system
7.
gem update
8.
gem install archive-tar-minitar
9.
hg clone hg.subforge.org/subtle && cd subtle
10.
rake prefix=~/.subtle sysconfig=~/.subtle/etc install
(все ставим в домашнюю директорию, чтобы не захламлять систему)11.
echo "export PATH=$HOME/.subtle/bin:$PATH" >> ~/.bashrc
12.
echo "exec ~/.rvm/bin/rvm-exec ~/.subtle/bin/subtle --config ~/.subtle/etc/xdg/subtle/subtle.rb" > ~/.xsessionrc
13.
/etc/init.d/slim start
Вот и все. В итоге мы получим полностью работоспособный гуй кушающий совсем немного.
Вот скрин того что получилось(запущено — sakura(terminal emulator) + htop):

Все настройки в ~/.subtle/etc/xdg/subtle/subtle.rb. Так же можно устанавливать дополнительные вещи в панель (sublets — что-то вроде gem'ов. используют свой пакетный менеджер sur). Они автоматически будут добавлены в правый угол панели (например часы(sur install clock), погода и т.д.)
P.S. В целом статья вышла как «я пиарю» + «how to»( а думалось что выйдет намного больше и интереснее :/ ), поэтому задавайте вопросы и буду стараться добавлять в статью (ну или как это назвать...).