h0rr0rr_drag0n — XMonaD + KDE = ?
Вначале, я вкратце расскажу о том, что такое tiling-wm. Пользуясь компьютером, люди часто не замечают сколько им приходится двигать окошки, чтобы было удобно. Конечно спасают различные варианты умных компоновок, как в KDE например, но это не всегда спасает - злополучные окна все равно перекрывают друг друга.
Некоторым людям не нравилось такое положение дел. Видимо ими и была придумана концепция tiling-wm. Когда обычный Window Manager предоставляет пользователю разбираться с кучей окон, то tiling-wm (а особенно какой-нибудь из "продвинутых") берет эту работу на себя. Об одном из подобных wm я и собираюсь сегодня рассказать. Эта статья будет о XMonaD и способе его интеграции в KDE.
Икс-монад сравнительно "молод", но тем не менее проект активно развивается. Главным образом это происходит благодаря написанию новых модулей (xmonad-contrib), само же ядро сравнительно мало и содержит только основной функционал. Если вы хотите использовать все преимущества XMonaD'a - обязательно установите пакет xmonad-contrib!
Установка и настройка икс-монада весьма проста и незамысловата, даже если вы и не знаете языка Haskell. Например, я до сих пор его не знаю, и это не мешает мне пользоваться XMonaD'ом. Написать свои обработчики расположения окон, воркспейсов, хоткеев и многое другое не так уж и сложно как кажется.
Все настройки содержатся в конфиге ~/.xmonad/xmonad.hs. Неплохо для начала использовать стандартный конфиг, а затем, почитывая документацию, настроить все под себя.
Сайт проекта, где можно найти много документации, скриншотов, конфигов: http://www.xmonad.org
Также доступно маленькое описание возможностей XMonaD'a, здесь: http://ro-che.info/docs/xmonad/
Скриншот икс-монада после его первого запуска приводить не буду, он и так есть на сайте проекта. Приведу свой скриншот, на котором показан XMonaD, который я довольно долго использовал в качестве отдельного WM: http://img27.imageshack.us/img27/1394/snimok61.png
Через некоторое время я решил, что использовать один простой WM не очень удобно в плане интеграции программ друг с другом и различных маленьких плюшек, которые есть в "больших" DE. Я поставил убунту (чиста попробовать!!) и стал использовать гном. Но эти перекрывающиеся окна меня доконали, впрочем как и отсутствие привычных кейбиндингов и я полез на сайт икс-монада в поисках решения, как скрестить XMonaD и Gnome. Решение нашлось довольно быстро - прописываем пару строчек в конфиге икс-монада, устанавливаем в качестве Gnome WM xmonad вместо metacity, перезапускаем гном и все. Все счастливы.
Вот скриншот того что получилось: http://img26.imageshack.us/img26/2410/snimok75.png.
Потом, убунта у меня благополучно сдохла. После банального обновления системы вдруг сами поменялись права на /etc/sudoers, и еще на что-то. Иксы после рестарта не запустились, \me полез в консоль чтобы вернуть все на место, набрал su и жестоко обломался. Я был очень злой (до этого час пытался заставить cups в убунте работать) поэтому я поставил на бук генту. Стал использовать KDE и к нему же, со временем прикрутил XMonaD. Операция "прикручивания" весьма тривиальна и описана на сайте XMonaD'a.
Теперь вкратце о фичах, которые я сейчас использую. Окна приложений, которые я часто использую, группируются по воркспейсам (своего рода рабочие столы) - терминалы на одном; опера, кторрент и акрегатор на втором и т.п. Окна распределяются WM-ом в соотвветствии с их классом - его можно узнать введя в консоли:
xprop | grep WM_CLASS
В результате получим строку вида: WM_CLASS(STRING) = "opera", "Opera". В конфиге нужно использовать последнее значение - "Opera".
Kicker - кедовская панелька - по умолчанию видна, но если задать определенный стиль расположения фреймов (окна в терминологии tiled-wm), то можно скрыть и эту панель. Так у меня сделано на 2 воркспейсе - чтобы ничего не мешало при интернет-серфинге, да и полезная площадь экрана больше.
Хоткеи Alt+F1 и Alt+F2 работают, программы можно запускать как через них, так и при помощи расширения Shell (Alt+P). У этого расширения есть одна интересная особенность - если введенному вами набору символов соответствует только одна программа, то она сразу и запускается - Shell не будет ждать пока вы введете имя программы до конца, ведь и так все ясно. Естественно есть история и автоподстановка команды по табу.
Logout из KDE забинжен на Alt+Shift+Q. Впрочем, покопавшись в конфиге, вы можете забиндить любое действие на это сочетание клавиш. Вообще, у меня, больщинство частоиспользуемых программ запускаются через хоткеи.
Я использую еще одно полезное расширение - AppendFile. При помощи него удобно вести короткие заметки - все что вы введете будет записано в указанный вами заранее файл.
Скриншоты:
http://img7.imageshack.us/img7/787/snimok1.png - так теперь выглядит KDE.
http://img7.imageshack.us/img7/5165/snimok2.png - окна, которым лучше оставаться не растянутыми, такими и остаются (естественно это настраивается).
http://img145.imageshack.us/img145/677/snimok3.png - неперкрывающиеся окна.
http://img7.imageshack.us/img7/8776/snimok4.png - работа с оперой стала намного удобнее.
http://img7.imageshack.us/img7/189/snimok5.png - расширение Shell.
http://img145.imageshack.us/img145/1540/snimok6.png - расширение AppendFile
Мой конфиг - http://depositfiles.com/files/xgzfwe3lf
Ах да, чуть не забыл. Закрыть окно - Alt+Shift+c
Некоторым людям не нравилось такое положение дел. Видимо ими и была придумана концепция tiling-wm. Когда обычный Window Manager предоставляет пользователю разбираться с кучей окон, то tiling-wm (а особенно какой-нибудь из "продвинутых") берет эту работу на себя. Об одном из подобных wm я и собираюсь сегодня рассказать. Эта статья будет о XMonaD и способе его интеграции в KDE.
Икс-монад сравнительно "молод", но тем не менее проект активно развивается. Главным образом это происходит благодаря написанию новых модулей (xmonad-contrib), само же ядро сравнительно мало и содержит только основной функционал. Если вы хотите использовать все преимущества XMonaD'a - обязательно установите пакет xmonad-contrib!
Установка и настройка икс-монада весьма проста и незамысловата, даже если вы и не знаете языка Haskell. Например, я до сих пор его не знаю, и это не мешает мне пользоваться XMonaD'ом. Написать свои обработчики расположения окон, воркспейсов, хоткеев и многое другое не так уж и сложно как кажется.
Все настройки содержатся в конфиге ~/.xmonad/xmonad.hs. Неплохо для начала использовать стандартный конфиг, а затем, почитывая документацию, настроить все под себя.
Сайт проекта, где можно найти много документации, скриншотов, конфигов: http://www.xmonad.org
Также доступно маленькое описание возможностей XMonaD'a, здесь: http://ro-che.info/docs/xmonad/
Скриншот икс-монада после его первого запуска приводить не буду, он и так есть на сайте проекта. Приведу свой скриншот, на котором показан XMonaD, который я довольно долго использовал в качестве отдельного WM: http://img27.imageshack.us/img27/1394/snimok61.png
Через некоторое время я решил, что использовать один простой WM не очень удобно в плане интеграции программ друг с другом и различных маленьких плюшек, которые есть в "больших" DE. Я поставил убунту (чиста попробовать!!) и стал использовать гном. Но эти перекрывающиеся окна меня доконали, впрочем как и отсутствие привычных кейбиндингов и я полез на сайт икс-монада в поисках решения, как скрестить XMonaD и Gnome. Решение нашлось довольно быстро - прописываем пару строчек в конфиге икс-монада, устанавливаем в качестве Gnome WM xmonad вместо metacity, перезапускаем гном и все. Все счастливы.
Вот скриншот того что получилось: http://img26.imageshack.us/img26/2410/snimok75.png.
Потом, убунта у меня благополучно сдохла. После банального обновления системы вдруг сами поменялись права на /etc/sudoers, и еще на что-то. Иксы после рестарта не запустились, \me полез в консоль чтобы вернуть все на место, набрал su и жестоко обломался. Я был очень злой (до этого час пытался заставить cups в убунте работать) поэтому я поставил на бук генту. Стал использовать KDE и к нему же, со временем прикрутил XMonaD. Операция "прикручивания" весьма тривиальна и описана на сайте XMonaD'a.
Теперь вкратце о фичах, которые я сейчас использую. Окна приложений, которые я часто использую, группируются по воркспейсам (своего рода рабочие столы) - терминалы на одном; опера, кторрент и акрегатор на втором и т.п. Окна распределяются WM-ом в соотвветствии с их классом - его можно узнать введя в консоли:
xprop | grep WM_CLASS
В результате получим строку вида: WM_CLASS(STRING) = "opera", "Opera". В конфиге нужно использовать последнее значение - "Opera".
Kicker - кедовская панелька - по умолчанию видна, но если задать определенный стиль расположения фреймов (окна в терминологии tiled-wm), то можно скрыть и эту панель. Так у меня сделано на 2 воркспейсе - чтобы ничего не мешало при интернет-серфинге, да и полезная площадь экрана больше.
Хоткеи Alt+F1 и Alt+F2 работают, программы можно запускать как через них, так и при помощи расширения Shell (Alt+P). У этого расширения есть одна интересная особенность - если введенному вами набору символов соответствует только одна программа, то она сразу и запускается - Shell не будет ждать пока вы введете имя программы до конца, ведь и так все ясно. Естественно есть история и автоподстановка команды по табу.
Logout из KDE забинжен на Alt+Shift+Q. Впрочем, покопавшись в конфиге, вы можете забиндить любое действие на это сочетание клавиш. Вообще, у меня, больщинство частоиспользуемых программ запускаются через хоткеи.
Я использую еще одно полезное расширение - AppendFile. При помощи него удобно вести короткие заметки - все что вы введете будет записано в указанный вами заранее файл.
Скриншоты:
http://img7.imageshack.us/img7/787/snimok1.png - так теперь выглядит KDE.
http://img7.imageshack.us/img7/5165/snimok2.png - окна, которым лучше оставаться не растянутыми, такими и остаются (естественно это настраивается).
http://img145.imageshack.us/img145/677/snimok3.png - неперкрывающиеся окна.
http://img7.imageshack.us/img7/8776/snimok4.png - работа с оперой стала намного удобнее.
http://img7.imageshack.us/img7/189/snimok5.png - расширение Shell.
http://img145.imageshack.us/img145/1540/snimok6.png - расширение AppendFile
Мой конфиг - http://depositfiles.com/files/xgzfwe3lf
Ах да, чуть не забыл. Закрыть окно - Alt+Shift+c