Показаны сообщения с ярлыком advanced. Показать все сообщения
Показаны сообщения с ярлыком advanced. Показать все сообщения

3 ноября 2008 г.

Fluxbox, simple and powerful

С момента последней записи прошёл месяц, вышел свежий Ubuntu Intrepid Ibex. Но о нём несколько позже. Сегодня я напишу об оконном менеджере, с которым некоторое время назад я уже пробовал знакомиться, но не очень успешно. Всё удовольствие портили локали меню: часть оного была в UTF-8, часть в KOI8-R, а на выводе всегда выходили кракозябры. С недавнего времени я пользуюсь en_GB локалью, поэтому часть проблем с кодировками для меня пропала, в том числе и эта. Теперь же о самом Fluxbox. В теме этой статьи уже обозначены два его неоспоримых преимущества: он прост и эффективен.

30 сентября 2008 г.

Подготовка фотографий к публикации в интернете. Часть 2.

Благодаря комментариям читателей узнал несколько интересных вещей по теме. Итак, во-первых, оказывается, convert умеет производить «умный» ресайз: достаточно вместо ширины ввести квадрат, например 1024x1024, тогда convert «впишет» изображение в этот квадрат, сохраняя соотношение сторон исходной картинки.

Во-вторых, при уменьшении картинки часто возникает необходимость в повышении чёткости оной. Более подробно об этом писал Владимир Долженко.

Подготовка фотографий к публикации в интернете.

Не так давно я обзавёлся цифровой камерой, и на моём жёстком диске гордо заняла своё место и начала расти немалая стопка фотографий. Захотелось ими поделиться, но не тут-то было: мой асимметричный канал всяко противился загрузки фотографий в их исходном качестве (по 3,5 МБ на фото). Поэтому потребовалось придумать что-нибудь этакое, способное ресайзить фотографии пачками. Ещё мне хотелось поместить на них т.н. watermark («водяной знак») — поместить в один из уголков своё имя.

1 сентября 2008 г.

О раскладках клавиатуры — 2

Рассказывая о раскладках клавиатуры в прошлый раз, я забыл упомянуть о типографской раскладке Ильи Бирмана. Исправляю это упущение. Особенностью этой раскладки является наличие ещё одного регистра клавиатурной раскладки: по клавише AltGr, или «правому Alt», мы получаем возможность использовать некоторые особенно полезные в блоггерском деле символы Unicode, например кавычки-«ёлочки» или кавычки-„лапки“, или, очень важный, но часто игнорируемый символ, — длинное тире, знак «ударе́ния» и знак §параграфа. Полный список символов можно обнаружить на сайте Ильи. Однако, он предлагает решение для Windows. Внимательный читатель найдёт в самом низу страницы с описанием типографской раскладки ссылку на некую «версию для Линукс».

24 июля 2007 г.

Qt клиенты для MPD

Как я и обещал, напишу о нескольких MPD клиентах на основе библиотек Qt. К сожалению, они менее популярны, чем GTK, поэтому клиентов мне попалось всего три (клиентов MPD на GTK и Java намного больше). И каждый из клиентов - по-своему интересен. Конечно, все клиенты так или иначе работают с одинаковыми функциями, таково уж ограничение mpd. Однако, в отношении графического оформления всего этого великолепия каждый разработчик может творить, как ему вздумается. Полный список клиентов со ссылками на них можно найти на официальном wiki проекта MPD. К сожалению, в репозитариях ubuntu не оказалось ни одного Qt-клиента для MPD. Все описанные ниже клиенты собирались мною. При сборке ни один компилятор не пострадал (однако, не забудьте, что наличие установленного пакета qt-apps-dev не повредит). :)

kmp
Первое слово, за которое зацепился глаз - kmp. Есть в этой букве K что-то притягательное для пользователя KDE, не находите? :) Итак, оформление крайне простое и винампоподобное. Несмотря на то, что фактически винамповых окон нету, сходство видно невооруженным глазом:

