Минувшим летом я участвовал в Gentoo Screenshot Contest 2012[0], но к сожалению не попал даже в пятёрку призёров. Меня попросили запостить тот же самый скриншот на лор, хотя, честно говоря, трудно представить кому всё это может быть интересно.
*** ОКРУЖЕНИЕ ***
В качестве window-manager'а используется xmonad. Все нарекания к иксмонаду сводятся к недостатку желаний - трудно придумать, что он в данный момент не умеет делать.
Трэем служит минималистичная утилита trayer, никаких нареканий пока не было. В трее висит скайпик, nm-applet и davmail[1].
В качестве бара используется xmobar-usable, доделанный[2] из xmobar добрым человеком до умения сжирать Haskell-код в виде конфига, а не просто набор сухого бездушного текста.
Концепцию воркспейсов можно сформулировать следующим образом: один стол - одна задача. Конечно иногда сталкиваюсь со случаями «много столов - одна задача» и даже «один стол - много задач», но это действительно редкость.
Кроме того, нахожу крайне полезным иксмонадный скратчпад[3] - удобно иметь многотабный урхвт-блокнотик, который можно получить из любого воркспейса за O(1). Особенно это удобно, когда вдруг приходит идея новой песни и нужно срочно куда-то её записать.
Скриншот сделан с использованием иксмонадного модуля xmonad-screenshot[4], с помощью которого можно описывать любые предикаты для набора ворксейсов и навешивать их на нужные хоткеи.
Насчёт ШГ - единожды попробовав терпинус отказаться от него уже невозможно. Большая часть конфигов обитает на гитхабе[5].
Справа loh и lohd, слева ncmpcpp. Loh[6] - небольшой мульплеерный ласт.фм скробблер, разнесённый на сервер и клиент. Никак не доходят руки доделать его полностью ⇒ он одновременно и используется и дебажится :[
Скрипты в ирсси: $> ls ~/.irssi/scripts/autorun/ adv_windowlist.pl hilightwin.pl nickcolor.pl nicklist.pl splitlong.pl usercount.pl
*** ВОРКСПЕЙС Λ *** http://zfh.so/hell/30c0ad9eea534450d007b9f9831cb19d3f0f5847.png Браузер firefox + pentadactyl с плагином buftabs[7], который полностью аналогичный одноимённого плагиму к виму - отображения набора буферов (табов) с их номерами. :b даёт быструю навигацию по табам. Цветовая схема в пентадактиле pemees[8].
gvim с исходником статьи, оформляемой в latex'е. Рядом открыт apvlv[9] (если кто не знает, это такой легковесный бестолковый пдф-ридер с вимоподобным управлением).
gvim и две инстанции tig'а. Tig[10], если кто не знает, это такой быстрый удобный восхитительный гит-клиент с TUI на ncurses.
В виме открыты два решения проблемы автоматизированной установки своего набора конфига из github://dotfiles на рабочую машину. У многих, знаете ли, есть install.hs или ещё пуще install.sh, но планета постепенно переезжает на Biegunka'вские скрипты. Биегунка[11], если кто не знает, это такой фреймворк для работы с гиторепами и всякими конфигами с возможностью подтирания за собой.
---- В следующих выпусках: - почему trayer неок, а stalonetrayer ок? - кто сломал xmobar? - вимоподобное управление в ирсси - чем плох apvlv и чем хороша zathura
Говорят, чтобы выучить язык программирования — следует сесть и написать на нём что-нибудь полезное и в меру сложное. Например, понятный и аккуратный обработчик экспериментальных данных вместо той python-солянки-с-лапшой, коей приходится пользоваться ныне.
А работается легче и охотней всего, конечно же, дома в свободное время. В уютном и привычном окружении. С одной стороны — код в емаксе, с другой — туториал, в скрэтчпаде — приятная музыка.
О системе:
Debian squeeze с xmonad.
На левом мониторе на постоянной основе расположились:
mcabber - мой мессенжер
mutt - почтовый клиент
htop - мониторинг системы
ncmcpp - клиент для mpd, музыкального сервера
newsbeuter - rss-читалка
Обычно там ничего другого не наблюдается.
Основное время смотрю на правый монитор. На скрине открыт vim c сорцами, которые прилагаются к книжке «хакинг искусство эксплойта» (Джон Эриксон). По ней по немногу изучаю СИ. Очень интересно читать, в паре с книжкой K&R «Язык СИ».
Из гуя практически ничего нет. пользуюсь лишь iceweasel'ом, gimp'ом иногда (редко, так как не люблю ничего связанного с графикой) и LO, для чтения присланных документов. Ах да, еще evince в качестве читалки и pcmanfm, когда надо рассортировать фотки по каталогам.
Прошу особое внимание обратить скрину с ЛОРом... дело в том, что сегодня поставил iceweasel 10 из backports. 3.5 вполне устраивал, но решил просто поэкспериментировать, да и хотелось поддержку html5.
Интерфейс меня конечно не пугал, так как я все равно пользуюсь vimperato'ом, но вот ряд неприятных моментов возник:
Появилась всплывающая строка состояния... нагло-белого цвета, не смотря на тему. также всплывает при наведении на ссылку... все это у меня уже есть в строке вимператора. вырубил с помощью стиля для stylish
На вкладках появился паскудный градиент и закругленные поля. решений пока не искал, может, кто-то уже поправил? также бесит цвет активной вкладки.
Панель для дополнений убрал, а нужные иконки (noscript и stylish) перенес на строку вимператора... но их как будто молотком пришибло... как вылечить?
Все диалоговые окна, порождаемые яваскриптами имеют такой же предательски белый цвет.
Вот, если кто подскажет, как побороть последние три пункта - буду благодарен.
Мой xmonad, которым я уже замучил несчастных пользователей bbs.archlinux.org теперь добрался сюда.
GVim - кусок курсовой. (Disclaimer: я не программист, поэтому там такой говнокод)
ncmpcpp - музыка.
ШГ - terminus.
Dzen2 - куча ненужной информации.
Мадока - обои.
Из особенностей: двухмерная навигация по окнам и хук, который делает неактивные окошки полупрозрачными (композитинг - xcompmgr). А то эту рамочку вокруг окна слишком долго искать.
Думаю, что вдоволь наигрался с каноничным тайлингом.
Конкретно Иксмонад раздражает тем, что каждое новое приложение с всплывающими окнами нужно настраивать заново (иногда очень костыльно), не везде работает фулскрин, картинка дёргается и мерцает при переключении столов / открытии терминалов.
Из мелочей не понравилось то, что не могу поставить разные обои для рабочих столов. Нет нормальной прозрачности, xcompmgr и его форки срезают у терминалов рамку.
Плюсы
- Слои на любой вкус для каждого рабочего стола отдельно. Плюс ими можно очень гибко управлять с клавиатуры (зеркалить, переключать, изменять количество окон во фрейме мастера и т.д.).
- Перемещение указанных приложений на заданный стол при запуске. Опциональная фокусировка на нужном столе при запуске приложения.
- Скретчпады. То есть я могу повесить на любую клавишу приложение и вызывать его на любом столе по нажатию этой клавиши. И скрывать повторным нажатием. Что-то вроде guake, но не только для консоли и с любой геометрией. Например можно забиндить htop, ncmpcpp, liferea.
Это не всегда удобно — всплывающие окна появляются под скретчпадами. Но возможно это настраиваемо.
- Один большой заголовок. Особенно актуально для браузера.
- Xmonad познакомил меня c dzen (верхняя и нижняя панельки, система уведомлений) и dmenu. Я буду таскать их теперь за собой всюду.
- Если использовать *только* консольные/текстовые приложения — Xmonad идеален. То есть на работу его поставить можно более чем. Особенно если там железо не очень.
Планы
Попробовать openbox + pytyle. Думаю что тайлинг удобен только на определённых рабочих столах, хочу проверить эту теорию.
Это мое рабочее окружение. После долгого использования KDE захотелось чего то легкого и тайлового. Сначала был awesome, но прижился xmonad. В качестве статусбара - dzen2 с транка.
Нижняя панель - conky | dzen2.
Трей - stalonetray.
Тема mc - своя.
Терминал - urxvt.
Для музыки - mpd + ncmpcpp.
В трее радостно сообщает о вставленной флешке tinymount, о котором и хотелось поведать. После перехода на легковесный WM не хватало автомонтировщика на подобие KDEшного - чтобы неназойливо сообщал и в пару кликов можно было смонтировать/отмонтировать. Поискав что есть готовое и не найдя ничего, решил написать свой. c++/Qt выбрал потому что мне так быстрее. Умеет сообщать о добавленных/удаленных устройствах, монтировать/отмонтировать, монтировать автоматически. Диалог настройки tinymount'а так же показан. На странице «Downloads» на github есть ebuild и deb для i386 (amd64 под рукой не оказалось, но дебы можно построить с бранча debian).
Спустя несколько месяцев после появления моего первого скриншота, я решил что мой десктоп достаточно изменился для того, чтобы показать его вновь. На пикче по прежнему почти дефолтный xmonad, теперь более прилизанный. Я активно использую все свои семь рабочих столов, поэтому решил сделать скриншот каждого в отдельности:
main
Используется для всего, что не попадает под другие теги. Администрирование системы, управление аудиопроигрывателем, просмотр фильмов — всё это обычно происходит здесь.
web
Здесь живет, не покидая своего тега, браузер. Это не всегда firefox, бывает chrome, изредка стал посматривать в сторону uzbl, но лень прочитать документацию одолевает желание научиться им пользоваться.
misc
Документацию, книги, как правило, держу открытыми здесь. Иногда запускаю виртуальную машину, если тег play занят.
dev
В последнее время стал присматриваться к текстовому редактору sublime2, хотя до сих пор использую gvim как основной. Пока есть свободное время, пытаюсь освоить rails.
im
Skype, gajim, mcabber, mutt. Разметка тега автоматически подбирает подходящее расположение для ростера.
gimp
Пользуюсь редко, но решил все таки показать ☺
play
Компьютер используется не только как пускалка для браузера, привычка играть в Warcraft III сохранилась со времен использования офтопика.
Подробно писать как и что настраивал не стану, все файлы с конфигурациями можно найти тут.
Специально для лора набросал сегодня даже небольшой скрипт:
git clone git@github.com:stdcall/dotfiles.git $HOME/dotfiles
cd $HOME/dotfiles && rake install
Обоина нигде не засветилась, любопытные могут посмотреть тут.
Благодаря постоянным переделкам макета скучать не приходится, все время нужно что-нибудь пофиксить. В этот раз руки дошли до wiki, и до следующего обновления движка стиль можно назвать готовым. Скачать-бесплатно на userstyles.org.
А на смену ion3 пришел xmonad. Динамический тайлинг оказался кое-где удобнее статики, а xmonad позволяет совмещать оба способа.
ion3 таки задолбал, в fvwm таки не смог сделать как хочется.
В итоге имеем вот это. Плюсы по сравнению с ионом в том что он что держит ewmh, xft, имеет динамический тайлинг(о нём ниже), пока развивается(вроде), много конфигов в инете, много любителей.
Плохо то что haskell сложный язык, к тому же в разных конфигах применятся разный синтаксис для описания одного и того же. В итоге сделал пока далеко не всё что хотел.
По поводу статического тайлинга — таки можно создать поведение, которое напоминало бы ion3 с помощью comboP. Справа(ну или слева если инвертировать) появляется черная область, в которую вносится только то, что указано далее. Ну, например, копыто. Иначе говоря можно управлять тем что куда упадет.
xmonad 0.9.2
xmobar 0.13
Что бы хотелось:
1)Улучшенный ComboP, чтобы позволял держать такие области для верха\низа и тп, а не только левой части(по умолчанию, обходится reflectHoriz).
2)Разные обои для разных рабочих столов. Такая фича есть в fvwm. Я тоже хочу.
3)Сделать нормальные гапы для xmobar, то есть своего рода spacing для него. Как это сделать пока не придумал.
4)Я ещё лучше dzen2 вместо xmobar. Конфигов в тырнете полно, но вот как применить это всё не пойму.
5)Возможно есть такое, что например сменить layout при появлении копыта или что-то вроде этого.
В последнее время стал достаточно много времени проводить за нетбуком (Lenovo IdeaPad S9), в связи с чем приходится и самому в некоторой степени подстраиваться, и процесс работы переделывать, чтобы из этой железяки какую-то пользу извлечь.
Заодно приходится отворачиваться от тех товарищей-DE-клепателей, которые нынче как-то решили всячески ограничивать способность иметь много окошек (например, затруднением быстрого доступа к ним) и придумывают всякие странные концепции.
А окошек иногда приходится иметь достаточно для того, чтобы начинать понемножку в них путаться. Тут, конечно, спасает подход с отдельными воркспейсами для каждой задачи, но и дополнительная возможность их обзора не помешает.
Для XMonad'а есть несколько интересных решений, я остановился на двух. Первое: XMonad.Actions.GridSelect. Выводит такую вот цветастую мозаику, по которой можно относительно быстро передвигаться, поддерживается мышекликание. Для каждого класса окна — свой цвет, поэтому при желании можно это запомнить и чуть быстрее ориентироваться. Но вот беда: в нём нет поиска (по крайней мере, пока нет). Что делать?
Оказывается, в xmonad-contrib есть такая интересная вещь, как XMonad.Prompt. Ей я, например, заменил dmenu (XMonad.Prompt.Shell) — как бонус получил возможность запускать программы с аргументами. Получил и возможность поиска по окнам — XMonad.Prompt.Window. Вылазит промпт снизу (так емаксерской душе приятнее), автодополнение и прочие штуковины, конечно же, поддерживаются.
Так и живём.
P.S. Debian Wheezy, третье ведро, emacs-snapshot из http://emacs.naquadah.org/
Везде на скриншоте используется шрифт Liberation Mono 9, сглаживание для ≤ 8pt отключено.
Yo!
Не так давно на просторах github.com нашёл клёвые цветовые схемы семейства Solarized (или же непосредственно репозиторий).
В репозитории можно найти цветовые схемы под популярные текстовые редакторы, такие как: vim, emacs. Или же вообще под mutt.
Они очень мне понравились и они бережны к моим глазам.
Здесь можно найти готовые два варианта для #include в .Xdefaults. В частности Solarized Dark и Solarized Light
В качестве терминала используется URxvt.
WM - xmonad.
Слева в vim мне приспичило немного подправить конфиг xmonad'a.
Справа сверху опять же в vim (с включенной фичей плагина Nerd-tree для дерева файлов) подпиливается шаблон блога, который основан на Jekyll.
В связи с выпиливанием текущего раб. стола из-за надоедливого тиринга в первой икс сессии (работать можно лишь во ~2 сессии)(если включить compiz, то все нормально), выкладываю свои наработки в настройки сего чуда :3, а сам сваливаю на standalone compiz.
Дистр - Gentoo, gcc-4.5.2, всего лишь -0s.
WM - Xmonad-0.9.2
Панельки - xmobar-0.11.1
uname -svr
Linux 2.6.38.5-zen-nstm0 #4 ZEN SMP Wed May 18 00:00:38 YEKST 2011
Терминал - urxvtd
Гуйцы:
Тема гтк - Any Color You Like
Иконки - тоже самое
ШГ - Ubuntu Font Family, в консоли терминус
Что из используемого:
chromium
pidgin
feh :3
Консоль:
mpd + ncmpc
mc
mplayer
nano :3
Скрин с гуйцами: Здесь
Обоина с котэ: Котэ!
P.S. Проследить за качеством шрифтов не могу, ибо на моем crt-мониторе все ШГ :3.