После того, как обзавелся собственным jabber-сервером, вопрос выбора консольного клиента решился сам собой. Подняв у себя ICQ-транспорт, я перетащил туда контакты, после чего торжественно закрыл Pidgin. Надеюсь, что навсегда.
Теперь у меня на все нужды один mcabber.
ну, точнее, три, по одному на учетку. Трудности возникают только на маленьком экране нетбука, так как три окна мозаикой разложить нелегко.
Попробовал также клиент poezio. написан на питоне, имеет пару вкусностей, например — табы для открытых комнат и диалогов, но в остальном мне не торкнуло, поэтому остался на mcabber-е, который в общем-то имеет все, что мне нужно (ладно, не все, но почти)
Проблемы были лишь в следующем — уведомления о сообщениях и открытие URL-ов. Простенький костыль уведомлений я прикрутил сразу же (вызов libnotify в eventcmd), хотя на будущее нужен какой-нибудь индикатор входящих, который будет мигать в трее или на экране. Но это потом, когда раскурю, например, wxPython, который умеет эти самые иконки в трее создавать. Куда более актуальной задачей было открытие URL-ов. И эту задачу удалось решить достаточно простым путем.
Был прикручен плагин urlopen.
В дебиане пришлось поставить пакеты с библиотеками (на память libncursesw5-dev,libglib2.0-dev,libloudmouth11-dev,pkg-config,cmake,libpgpme1-dev) в общем, все вылезет в процессе сборки, не ошибетесь, после чего удалось собрать красивые deb-пакетики, чтобы не засорять систему.
после этого был создан простенький скрипт, который закидывал все обработанные URL-ы в файлик, на основе которого генерится динамическая менюшка для FVWM.
Менюшка генерится скриптиком на перле. Это еще старый скриптик, со времен моего первого освоения этого чудесного WM-а
#!/usr/bin/perl -w
my $file=$ARGV[0];
$ofile="/home/calman/.fvwm/".$file;
my $menu;
open (MENUFILE,"$ofile") or die $!;
while(<MENUFILE>)
{
$menu=$file."Menu";
print "AddToMenu ".$menu." ".$_;
}
close(MENUFILE);
Формат входного файлика элементарен:
"заголовок_пункта_меню" команда_на_выполнение
Понятное дело, что командой на выполнение оказывается вызов огнелиса с передачей ему URL-a в качестве параметра запуска
А вот сам urlcmd выглядит так, примитивненько, кривенько, но работающе
#!/bin/bash
FMFILE="/home/calman/.fvwm/FvwmURLS"
LINE=$(cat $FMFILE|wc -l)
echo $LINE
if [ $LINE -gt 20 ]; then
sed -e '1d' $FMFILE >> $FMFILE.tmp
mv $FMFILE.tmp $FMFILE
fi
PREVIEW=$( echo $1 | sed 's/\(.\{,40\}\).*/\1/')
echo "\" v-c:" $PREVIEW "\" Exec exec firefox" $1 >> $FMFILE
Есть проверочка на количество строк в файле и есть обрезка URL-а для заголовка.
Ну и маленький префикс, чтобы видеть, с какой учетки какой URL-пришел.
Ну и как выглядят три mcabber-а и менюшка, на нетбуке