Плейлист и индекс папок/тегов не отличаются особой изящностью, но и глаза не режут. Все просто и удобно. Отдельно стоит отметить иконку в трее: она не только отображает статус, но при нажатии на нее средней клавишей, пользователь может приостановить воспроизведение. Кому-то может понравится. В общем, клиент прост и в меру удобен. Перейдем к более примечательным клиентам.

Quimup
Все гениальное - просто. Фраза старая и знакомая каждому. И, каждый из читателей может привести пример чего-нибудь гениального и простого. Вот и я приведу такой пример. Quimup - один из лучших клиентов MPD, с которыми я познакомился. Интерфейс главного окна все также интуитивно понятен, как и у kmp. Нажатие на кнопку "список" вызывает редактор плейлиста, а "молния" - опции. (К слову сказать, эта "молния" - символ этого клиента и... угадайте какого проигрывателя? ;) )

Однако, в окне помещается обложка альбома (или, после нажатия на нее - комментарии к дорожке, если mpd настроен на поддержку этой функции) и небольшой "светодиод", работающий как индикатор состояния (не соединен с сервером - красный, соединен, но простаивает - синий, соединен и играет - голубой, приостановлен - желтый). На иконке проигрывателя в трее такой же "светодиод", который смотрится аккуратно и стильно. По нажатии на него средней клавишей мыши проигрывание приостонавливается. Однако, особую ценность для меня представляет редактор плейлиста, который выполняет все мои требования к оному:

Отображать индекс можно либо по папкам, либо по исполнителю-альбому. Здесь же имеется один неприятный момент. Если в заголовках файла не указан альбом или исполнитель, то в индексе по исполнителю-альбому песня не отображается.

Кроме всего вышеозначенного, Quimup поддерживает запуск и выключение mpd вместе с клиентом, для этого нужно выставить необходимые настройки во вкладке 'Server'.

UPD: У меня в kubuntu 7.04 Quimup работает, к огромному сожалению, крайне нестабильно и вызывает зависание сервера.

QMPDClient
Другой, не менее замечательный клиент, QMPDClient, основан на библиотеках Qt4. Это самый "продвинутый из рассматриваемых здесь клиентов. Я думаю, скриншот проиллюстрирует мою последнюю фразу лучше всяких слов.

Музыкальные проигрыватели можно условно разделить на две категории: состоящие из отдельных окон и "монолитные", где плейлист, библиотека и элементы управления находятся в одном окне. QMPDClient относится именно к этой категории. В окне программы умещается все необходимое, включая вкладку для интернет-радио. Кроме того, на борту у этого клиента имеется несколько других интересных функций: отображение названия текущего трека во всплывающем окошке и "угадывание" заголовков по имени файла, а использование для него Qt4 дает результат в виде красивого рендеринга шрифтов.


В заключение
Возможность выбора клиента для mpd очень замечательна тем, что она соответствует самой идее свободного ПО: пользователь в праве выбирать то, что нравится ему, никто ничего не навязывает. Поэтому MPD идеологически правилен. Кроме всего прочего, если приспособиться, он чертовски удобен. Надеюсь, что статья оказалась полезна читателю, и помогла выбрать клиент для себя или просто узнать что-то новое. И я очень надеюсь, что в репозитариях Ubuntu появятся Qt-клиенты для MPD.

Конечно же, существует множество других клиентов: GTK2, Java или просто клиенты ввода с устройств. Если читателю будет угодно, я попытаюсь осветить некоторые из них позже. Спасибо за внимание. :)

Music Player Daemon

