13.04.2013 17:26
wwju — i3wm - верный помощник.
Это печальная история, полная трагизма и ужасных шрифтов в начале истории, но с хорошим концом. В ней я расскажу вам про великолепный тайловый менеджер окон i3wm.Скриншоты
История
К тайловым WM я начал присматриваться после статей на хабре об awesome и i3. Они привлекали меня своей лаконичностью и "простотой", возможностью настройки под себя. И, конечно же, видео с демонстрацией их возможностей на youtube стали для меня своего рода откровением того как нужно работать и того как должны работать оконные менеджеры. К слову, подобные видео сподвигли меня изучить удивительный текстовый редактор VIM.
По ряду причин, включая мою криворукость, я не смог воспользоваться ими на Linux Ubuntu. И даже стал забывать о том что мне следует-таки научиться пользоваться тайловыми WM, чему очень способствовал удобный интерфейс Unity. А вскоре к нему подключилась чудесная программа EasyStroke, которая до сих пор вызывает у меня вау-эффект. Эта программа распознает жесты мыши почти как в браузере opera, только гораздо удобнее настраивается. (Если у вас есть мышь, очень советую её попробовать, вы навряд ли пожалеете).
Но через некоторое время мне посчастливилось/непосчастливилось установить себе последний дистрибутив OpenSuse 12.3 (о его релизе уже писали на welinux). После двух часов попыток привести KDE в удобный вид, меня начали посещать плохие мысли - вернуть все как было. Но мосты к отступлению были разрушены (я не делал бэкапа Linux Ubuntu), и мне оставалось только наступать.
Первым кандидатом на установку пошел awesome, так как мне изначально понравился его внешний вид, наличие выпадающего меню и уже наполненная информацией панелька. Но что-то не полетело, и awesome сам выбирал, откуда читать конфиги - из домашней директории или корневой, а однажды прочитал сразу из двух. Об этом говорится в мане awesome:
Само собой разумеется, что в awesome багов нет. Но могут встречаться ВНЕЗАПНОСТИ.
Тут же в голову пришли мысли об одной ОС, которая не менее ВНЕЗАПНАЯ, а руки вбили в терминал заветное
1 |
|
А вот i3 меня порадовал мгновенным запуском и изначальной готовностью к работе. Дальше можно было и не настраивать, а продолжать работать. Но я хотел не просто работать, а работать с удовольствием.
Внешний вид:
Первым пунктом была настройка внешнего вида. Начал с Gnome Terminal, выбрав шрифт Droid Sans Mono и выставив на фон красивую картинку, которая подходила ему по размеру и немножко изменил цветовую гамму текста, чтобы было видно. Вроде бы на картинке изображены Маленький Принц и Лис, но если это не так, прошу этого не говорить и не рушить мои надежды.
Следующее было сложнее (для меня, который привык работать в GUI) - настроить GTK и цветовую тему. О GTK уже не раз рассказывали в различных вики, скажу лишь, что я выбрал тему Zukitwo и шрифт Cantarell.
Цветовая схема i3 настраивается в конфигурационном файле и главная сложность - подобрать цвета, чтобы они хорошо сочетались друг с другом. Задачу я выполнил на "четыре с мааленьким минусом", но все же приведу свою тему, быть может она послужит кому-нибудь отправной точкой:
Тему я старался подбирать на основе цветов заставки.
Функционал:
Когда-то я читал статью как правильно работать в редакторе VIM, под самоуверенным названием "Все что вы делаете в VIM, вы делаете неправильно", одним из пунктов которой было "автоматизируйте сложное и частоиспользуемое".
В Linux Ubuntu я нередко забывал, на каком рабочем столе лежит нужное окно и метался между ними, в i3 я переименовал рабочие столы из 1,2,3 в интуитивно-понятные vim, term1, opera и тому подобное.
Также я советую пользователям тайловых WM назначить переключение на конкретный рабочий стол не по цифре, а по буквам, на которые проще нажимать. Например, чтобы переключиться на рабочий стол с оперой, я жму Alt+o; VIM - Alt+i. ИМХО, это проще запомнить.
Дальнейший функционал стандартный - приложения в автозапуске, комбинации клавиш на запуск приложений.
В качестве статуса используется дефолтный i3status, который отображает текущую позицию в плеере Amarok, песню, температуру процессора и дату. Я не смог найти в интернете скрипт, как правильно взаимодействовать с Amarok, поэтому выкладываю скрипты сюда, может, кому пригодятся (извиняюсь за возможный быдлокод)
Текущая песня
#!/bin/zsh
#Ищет заголовок песни
music_title=`qdbus org.kde.amarok /Player GetMetadata | grep "title"`
#Удаляет первые 7 символов (слово title)
echo ${music_title:7}
#Ищет заголовок песни
music_title=`qdbus org.kde.amarok /Player GetMetadata | grep "title"`
#Удаляет первые 7 символов (слово title)
echo ${music_title:7}
Позиция песни
#!/bin/zsh
mtime=`qdbus org.kde.amarok /Player GetMetadata | grep "mtime"`
mtime=${mtime:7}
# echo "Длительность композиции: " $mtime
position_get=`qdbus org.kde.amarok /Player PositionGet`
# echo "Текущая позиция: " $position_get
dot_count=35 #Количество символов в ползунке
let "dot_position=(dot_count*position_get)/mtime+1"
# echo "Текущая позиция (точка): " $dot_position
dots='~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
# echo "Количество точек:" ${#dots}
# echo "Точки: " $dots
dots[$dot_position]='+'
# echo "Финальный результат: " $dots
echo $dots
mtime=`qdbus org.kde.amarok /Player GetMetadata | grep "mtime"`
mtime=${mtime:7}
# echo "Длительность композиции: " $mtime
position_get=`qdbus org.kde.amarok /Player PositionGet`
# echo "Текущая позиция: " $position_get
dot_count=35 #Количество символов в ползунке
let "dot_position=(dot_count*position_get)/mtime+1"
# echo "Текущая позиция (точка): " $dot_position
dots='~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
# echo "Количество точек:" ${#dots}
# echo "Точки: " $dots
dots[$dot_position]='+'
# echo "Финальный результат: " $dots
echo $dots
В планах:
- Найти GTK-тему, в которой будут отображаться нормально все приложения.
- При помощи dzen2 выводить на рабочий стол случайные цитаты из локального хранилища на моем компе.
- Возможно, изменю тему, сделав её менее розовой.
Вывод:
Ну и напоследок, прямо как в практической работе в колледже сделаю вывод: переход на использование i3 стал для меня чем-то вроде перехода на Linux, перехода на VIM, перехода на ZSH, то есть стало еще более удобнее работать.
- Сам i3 прост в конфигурации, его настройка описана на русском языке, более подробную информацию можно найти в официальном руководстве на английском. Работает быстро, без глюков.
- Из "недостатков" - пропало ощущение мак оси - когда все анимированно и красиво. Но если подумать, все бренно, и мы должны быть скромны.
- Требует некоторой настройки, особенно это замечается в ужасной дефолтной GTK-теме и шрифтах. Но это не относится к самому i3.
- Нет "выпадающих" меню как в GNOME 2, меню квадратиками как в Unity, есть dmenu, которое минималистичным аналогом Alt+F2 в KDE.
- Не нагружает систему, что особенно критично для слабых машин.
- Уменьшает метания между мышкой и клавиатурой, может стать верным другом и помощником вимеру или емаксеру. Или обладателю ужасного тачпада на ноутбуке.
Надеюсь, кто-нибудь еще, благодаря моему посту попробует этот чудесный тайловый оконный менеджер.
А также буду рад услышать ваши идеи о настройке i3wm.
Лучше только не Alt, а Meta4
Я уже два раза встречался с подобными сочетаниями через Alt, но на моей клавиатуре Alt нажимать гораздо удобнее, поэтому Meta4 я почти не использую.
concky-cli
Где ж вы раньше были!?
К сожалению, конкретно "amarok conky" я не гуглил, а ведь там как раз и есть рабочие примеры :)
Ну да ладно, ползунок все равно пришлось бы писать :)
но на моей клавиатуре Alt нажимать гораздо удобнее, поэтому Meta4 я почти не использую.
ну не знаю - мне на всех клавах удобнее пользовать Alt как Meta3 - для емакса, а клавишу-с-флажком (интересно, как она все таки правильно называется?))) ) - под WM.
C флажком может быть следущая неприятность - на многих ноутах он есть только слева - но и это не проблема - справа (рядом с правым Сtrl) обычно есть кнопка-с-значком-меню - вешаем на нее вторую Meta4 и жизнь прекрасна
PS с Alt есть куча люто-бешено удобных сочетаний в консоли - a la -
Alt + . - подставить предыдущий аргумент
Alt + Backspace - удалить слово
Alt + стрелки - перемешение курсора по слову
итд.
Вы меня убедили! Но учтите, за мои вогнутые внутрь большие пальцы к старости ответ несете вы! :)
странно, я когда слепую печать осваивал Alt вроде как средними пальцами полагалось нажимать O_o.
Ну, не все учились правильному набору. Я вот тоже иногда нахожу более удобным слегка сдивнуть большой палец с пробела, чтобы нажать на Alt, хотя и знаю как правильно. То ли дело в конкретной клавиатуре, то ли я недоучился, хз.
Вероятно, дело в клавиатуре. Достал сейчас эргономичную клавиатуру, которая, к несчастью, на стол не помещается и попробовал печатать.
Alt действительно жмется средними пальцами
Alt действительно жмется средними пальцами
Когда я осваивал слепую печать, Stamina мне не говорила ничего про существование Alt :)
да! да! после zsh и vim... Это логичное продолжение, сам присматривался несколько раз. На этот пойду ставить )))
Например, чтобы переключиться на рабочий стол с оперой, я жму Alt+o; VIM - Alt+i. ИМХО, это проще запомнить.
Да еще чутка дополню данную систему
Meta4 + Alt + <буква> - запуск приложения
Meta4 + <буква> - переключение на стол с приложением
Хорошая идея, как сяду за компьютер, приведу её в действие. Тогда не стыдно будет и конфиг выложить :)
Еще у меня возникала мысль, чтобы при переключении на определенный стол, если не открыто приложение - открывать его. Будет, я думаю, удобно :)
Еще у меня возникала мысль, чтобы при переключении на определенный стол, если не открыто приложение - открывать его. Будет, я думаю, удобно :)
Спасибо, добавил в закладки :)
Когда в следующий раз буду менять тему, воспользуюсь этим сайтом :)
Когда в следующий раз буду менять тему, воспользуюсь этим сайтом :)
Блин, засветился на скринах :)
А можно статейку то под кат убрать? А то простыня на глагне.
А можно статейку то под кат убрать? А то простыня на глагне.
Статью под кат убрал. Почему-то в первый раз не сработал fcut, видимо, и обрезал вступительную часть поста.
Не понял?
Блин, засветился на скринах :)
Не понял?
> Почему-то в первый раз не сработал fcut, видимо, и обрезал вступительную часть поста.
у меня никогда не срабатывает - нажимаешь редактировать - башка статьи пропадает.
у меня никогда не срабатывает - нажимаешь редактировать - башка статьи пропадает.
Блин, засветился на скринах :)
Ааа, вон оно что
Разрешите использовать ваш ник для скриншотов :)
Лучше только не Alt, а Meta4 (она же клавиша-со-флажком). Alt - может быть заюзан в хоткеях других программ.
как вариант concky-cli запользовать?