Жизнь в консоли — Первое знакомство с mcabber
Ребята, надо уже как-то начинать неделю консольных программ, посему первый пост как и обещал о mcabber
MCabber - это текстовый Jabber-клиент поддерживающий SSL, PGP, историю, конференции и кучу XEP, но не поддерживающий регистрацию на сервере.
Для первого запуска mcabber нам понадобится создать файл конфигурации, а лучше скопировать файл примера (из исходников или из пакета)
Его можно не создавать, тогда придется вводить информацию о логине вручную, к тому же с помощью конфигурационного файла можно настроить mcabber на свой вкус (на то он и конфигурационный)
Первое что нам понадобится это прописать в конфигурационном файле ваш сервер, имя и пароль(можно не вводить), а так же по необходимости порт
Для gtalk, к примеру, необходимо использовать опции ssl, а так же логин и сервер указывать вручную
Теперь можно запускать mcabber. Но методом научного тыка сразу использовать mcabber не получится, ибо необходимо знать минимум по его управлению.
Всё рабочее пространство mcabber поделено на 4 области: слева ростер, с права окно сообщений, с самого низа строка ввода команд и несколько строк журнала событий прямо над ней. Некоторые из этих областей можно менять местами (опции set log_win_on_top и set roster_win_on_right)
Собственно всё управление сводится к набиванию команд в строку ввода, все команды начинаются со слеша (/[Tab] позволит вам с ними ознакомится). Но на многие команды уже назначены клавиши. Так как самое главное для jabber-клиента это писать и принимать сообщений, то с этого и начнём. PageUp/PageDown передвигают курсор по ростеру, а клавиша Enter закрывает/скрывает группу контактов либо когда курсор установлен на ней. Ну а если курсор установлен на контакте, то можно приступать к написанию ему сообщения или прочитать присланное.
Перемещение по самому окну сообщения сделано с помощью ^p (Ctrl-p) и ^n (Ctrl-n)
Команда /roster unread_next перемещает вас к следующему непрочитанному сообщению/событию, и по умолчанию этой команде назначена клавиша ^Q (Ctrl-Q)
А команда /room join адрес_конференции ник пароль соединит вас с конфернцией (ник c паролем к комнате указывать необязательно) и конференция появится в ростере как обычный контакт (с русскими адресами конференций как-то неудачно получилось)
Так же mcabber поддеживает хуки после некоторых действий. К примеру строки в конфиге
показывает что после коннекта к серверу считывать команды mcabber (в конфиге все команды без слеша) из файла ~/.mcabber/post-connect.rc а перед отсоединением сменить статусное сообщение на Сломал свой мозг!
А теперь посмотрим как задовать хоткеи на команды и заодно научимся писать многострочные сообщения
Нажимаем нужный нам хоткей и в журнале событий (если такое сочетание не использовано) видем что-то вроде [13:53:28] Unknown key=MU1090 - MU1090 это Alt-n. Таким образом выбираем понравившиеся клавиши и записываем их в конфиг в виде
После знака равенства пишем команду (без слеша)
Дальнейшая работа с mcabber зависит только от наших желаний. Можно разукрасить mcabber под те цвета что радуют глаз (смотри set color_*), можно прикрутить любые уведомления (смотри set events*), выполнять можно создать свои команды и хоткеи, да много чего можно (даже бота сделать из mcabber можно).
К примеру что бы mcabber выглядел как на скриншоте
у меня в конфиге прописано
(цвета указаны с учетом что терминал поддерживает их 256штук)
Из уведомлений у меня прикручен звук, панель dzen2 при новом посте(можно и osd и вообще что угодго - а управление им через именованный канал и возможность отправлять rawxml серверу позволяют превратить mcabber в бота) и сообщение о количестве написавших в screen, пример получения от mcabber количества сообщений здесь.
Так же mcabber снабжен неплохой системой помощи (переведенной на русский) - всего лишь вводим /help и нам расскажут как ей пользоваться.
Думаю для начала ознакомления этого хватит, так же настоятельно рекомендую посмотреть дефолтный конфиг и примеры дабы узнать побольше о возможностях mcabber (ну и man, естественно). Если что ещё об mcabber интересно, то спрашивайте - помогу чем смогу.
По материалам muhas.ru/?t=mcabber, т.е собственных же заметок =)
PS. в git проекта жизнь кипит, и часто вижу как жуйковцы пишут патчи
MCabber - это текстовый Jabber-клиент поддерживающий SSL, PGP, историю, конференции и кучу XEP, но не поддерживающий регистрацию на сервере.
Для первого запуска mcabber нам понадобится создать файл конфигурации, а лучше скопировать файл примера (из исходников или из пакета)
1 2 3 4 5 |
mkdir ~/.mcabber # обязательно меняем права на папку сhmod 700 ~/.mcabber # пример для archlinux cp /usr/share/mcabber/example/mcabberrc ~/.mcabber/mcabberrc |
Его можно не создавать, тогда придется вводить информацию о логине вручную, к тому же с помощью конфигурационного файла можно настроить mcabber на свой вкус (на то он и конфигурационный)
Первое что нам понадобится это прописать в конфигурационном файле ваш сервер, имя и пароль(можно не вводить), а так же по необходимости порт
1 2 3 4 5 |
set username = логин set password = пароль set server = сервер set port = 5222 set nickname = ник_в_конференциях_по_уомлчанию |
Для gtalk, к примеру, необходимо использовать опции ssl, а так же логин и сервер указывать вручную
1 2 3 4 5 |
set username = [email protected] set server = talk.google.com set ssl = 1 set ssl_verify=0 |
Теперь можно запускать mcabber. Но методом научного тыка сразу использовать mcabber не получится, ибо необходимо знать минимум по его управлению.
Всё рабочее пространство mcabber поделено на 4 области: слева ростер, с права окно сообщений, с самого низа строка ввода команд и несколько строк журнала событий прямо над ней. Некоторые из этих областей можно менять местами (опции set log_win_on_top и set roster_win_on_right)
Собственно всё управление сводится к набиванию команд в строку ввода, все команды начинаются со слеша (/[Tab] позволит вам с ними ознакомится). Но на многие команды уже назначены клавиши. Так как самое главное для jabber-клиента это писать и принимать сообщений, то с этого и начнём. PageUp/PageDown передвигают курсор по ростеру, а клавиша Enter закрывает/скрывает группу контактов либо когда курсор установлен на ней. Ну а если курсор установлен на контакте, то можно приступать к написанию ему сообщения или прочитать присланное.
Перемещение по самому окну сообщения сделано с помощью ^p (Ctrl-p) и ^n (Ctrl-n)
Команда /roster unread_next перемещает вас к следующему непрочитанному сообщению/событию, и по умолчанию этой команде назначена клавиша ^Q (Ctrl-Q)
А команда /room join адрес_конференции ник пароль соединит вас с конфернцией (ник c паролем к комнате указывать необязательно) и конференция появится в ростере как обычный контакт (с русскими адресами конференций как-то неудачно получилось)
Так же mcabber поддеживает хуки после некоторых действий. К примеру строки в конфиге
1 2 |
set hook-post-connect = source ~/.mcabber/post-connect.rc set hook-pre-disconnect = status message Сломал свой мозг! |
А теперь посмотрим как задовать хоткеи на команды и заодно научимся писать многострочные сообщения
Нажимаем нужный нам хоткей и в журнале событий (если такое сочетание не использовано) видем что-то вроде [13:53:28] Unknown key=MU1090 - MU1090 это Alt-n. Таким образом выбираем понравившиеся клавиши и записываем их в конфиг в виде
1 2 3 4 5 6 |
# Alt-m начать многострочное сообщение bind M109 = msay toggle # что бы и в русской раскладки работало, т.е. Alt-ь bind MU1100 = msay toggle # ну и по Alt-Enter отправляем сообщение (По-умолчанию работает Ctrl-d) bind M13 = msay send |
Дальнейшая работа с mcabber зависит только от наших желаний. Можно разукрасить mcabber под те цвета что радуют глаз (смотри set color_*), можно прикрутить любые уведомления (смотри set events*), выполнять можно создать свои команды и хоткеи, да много чего можно (даже бота сделать из mcabber можно).
К примеру что бы mcabber выглядел как на скриншоте
у меня в конфиге прописано
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
set log_win_height = 1 set roster_width=30 set log_win_on_top = 0 set roster_win_on_right = 1 set color_background = default set color_general = default set color_info = default set color_msgin = 240 set color_msgout = white set color_msghl = 237 set color_bgstatus = 240 set color_status = white set color_roster = default set color_bgrostersel = white set color_rostersel = brightdefault set color_rosterselmsg = default set color_rosternewmsg = brightdefault |
Из уведомлений у меня прикручен звук, панель dzen2 при новом посте(можно и osd и вообще что угодго - а управление им через именованный канал и возможность отправлять rawxml серверу позволяют превратить mcabber в бота) и сообщение о количестве написавших в screen, пример получения от mcabber количества сообщений здесь.
Так же mcabber снабжен неплохой системой помощи (переведенной на русский) - всего лишь вводим /help и нам расскажут как ей пользоваться.
Думаю для начала ознакомления этого хватит, так же настоятельно рекомендую посмотреть дефолтный конфиг и примеры дабы узнать побольше о возможностях mcabber (ну и man, естественно). Если что ещё об mcabber интересно, то спрашивайте - помогу чем смогу.
По материалам muhas.ru/?t=mcabber, т.е собственных же заметок =)
PS. в git проекта жизнь кипит, и часто вижу как жуйковцы пишут патчи