в никому не нужную хуйню
https://gist.github.com/lexszero/3afb77cf031e9527aee8
Очередная итерация костыля для рендеринга логов ткаббера. Теперь с поддержкой логов мкаббера.
для всех страдающих от того, что циска шлёт подтверждение авторизации от каждого контакта на сервере, предлагается новый-кленовый патч: https://github.com/hirthwork/ncursed-desktop/blob/44d2b398ce93c2fd88b51159199ffd4a4d2c50ea/net-im/mcabber/files/mcabber-1.0.0-ignore-duplicate-subscriptions.patch — разрабы мкаббера пока не отревьювили, так что там может быть вирос
теперь ссылки на тытубу тоже автокомпличу и открываю в mpv прямо из mcabber'а
заворкэраундил это ваше окружение ссылок скобками в маркдауне: https://github.com/hirthwork/home/commit/651117dd2d5e482c033c3448292df2d7905f6d16
В эфире снова передача «Костыли и подпорки». Мы приветствуем наших самых непоседливых слушателей.
Сегодняшний выпуск посвящён всем тем, кто уже активно пользуется командами /say_to и костылями для микроблогов.
Серьёзным ограничением команд было отсутствие проверки правописания, но теперь появился патч, который решает эту проблему.
Для команды /say_to лекарство идёт из коробки, а пользователям команд для быстрой донесения своей точки в сервисах микроблогов предлагается дописать всего пару строчек в свой конфиг.
Традиционно доступен ебилд
Здравствуйте, уважаемые читатели, с вами очередной выпуск газеты «Вестник Ненужно».
Если вкратце, то меня заебало, что мцаббер умеет проверять орфографию только для одного языка, и я решил это децл исправить.
Накладываете патч поверх мцаббера, пересобираете, и вперёд: просто прописываете в spell_lang через пробел все нужные языки.
Для ленивых имеется ебилд
inb4: get a life
Спустя почти два года разработки представлена новая версия плагина облегчающего запуск внешних программ из XMPP-мессенджера mcabber под названием mcabber-commands-0.7. В новый релиз вошли следующие изменения:
* Исправлено падение модуля в случае ошибок при компиляции регулярных выражений. Вместо этого будет выведено диагностическое сообщение, а сама команда с проблемным регулярным выражением не будет добавлена.
* Включено подавление вывода от запускаемых программ.
* Улучшен разбор команд для выполнения. Теперь аргумент передаваемый в программу может содержать двойные кавычки, которые не будут вырезаны.
Похоже, пришло время пояснить по хардкору, что же такое mcabber-commands и нахуя мы с лайколом его юзаем.
mcabber-commands перехватывает все входящие сообщения, ищет в них заданные регулярки и добавляет сматченное в комплишен-листы мкаббера. Таким образом, можно быстро достать кусок недавнего сообщения из нужного комплишен-листа и передать внешней команде.
Мне по сто ссылок на дню приходит (в основном от bnw и point). Я заебусь мышкой по каждой из них кликать, чтобы посмотреть свежие новости и смехуёчки. Поэтому я пишу в mcabberrc следующее:
add_custom_command ff .* https?://(?!(([a-zA-Z0-9_-]+[.])?((point|bnw)[.]im)))\S+ firefox %s
После этого, чтобы открыть недавно пришедшую ссылку, я набираю /ff
и жамкаю Tab, чтобы подставилась последняя ссылка, а затем жму Ret, чтобы ссылка открылась в браузере. Да, если жамкнуть Tab дважды, то ссылка подставится предпоследняя.
Разберём подробнее мною тут написанное. Команда add_custom_command принимает четыре аргумента:
1. ff
— имя комплишен листа. Комплишены будут доступны после того как в мкаббере будет набран слэш, имя комплишен листа и пробел.
2. .*
— регулярка для матчинга имени собеседника. Ссылки я открываю от всех существ из ростера, так что тут .*
. Для комплишена для bnw можно тут написать например bnw.im
.
3. https?://(?!(([a-zA-Z0-9_-]+[.])?((point|bnw)[.]im)))\S+
— регулярка, которую нужно извлекать из входящих сообщений. Чтобы не замусоривать комплишен-лист, ссылки на посты на бнв и пойнте этой же регуляркой отфильтрованы. Из каждого входящего сообщения извлекаются все подстроки удовлетворяющие регулярке. Все эти подстроки будут добавлены в комплишен лист в порядке получения. Если в комплишен-листе уже есть такая подстрока, то она переместится наверх списка.
4. firefox %s
— команда, которую нужно выполнить после нажатия Ret. Вместо %s будет подставлено всё что было написано после /ff
.
В интернете зачастую кто-то неправ, поэтому приходится многое вам объяснять. Чтобы не набирать мучительно долго номера постов и комментариев, у меня в mcabberrc есть такая вот запись:
add_custom_command bc bnw.im \b[A-Z0-9]{6}(/[A-Z0-9]{3})?\b sh .mcabber/sayto bnw.im "c -m %s" rcode
Итак, мы видим, что создаётся комплишен лист /bc
, в который попадают все подстроки типа IQ3OP2 или S7PIEF/H6W, поэтому набрав /bc
и нажав единожды Tab я получаю в строке ввода мкаббера, например, вот это: /bc IQ3OP2
после этого остаётся только дописать осмысленный текст: /bc IQ3OP2 ты — хуй
, нажать Ret и при помощи нехитрого скрипта новый комментарий будет добавлен к посту штилетты.
Сырцы лежат здесь: https://github.com/hirthwork/mcabber-commands/
Ебилд здесь: https://github.com/hirthwork/ncursed-desktop/blob/master/net-im/mcabber-commands/mcabber-commands-0.7.ebuild
Подробнее про выполняемые команды.
Можно писать так: firefox %s
, можно так: firefox "%s"
, и даже так: firefox "http://ya.ru %s" %s
(нахуя?).
Нельзя писать так: firefox "%s %s"
, так: firefox "%s"test
и так: firefox test"http://ya.ru %s"
. Падать не должно, но работать будет не так как хотелось бы.
Количество слов в команде ограничено 32мя, остальное будет отброшено.
добавил поддержку bnw.im в mcabber-commands: https://github.com/hirthwork/home/commit/361cf85d491cfda65f91019e815c39c50a43a312 что такое mcabber-commands, смотреть тут: http://hirthwork.psto.net/oestgn
Эмоциональные откровения про mcabber от @Like-all
http://it-the-drote.tk/article/why-i-use-mcabber
Рассказ пользвателя mcabber о своем любимом клиенте.
<xxx> ресурсы работают нормально, но иметь 2 контакта в контакт-листе,
отличающимися только по ресурсам, не получится
<xxx> многие опции не задашь per resource, это да
<xxx> но в принципе ресурсы поддерживаются, при отсылке сообщений ресурс
всегда можно выбрать руками, задав опцией
<xxx> помимо этого мультилайн, да. Мне он нах не нужен, я уже привык :) Но
кому-то будет непривычно.
<xxx> если надо писать длинное что-то, то пиши в vim, а потом отсылай
внешней командой
<xxx> ещё один минус мкаббера -- отсутствие поддержки n акков
одновременно. Один конфиг = один акк
<xxx> некоторые любят по j кидать произвольные файлы. mcabber это не умеет
<xxx> mcabber не позволяет регать новые акки
<xxx> но это всё хуйня в общем-то, по сравнению с теми его минусами, которые
РЕАЛЬНО ЗАЁБЫВАЮТ
<xxx> таких минусов всего два:
<xxx> 1) Ебанутое ограничение на длину текста. Не знаю сколько конкретно
символов, но даже небольшой текст приходится руками бить на несколько,
иначе не перешлёшь.
<xxx> 2) Ебанутое ограниение на длину строки. Любая строка длинней некоторой
обрезается. Не мог сказать сколько там точно символов, но
ориентировочно ты не можешь написать абзац длиной больше 10-15
экранных строк. После этого ввод
<xxx> блочится. А если шлёшь из файла, то обрезается при посылке. Т.е. чтоб
продолжить ты должен явно сделать перевод строки (enter)
<xxx> мб эти минусы из-за его взаимодействия с курсес-интерфейсом, хз
<xxx> но теоретически оно должно легко фикситься в коде. Мб можно и автору
написать
<xxx> у меня не самая последняя версия mcabber, правда, так что на 100% не
поручусь, что это не починили
<xxx> ещё у мкаббера есть какие-то проблемы с блокирующим резолвером
<xxx> из-за чего он иногда падает в кору при коннекте или дисконнекте
<xxx> и есть уязвимости на уровне DoS
<xxx> можно тебе послать сообщение в очень неправильной кодировке, он её
попытается раскодировать, но у него будет фейл и он выйдет в офф
<xxx> запретить приём сообщений нельзя, поэтому любой акк, кто знает про эту
особенность, может тебя прицельно ддосить
<xxx> не знаю, воспроизводится ли этот эффект в utf-терминале, но в bsd я
такое видел
Unexpected groupchat packet!
Заебала эта хуйня в mcabber. Как пофиксить?