22 февраля 2008

WeeChat и Ruby плагины. Иконка в трее для скриптов.

Тихо и незаметно произошло одно небольшое событие: модераторы разместили мои два плагина на странице плагинов IRC клиента Weechat. И интересных моментов тут сразу три.
Первое. Почему Weechat? Потому что он вытеснил-таки из моего сознания irssi, когда я искал удобный консольный клиент, поскольку в использовании приятнее и поддерживает скриптинг аж на 4 языках (в irssi - 1). API для скриптинга не так богат, но вполне достаточен.
Второе. Плагины написаны с целью попробовать разные динамические фишки языка Ruby. Код сырой, works-for-me и без гарантий красоты и качества ;)
Ну и третье, самое интересное, ради чего всё и затевалось - один из плагинов добавляет в консольный клиент поддержку графических уведомлений и иконку в трей (в общем случае - в любой, тестировалось на kde). Для меня это было единственным, что не позволяло отказаться от громоздких графических клиентов. Делается это с помощью утилиты Konch, интересной, впрочем, не только этим. Так что скриптерам - советую.
UPD: С помощью Andrey удалось найти несколько ошибок, также он подсказал несколько идей. Итог - скрипты растут, и на странице плагинов остаются неактуальные(новые принимаются медленно). Поэтому завёл актуальные версии: tray.rb, nickserv.rb. Следите за анонсами.

10 комментариев:

jetxee комментирует...

Да, как раз думал о выборе IRC-клиента. Посмотрю в сторону WeeChat. Спасибо.

А вообще, уведомления из скриптов и консольных приложений можно с помощью notify-send (libnotify) показывать.

Konch возьму на заметку. Тоже спасибо.

PhoeniX комментирует...

Меня не столько уведомления интересовали, сколько именно возможность стрельнуть глазом в угол экрана и быстро понять, сказал ли кто чего в чате. Также глянуть, кто что сказал (в tooltip'е иконки) и вернуть иконку в исходное состояние (кликом по ней). Ещё хотелось реализовать всплытие окна konsole по даблклику или иному событию, но kwin этого сделать не позволяет.

LXj комментирует...

Меня в WeeChat заколебали две вещи: неудобное автозаполнение (интересно, лечится ли это в настройках) и необходимость помнить каналы по номерам (интересно, правится ли это скриптами). Однажды он вдруг потерял все мои настройки, и я решил, что самое время попробовать Konversation :)

PhoeniX комментирует...

А я начинал с Konversation...
Автозаполнение меня раздражает только одним - там case matter.
И зачем помнить каналы? Не совсем вас понимаю.
Потерь настроек не замечал.

LXj комментирует...

Я о том, как он показывает каналы с новыми сообщениями (что-то типа «4, 8, 17, 3, 5, 1»)

При 20+ открытых каналах текстовый клиент эту проблему, видимо, нормально не решит.

PhoeniX комментирует...

Да, тут графический, возможно, удобнее. Я вот kvirc'ом долгое время пользовался (кстати, не вас ли я видел на #kvirc?), очень удобен. С другой стороны в вичате можно быстро между такими каналами переключаться с помощью смарт-джампа. Обычно это alt+a. Да и вообще, там много кейбиндингов на разный вкус.
Отображением активных каналов заведуют 4 переменные с именами look_hotlist_*
я сделал
/set look_hotlist_names_level=14
/set look_hotlist_names_count=10
и меня устраивает.

LXj комментирует...

Кажется, KVIrc был моим первым клиентом, но я на нём сидел недолго.

Смарт-джамп -- прыгнуть на последний активный канал? В SVN-версии Konversation это есть :)

О, про переменные -- я правильно понимаю, что с такими установками WeeChat будет показывать названия каналов вместо номеров буферов?

PhoeniX комментирует...

Не вместо а вместе.
http://weechat.flashtux.org/screenshots/weechat_screenshot_detail.png

LXj комментирует...

Ага, скриншот всё объясняет, спасибо.

Но графические клиенты всё равно в определённых случаях лучше :)

Andrey комментирует...

Спасибо за плагин Tray notifer. Весьма полезный плагин. Для меня это тоже была одна из причин, почему я продолжал пользоваться XChat'ом.

Кстати, KVirc, Konversation, пр. мне не понравились по многим причинам. Хотя и пользовался я ими весьма долгое время. Но настроенный XChat был все же притягательнее и удобнее. Особенно мне нравилось выравнивание ников и мессаг.

Когда увидел WeeChat я в него влюбился. Не хватало только вашего плагина. Спасибо!