В один прекрасный момент меня окончательно достала заторможенность amaroK, очень хорошего KDE'шного проигрывателя. Заторможенность, как мне показалось, вызвана встроенным файловом браузером, да и при добавлении в плейлист бедный amaroK каждый раз перечитывает теги тех композиций, которые когда-то ранее он уже проигрывал. Так часто упоминаемый мною MOC поглюкивал с ALSA-выводом звука и зашкаливал даже при нормальных настройках громкости. (Проблему я уже решил, но об этом в другой раз.) Поэтому я решил рискнуть и попробовать какой-нибудь другой проигрыватель. От проигрывателя мне требуется следующее: быстрота запуска и отклика, универсальность в поддержке форматов и простой и понятный интерфейс (по возможности - Qt3 или Qt4), включающий в себя максимально удобную интеграцию файлового браузера и плейлиста (собственно, как в MOC или amaroK), а так же, очень желательно, поддержку отправки статистики на last.fm. На этот раз, отказавшись от тучи различных вариантов (благо проигрывателей навалом), я остановился на Music Player Daemon.

Те, кто внимательно читал мои комментарии в этом блоге, могут удивиться - мне ведь раньше очень не нравился MPD. Мне всегда не нравилась одна его особенность: необходимость просканировать папки с музыкой прежде, чем он сможет эту музыку играть. Этакая "навязанная" JukeBox'овость, если позволите, мне не нравится и сейчас. Однако, в этом и "фишка" mpd. Объясню, почему. Как я уже написал выше, все проигрыватели со встроенными браузерами тормозят в двух местах: при чтении папок и при чтении заголовков музыкального файла. Тормозят независимо от того, используют ли они ncurses или Qt3. Однако, если вся эта информация уже проиндексирована и хранится в просто понимаемом проигрывателем файле, то скорость его работы резко возрастает. Добавьте к этому серверно-клиентскую работу, поддержку last.fm и возможность подключения различных клиентов, коих на просторах Интернета - десятки, на любой вкус. В общем, есть над чем задуматься.

Установка в ubuntu, как всегда, простая и непринужденная:
$ sudo aptitude install mpd

Если нужна поддержка last.fm, следует проделать и следующее:
$ sudo aptitude install mpdscribble
$ sudo dpkg-reconfigure mpdscribble

И ответить на все вопросы.

После установки рекомендуется почитать man mpd, man mpd.conf и man mpdscribble. Если пользователь в системе один, рекомендуется настройки задавать в /etc/mpd.conf и /etc/mpdscribble.conf. Если несколько - в ~/.mpdconf и ~/.mpdscribble/.mpdscribble.conf. В манах это написано, но я здесь продублирую: очень полезно сделать симлинки папок с музыкой в уже указанной в конфиге папке - /var/lib/mpd/music. В остальном файл конфигурации прекрасно закомментирован и вполне доступен любому пользователю, знакомому с английским языком.

Перейдем к клиентам. Поскольку, как я уже сказал, их существует в избытке, я буду рассматривать их по частям. Начну с консольных. Вообще, мне известно всего лишь два: mpc - просто команда для дачи инструкции серверу и ncmpc - полноценный ncurses-клиент. К ознакомлению рекомендуются оба. Добываются способом, привычных нам с самых первых страниц этого блога:
$ sudo aptitude install mpc ncmpc

Пара примеров использования mpc (допустим, вы уже добавили все необходимые симлинки в нужную папку, комментарии отделены двумя слэшами):
$ mpc update //обновим индекс
$ mpc ls //просмотрим корень индекса
$ mpc add path/to/file.mp3 //добавим файл в плейлист (автодополнение работает)
$ mpc play //запустим проигрывание
$ mpc //посмотрим статус проигрывания

Очень подробная инструкция по использованию дана, как обычно, в man mpc. А я перейду к другому клиенту, особенно дорогому мне, как любителю MOC, скриншоты объяснят все куда красноречивее, чем слова.

На первом скриншоте - изначальное состояние окна. Мы видим уровень громкости, режим (r - повтор, x - режим ознакомления, z - режим вразнобой), плейлист, состояние воспроизведения. Клавиши 1-6 (F1-F6) переключают режимы: 1 - помощь, 2 - плейлист, 3 - навигация по папкам, 4 - навигация по тегам, 5 - поиск, 6 - часы.

