Идея организации окон мозаичным способом мне приглянулась сразу, как только я узнал о Xmonad. Слишком уж часто я замечал, что много энергии и внимания расходуется на манипуляцию окнами: сворачивание/разворачивание, частые переключения между двумя-тремя окнами для синхронизации информации между ними, долгая «мышиная возня» для того, чтоб разместить несколько окон рядом, и т. п. Мозаичный же подход предлагает автоматическое и более оптимальное размещение окон.
К сожалению у Xmonad слишком высокий порог вхождения для новичков.
Во-первых, смена парадигмы окружения рабочего стола сама по себе сложна и требует времени на адаптацию. Запустив Xmonad я себя чувствовал одновременно потеряным и беспомощным — все мои навыки не работали в новой среде. Почти так же я себя почувствовал как при первом знакомстве с Enlightment 8 лет назад, но там хоть были клёвые выдвигающиеся панельки.
Во-вторых, сложный процесс конфигурации. Конфиг нужно писать на Хаскеле. Конечно, это даёт широчайшие возможности по затачиванию среды под свои нужды. Да, хорошему программисту рекомендуется в год изучать хотя бы один новый язык. А Haskell — это, возможно, наше светлое функциональное будущее. Но когда нужно решать сугубо «бытовые» проблемы вроде подстройки клавиатурных сочетаний, неизвестный язык становится серьёзной преградой для внедрения новых инструментов. К тому же, после правки конфига, Xmonad нужно было по-новой компилировать.
Bluetile

К счастью, нашёлся добрый человек, — Jan Vornberger, — который захотел исправить ситуацию и сделать Xmonad более доступным для простых смертных. Итогом его работы стал Bluetile .
Главная задача, которую ставил перед собой Jan — создать мозаичный оконный менеджер, которым можно эффективно пользоваться с нулевой предварительной подготовкой. Добился он этого оставив привычные элементы управления вроде titlebar с кнопками, панелей задач и быстрого запуска и предоставив полный доступ ко всем функциям не только с клавиатуры, но и при помощи мыши. Менеджером можно пользоваться «из коробки», не ковыряясь в настройках и не читая длинных мануалов. Кроме того, он прозрачно интегрируется с GNOME.
Небольшой недостаток Bluetile заключается в нетривиальности установки. Проект молод и ещё не успел обзавестись ни PPA, ни даже .deb пакетом. Но, хотя Bluetile и нужно собирать из исходников самому, всё не так сложно, как можно подумать. Для Ubuntu 9.10 процесс выглядит так.
Haskell
Конечно же, нам понадобится Хаскель и биндинги для библиотек GTK+ и Glade.
$ sudo apt-get install ghc6
$ sudo apt-get install libghc6-gtk-dev libghc6-glade-dev
Cabal
Cabal для Haskell — тоже самое, что и easy_install для Python, gem для Ruby, apt для Debian/Ubuntu. В общем, вы поняли, о чём я :)
Кроме того, что кабал умеет разруливать зависимости между пакетами, он хорош ещё тем, что ставит всё в ~/.cabal. Т.е. можно не переживать, что система будет захламляться файлами, которые потом нужно будет искать как иголку в стоге сена.
# ставим необходимые библиотеки
$ sudo apt-get install libghc6-network-dev libghc6-parsec-dev libghc6-mtl-dev libghc6-zlib-dev
# качаем исходники кабала...
$ wget http://haskell.org/cabal/release/cabal-install-0.6.2/cabal-install-0.6.2.tar.gz
# ...распаковываем...
$ tar -xvvf cabal-install-0.6.2.tar.gz
#...и устанавливаем
$ cd cabal-install-0.6.2 && ./bootstrap.sh
# для удобства, сделаем ссылку в /usr/local/bin/
$ sudo ln -s $HOME/.cabal/bin/cabal /usr/local/bin/cabal
Собственно, сабж
$ cabal update
$ cabal install bluetile
~/.cabal/bin/bluetile
В общем, если вы тоже периодически ловите себя на мысли, что «борьба» с окнами отнимает слишком много сил — вам, определенно, следует посмотреть в сторону мозаичных оконным менеджеров и попробовать Bluetile. В качестве бонуса: список хоткеев и для любителей cheetsheets — шпаргалка по Xmonad.