В режиме помощи можно ознакомиться с горячими клавишами и даже назначить новые. Интерфейс прекрасно русифицирован. Управление покажется очень знакомым людям, часто пользующимся vim: с помощью клавиш j/k ведется навигация по папкам, плейлисту и даже помощи.

Навигация по папкам (да и по тегам) вполне стандартная - со времен mc более удобного способа еще не изобрели.

Вот так, теперь я пользуюсь проигрывателем, против которого так упорно выступал. И его главный минус - необходимость в предварительной индексации папок с музыкой, прекрасно компенсируется главным плюсом - быстротой работы.

В следующий раз, расскажу о нескольких иксовых клиентах. Спасибо за внимание. :)

PS. Music Player Daemon поддерживает работу только с UTF-8 заголовками mp3-файлов. Иначе говоря, прежде, чем вы сможете видеть кириллицу в заголовках большинства скачанных с интернета и не только файлов, вам потребуется перекодировать их заголовки в UTF-8, довольно подробное руководство можно найти в блоге ValehO.

18 февраля 2007 г.

Tkabber: настройка и фичи

Я уже писал, что совершенно неожиданно tkabber стал моим постоянно используемым jabber-клиентом. Так вот, теперь я хочу написать о его базовой настройке, дабы пользователь, увидевший его впервые не махнул на него рукой, как это некогда сделал я, а посмотрел на него с другой, лучшей стороны.

Итак, имеем: установленный tkabber со всеми зависимостями. Необходимо: настроить подключение к нескольким аккаунтам, подружить клиент с SSL, сделать шрифт менее страшным, подключить проверку орфографии и настроить OSD.

А настройка начинается с установки всего необходимого (ispell-russian для проверки орфографии и tcltls для поддержки SSL):
$ sudo apt-get install irussian tcltls xosd

Теперь выкачиваем osd.tcl (нажать по ссылке правой клавишей - сохранить как...) и сохраняем в папке с плагинами (адрес плагина должен выглядеть так: ~/.tkabber/plugins/osd/osd.tcl для локальной установки или /usr/share/tkabber/plugins/osd/osd.tcl для глобальной), обратите внимание, что файл плагина должен лежать в одноименной папке.

После того, как все будет поставлено, создаем в папке ~/.tkabber таинственный файл с названием config.tcl, текст можно править любым редактором, я использовал свой любимый vim:
$ vim ~/.tkabber/config.tcl

Вот его мы и будем терзать. Вставлять в этот файл комментарии (формата "# комментарий") не только не запрещается, но и рекомендуется. Приступим к правке:
set use_ispell 1

Вышеозначенная строчка включит ispell.
set loginconfX(profile) "example.com"
set loginconfX(user) login
set loginconfX(password) ""
set loginconfX(server) example.com
set loginconfX(resource) tkabber
set loginconfX(priority) 16
set loginconfX(usealtserver) 0
set loginconfX(altserver) example.com
set loginconfX(altport) 5223
set loginconfX(stream_options) ssl
set loginconfX(useproxy) 0
set loginconfX(allowauthplain) 0
set loginconfX(httpproxy) localhost
set loginconfX(httpproxyport) 3128
set loginconfX(httplogin) ""
set loginconfX(httppassword) ""

Этот набор настроек отвечает за автоматически заполенные поля в окне настройки соединения, которое возникает при запуске программы. Если аккаунт один - то X после loginconf удаляем, первая строка тоже не нужна. Если аккаунтов несколько, то меняем X на соответствующие цифры (для первого аккаунта loginconf1, для второго loginconf2 и т.д. В этом случае в окошке входа появится кнопка "Профили", по нажатию на которую мы будем видеть список из названий профилей, указанных в loginconfX(profile) и выбирать из них. Теперь подробнее по пунктам.

user отвечает за логин (только то, что стоит до "@", т.е. если ваш адрес login@example.com, то вы вставляете login), password отвечает за пароль (лучше не хранить пароль в файле конфигурации - там он не шифруется, поэтому строку про пароль лучше вообще удалить - в этом случае он сохранит пароль где-то в другом месте в зашифрованном виде). server - то, что стоит после "@" (то есть, если ваш адрес login@example.com, то вы вставляете example.com). resource - ресурс, priority - приоритет, usealtserver (0=нет, 1=да) - задавать ли сервер в ручную (допустим, если вы используете Google Talk или сервер, который в силу каких-то причин требует явного указания адреса сервера), altserver и altport - соответственно жестко задаваемые сервер и порт, если вы используете задаваемый вручную сервер (в противном случае можно их оставить, тогда они будут уже заполнены, если вы захотите включить их вручную перед установкой соединения), stream_options ssl заставит tkabber автоматически использовать ssl (внимание! замечена бага: как только вы включаете tkabber, ssl выключен независимо от настроек этой опции, для того, чтобы он включился нужно ткнуть "профили" и заново выбрать профиль, можно тот же). useproxy (0=нет, 1=да) - использовать ли прокси, allowauthplain (0=нет, 1=да) - использовать ли пересылку регистрационных данных "голым" текстом (может требоваться например Google Talk, без SSL лучше не трогать), httpproxy, httpproxyport, httplogin и httppassword отвечают за настройки proxy, если вы их используете. Ненужные пункты в процессе настройки можно просто выкинуть.

Перейдем к шрифту. Начните с выбора нужного вам шрифта (запустите xfontsel и выберите), я буду производить манипуляции на примере шрифта -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-koi8-r. Добавляем строки:
set font "-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-koi8-r"
option add *font \
"-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-koi8-r" \
userDefault

Теперь со шрифтами все в порядке. И остается последний пункт - OSD. Для этого нам понадобится добавить следующее:
proc postload {} {
# Set OSD plugin options
namespace eval ::osd {}
set ::osd::osdfont "-misc-fixed-medium-r-normal--20-200-75-75-c-100-koi8-r"
set ::osd::options "-c yellow -A right -s 1 -p bottom"
}
set ::osd {presence chat_message}

Естественно, в качестве osdfont можете использовать тот шрифт, что вам нравится. options тоже можете заполнить на свой вкус (подробно они описаны в man osd_cat). set ::osd {presence chat_message} отвечает за то, в каких случаях будут выскакивать OSD-сообщения, например, в нашем случае - это когда у пользователей из нашего ростера изменяется статус (presence) и когда мы получаем новое сообщение (chat_message). Мне это подсказали в официальной конференции tkabber, более подробных разъяснений мне добиться не удалось - никакой документации по использованию osd.tcl не существует.

Во время использования tkabber с osd мною была замечена следующая особенность: при просмотре видео через gl2-вывод (mplayer file.avi -vo gl2) при появлении сообщений, видео начинало жестоко тормозить. Не знаю, как OSD влияет на другие OpenGL-приложения, это мне еще только предстоит выяснить.

1 декабря 2006 г.

wmii: аскетичность, эффективность и простота.

Перед каждым "новообращенным" линуксоидом возникает вопрос: какой софт использовать? И в первую очередь этот вопрос касается оконных менеджеров. Пока ценители эргономики дерутся, определяя, что глючнее и круче - KDE или GNOME, пока разработчики SymphonyOS рисуют свою, еще более эргономичную среду, эстеты-одиночки поднимают Enlightenment, а особо извращенные умы вывешивают над всем этим Beryl, пользователи, желающие работать эффективно и экономить ресурсы своих машин, останавливаются на более скромных и гибких IceWM, WindowMaker и Black/Open/FluxBox. Но во всех этих оконных менеджерах/настольных средах более или менее существует уже привычная пользователям M$Windows/MacOS схема управления окнами: "крестик" окно закрывает, сворачиваются окна в taskbar (WMaker в этом плане слегка отличается, но не сильно), большая часть процесса управления окнами ведется мышью, даже при хорошей привязке хоткеев к рабочей среде. Результат - перекрывающиеся окна и не всегда удобные в использовании виртуальные рабочие столы. Против этой напасти есть решение - фреймовые оконные менеджеры. wmii - один из самых популярных среди них.

Началось все с того, что один мой знакомый убунтуец (естественно, гномовод) написал мне в jabber: "давно я не испытывал такого счастья!" Эти слова относились к оконному менеджеру wmii. К этой фразе я, как всегда, отнесся скептически. Однако, не поленился воспользоваться apt-get и поглядеть, что же в нем столь притягательно:
# apt-get install wmii
Зависимостей не потянул никаких. Объем пакета - полторы сотни килобайт. Каково? После установки X-server был перезапущен и на вопрос GDM "желает ли пользователь использовать wmii по умолчанию?" был дан утвердительный ответ. Увиденное неподготовленного пользователя не только не впечатлит, но и напугает:

Здесь описаны базовые комбинации клавиш, которые сразу же предлагается опробовать. Красота! После нескольких упражнений все они легко и просто запоминаются. Теперь подробнее о внешнем виде и принципах работы.

Начну с принципов работы, так как внешний вид напрямую зависит от них. Итак, у нас имеется рабочее пространство. Как только открывается окно, внизу появляется "вкладка", так называемый тэг (tag). Окно по умолчанию открывается на весь экран. Вновь открытые в этом же тэге окна появляются ниже выбранного по мере открытия, развернуты горизонтально. Клавиши LAlt+h/j/k/l позволяют переключаться между окнами по горизонтали и вертикали (по аналогии с управлением курсором в vim), LAlt+Shift+h/j/k/l позволяет перемещать выделенное окно, в том числе разворачивать его вертикально. По началу немного непривычно перемещать окна, чуть погодя привыкаешь и уже не ощущаешь неудобства. По клавише LAlt+p в строке статуса появляется что-то вроде диалога "Run...", то есть мы вводим команду, а справа по шаблону отфильтровываются возможные команды. Основываясь на собственном опыте, заявляю, что размахивание мышой по менюшкам требует куда больших затрат времени, чем ввод начала команды после нажатия хоткея. А если надо запустить что-то с какими-то специфическими опциями - никто не мешает сделать нужный скрипт и засунуть его в /usr/bin или /usr/local/bin (что я собственно и сделал со свежеустановленным aterm).

При первом запуске создается папка ~/.wmii-3/, в нее кладем копию файла /etc/X11/wmii-3/wmiirc. В этом файле хранятся все настройки wmii, будь то список автозагрузки, хоткеи или параметры цветовой гаммы (что не мешает при желании раскидать эти настройки по отдельным файлам) файл настроек может быть написан для любого интерпретатора, будь то sh, ruby, python или что-нибудь другое. По умолчанию используется sh. То, что все настройки сведены в один файл, дает возможность с легкостью хранить или переносить эти настройки. А возможность подключения разных файлов конфигурации позволяет использовать их именно так, как пользователь сочтет нужным. Удобно? Несомненно. Просто? Однозначно. Достаточно разобраться в sh и можно вытворять с этим оконным менеджером все, что угодно.

Теперь о внешнем виде. Слева на панельке отображаются тэги или соответствующие хоткею меню (например, меню wmii, состоящее всего из четырех пунктов, вызывается по LAlt+a, к слову, это меню позволяет применять свежесделанные изменения в настройках "не отходя от кассы" - нужно лишь выбрать файл настроек, подлежащий немедленному применению). Справа на панельке тэгов отображается следующая информация: Дата, время, средняя загрузка процессора за минуту, за 5 минут, за 15 минут. По умолчанию wmii раскрашен в синий цвет (выделенные тэги, пункты меню и окошки), что мне пришлось по вкусу. Обоев изначально не предусмотрено, но они легко ставятся с помощью feh.
# apt-get install feh
После установки прописать соответствующим образом в раздел # MISC файла конфигурации:
feh --bg-scale /адрес/до/картинки
Обои вы будете видеть не часто. Для тех окон, которым положен фиксированный размер автоматически включается режим floating, и они находятся поверх всех окон тэга. Тут же есть одна неприятная особенность, с которой мне пока совладать не удалось. Если в тэге открылось одно floating-окно, то все следующие открытые окна (пока хотя бы одно из них floating) будут тоже floating, вне зависимости от нашего желания. Возможно, лечится правкой конфигов. Попытки взять окно за заголовок мышой и перетащить это самое окно обречены на провал. :) Для перемещения необходимо зажать LAlt и левую кнопку мыши и таскать окно, как надо. Для изменения размеров надо ткнуть мышой в нужную четверть окна и зажать правую кнопку (удерживая все тот же LAlt).

Не раз сталкивался лбами с людьми, утверждающими, что им с красивыми гуями и мышами куда удобнее, чем со всякими хоткеями. В качестве аргументов они выкрикивали такие названия, как Adobe Photoshop, AutoCAD, IE (или любой другой броузер), и прочие. Эти споры бессмысленны изначально. Невозможно на клавиатуру перенести все функции мыши. И там, где мышь необходима - лучше не извращаться и пользоваться ей. Но вот вам пример: изменение размеров окна в любом оконном менеджере. Для этого надо попасть курсором в нужную границу (толщиной 3-6 пикселей обычно) и тянуть. Попасть не спорю, не сложно, никто из нас не алкоголик, руки не дрожат. Но вот используем эту же функцию изменения размера floating окна в wmii, привязанную к хоткею (а точнее хоткею+мыши). Зажимаем LAlt, тыкаем в нужную четверть окна правой клавишей мыши и тянем. На словах не совсем понятно, но это ускоряет процесс минимум вдвое. Точно так же и с менюшками: чем тыкаться по ним в поисках часто используемых программ, лучше привязать их к хоткеям. Я ни в коем случае не призываю обрывать мышь и выкидывать ее. Использование GIMP без мыши - изврат еще тот. Однако, о хоткеях тоже стоит задуматься. И в отношении таких простых действий, как управление окнами и запуск приложений, я ставлю на них.

В нормальном (читай: фреймовом) режиме можно менять внешний вид: default - как следует из названия, все открытые окна развернуты и видны, stack позволяет видеть развернутым только одно окно в столбце, остальные же - свернуты в заголовки, max - дает возможность видеть только выбранное окно (остальные не закрываются, а остаются внутри тэга.

Скриншоты могут не впечатлять, но это как раз тот случай, когда статичная картинка не дает правильного впечатления. В чем основное преимущество wmii перед его аналогами? В его легковесности и простоте. Несмотря на то, что для того, чтобы править конфиг надо читать документацию, этот оконный менеджер прост в использовании и настройке, а использование sh для этого конфига дает практически безграничный простор для настройки wmii. Так же, имеется отличная поддержка floating окон. После небольшой работы напильником просто срастаешься с этим фреймовым оконным менеджером. Вот мой wmiirc с некоторыми комментариями (KOI8-R). Огромное спасибо GiNeR за просвещение в области wmii и его настройки.

Примечание: в описании использовались умолчательные хоткеи. Естественно, они легко меняются в wmiirc.

Официальный сайт.

11 ноября 2006 г.

Vim - отличный инструмент для работы с текстом.

Vim. Настоящий *никсоид просто не может не знать, что это такое. Для начала идем в википедию и по запросу "vi" получаем следующее:
vi is a screen-oriented text editor computer program written by Bill Joy in 1976 for an early BSD release.
Да, vi уже 30 лет. Это стандартный для всех *nix'ов редактор, обладающий огромными возможностями. Vi IMproved (aka Vim) появился несколько позже, 15 лет спустя, вместе с операционной системой Linux. Программа, успешно просуществовавшая так долго, просто не может быть неинтересной.

Что же из себя представляет Vim? Это консольный текстовый редактор. Не надо махать рукой и закрывать эту страницу. Vim не похож на те редакторы, которыми приходится пользоваться в оффтопике (блокнот и иже с ним) или графических средах (gedit, kwrite, kate, mousepad aka leafpad). Не похож он и на другие консольные текстовые редакторы (nano и редактор MC). "Как так? Чем же может один из текстовых редакторов так сильно отличаться от остальных?" - спросит человек, ни разу в жизни не видевший Vim. И я отвечу. Основная "фишка" Vim заключается в том, что он работает в двух режимах. Режим вставки (Insert), как таковой, мало отличается от любого другого редактора - тут уж трудно изобрести велосипед. Есть курсор, есть текст, текст появляется за курсором. Все как должно быть. Гораздо более интересен стандартный (Normal) режим. Несложно заметить, что здесь не видно разнообразных меню (как в иксовых редакторах) или горячих комбинаций клавиш (как в nano). Только необходимая информация. В режиме Normal пользователь управляет курсором и дает команды редактору напрямую, нажимая необходимые клавиши и комбинации клавиш. Таким образом, например, в стандартном режиме клавиша j двигает курсор вниз, клавиша k - вверх, h - влево, l - вправо. Непривычно? Согласен. Но не забываем об оптимизации рабочего времени: чем тянуться к стрелкам, гораздо удобнее управлять курсором этими клавишами - остальная часть клавиатуры остается под рукой и не нужно отвлекаться и переносить руку в случае чего. О функциях клавиш можно узнать, использовав команду:
$ vimtutor
откроется туториал, по мере ознакомления с которым вы будете узнавать функции клавиш и сразу же пробовать применять их. Рекомендую сразу же этим заняться, если редактор вас заинтересовал.

Для тех, кого редактор еще не успел заинтересовать - пара слов о его возможностях. Первое, на что стоит обратить внимание - Vim умеет повторять выполнение команды. Достаточно ввести в Normal режиме 2dd, чтобы удалить две строки подряд. Или, если быть точным, вырезать их. Клавиша p в Normal режиме вставит удаленный (то есть вырезанный) текст после курсора. Опять же, 2p вставит его два раза. Это только пара примеров - вы можете применять эту функцию так, как вам только заблагорассудится. Удобно? Не сомневаюсь.

На скриншоте вы заметили раскраску текста в конфигурационном файле. Это так же одна из возможностей этого редактора. Естественно, раскраской кода никого не удивишь. Однако, полезность этой функции никто не отменял.

Нажав в Normal режиме ":", пользователь получает возможность ввести команду редактору. Например, ":w" сохранит документ, а ":q!" позволит выйти без сохранения. При установленном модуле TeX можно компилировать TeX-документы не отходя от кассы. Командой ":r документ" можно вставить после курсора содержимое документа "документ", а если вы хотите выполнить какую-нибудь команду "не отходя от кассы", то просто введите:
:! команда_и_ее_аргументы_как_в_обычной_командной_строке
Удобно? Не то слово. Особенно, если редактируемый документ надо компилировать (LaTeX или языки программирования) или, скажем смотреть в броузере (HTML-документы, CSS-стили).

Если попользоваться им некоторое время, то привыкаешь к нему настолько, что уже не хочется видеть другие, более "дружественные" текстовые редакторы. Пользователи операционных систем Window$ могут насладиться удобством Vim, если скачают с официального сайта http://www.vim.org/ версию для win32. Пользователи же Linux могут по этому поводу даже не волноваться. В репозитарии любого дистрибутива есть Vim и различные модули к нему (если сам Vim еще не ставится вместе с дистрибутивом), а vi идет со всеми дистрибутивами изначально.

Небольшое обновление: раскраска кода в Vim. Копируем файл /usr/share/vim/vimfiles/vimrc в ~/.vimrc , после чего в полученной копии находим и раскомментируем строку:
"syntax on
если наш терминал с темным фоном, раскомментируем и это:
"set background=dark