Tkabber Wiki

Плагины
Login

Плагины

Материал из Tkabber Wiki

(!) Сделать: вынести на отдельные странички описания плагинов, превышающие по размерам половину экрана (примерно, конечно), оставив здесь лишь краткие пояснения и ссылки.

Содержание

Плагинология

В этом разделе рассказано о внешних плагинах Ткаббера.

Если вы — новичок, прочитайте как минимум первые два раздела.

Как подключить плагин

При старте Ткаббер ищет плагины в двух местах и в указанном порядке:

  1. Каталог, имя которого находится в переменной окружения TKABBER_SITE_PLUGINS
  2. Каталог $::configdir/plugins

Любой из этих каталогов (в том числе оба) могут отсутствовать. Первый из них, как и следует из названия соответствующей переменной окружения, предназначен для использования плагинов всеми пользователями системы, в то время как второй — конкретным пользователем (то есть лично вами). Строго говоря, переменную окружения можно установить не на уровне системы, а для конкретного пользователя, что несколько гибче. К тому же её вообще можно просто прописать в конфиге:

set env(TKABBER_SITE_PLUGINS) Q:/Path/To/TkabberPluginsDirectory

Обратите внимание на прямые слэши, а ещё лучше — ознакомьтесь сначала с этим небольшим отрывком из статьи про конфиг.

Физически плагин Ткаббера представляет собой каталог с файлами, который следует скопировать в любую из указанных выше директорий (но только в одну из них). Заметьте, что копировать надо каталог целиком, а не файлы из него; кроме того, каталог плагина нельзя переименовывать (об этом — ниже). И ещё надо учесть, что в каталоге plugins должны лежать непосредственно директории с плагинами, и ничего в промежутке, например, если вы работаете в системе как Vasya Pupkin, и решили поставить плагины attline, georoster и chess, то если вы всё сделали правильно, вы должны получить такую структуру каталогов:

C:\Documents and Settings\
  Vasya Pupkin\
    Application Data\
      Tkabber\
        plugins\
          attline\
            attline.tcl
            ...
          chess\
            chess.tcl
            ...
          georoster\
            georoster.tcl
            ...

Добавленный плагин Ткаббер загрузит при следующем старте.

На заметку: как ни странно, но некоторых пользователей на поприще подключения плагина останавливало отсутствие каталога plugins в домашнем каталоге Ткаббера. Это — совершенно нормальное явление; если такого каталога нет, создайте его.

На заметку: не обязательно копировать каталог с плагином из дистрибутива в $::configdir/plugins — вполне можно сделать символическую ссылку, например, такую:

~/.tkabber/plugins/latex → /usr/local/share/tkabber-svn/tkabber-plugins/latex

Имейте в виду, что Ткаббер не спускается в подкаталоги при поиске плагинов, поэтому не имеет смысла линковать сам каталог с плагинами из дистрибутива под какой-либо каталог плагинов Ткаббера. Зато вполне можно его заместить, создав симлинк, например, так:

~/.tkabber/plugins → /usr/local/share/tkabber-svn/tkabber-plugins

Такой способ, однако, весьма негибок, так как для установки внешних плагинов Ткаббера вам, во-первых, потребуется иметь право на запись в каталог плагинов дистрибутива, а во-вторых, хранить "левые" плагины вместе с поставляемыми с дистрибутивом — не совсем правильно (и может помешать обновлению этого каталога из репозитория).

Внимание: с появлением в составе Ткаббера так называемого Менеджера плагинов (в настройках выглядит как кнопка "Plugins Management") очень многие пользователи (и автор этих строк в том числе) забывают после установки плагина включить его в этом самом Менеджере. Там всё просто и быстро. Идём в вышеозначенное место, ищем плагин, включаем галочку, сохраняем изменения. Всё. Плагин на ходу загружается и работает. При "горячем" отключении, кстати, он не выгружается из памяти, а просто выключается (его функциональность становится недоступной). Если точнее, кое-что всё-таки выгружается, и это зависит от автора (впрочем, полная выгрузка плагинов на данный момент пока невозможна). Естественно, не все плагины можно включить-выключить таким способом, а лишь те, чьи авторы об этом позаботились. Очень желательно поэтому, когда вы выкладываете сюда свой плагин, оборудованный этой возможностью, напоминать пользователям, чтобы после установки они пошли в Менеджер и включили плагин, потому что по умолчанию Ткаббер их не подключает. Имеется шаблон для вики, позволяющий вставлять в текст статьи хорошо заметную надпись. В нужное место (лучше всего в самом начале) следует поместить следующий код разметки:

== My Plugin ==
{{plugmgr}}

Выглядеть надпись будет так: (!) Включить в Менеджере плагинов 

Пользователям, желающим установить себе такой плагин, следует помнить, что Менеджер плагинов имеется лишь в svn-версии Ткаббера (а если точнее, его не имеется в 0.11.1 и более древних версиях — есть надежда, что 0.12 всё же выйдет, и, кстати, выйдет она не раньше, чем все плагины будут снабжены возможностью динамической загрузки/выгрузки).

Подводные камни при обновлении Ткаббера

Имейте в виду, что большинство плагинов Ткаббера "привязаны" к конкретному релизу этой программы, так как они используют различные программные интерфейсы Ткаббера, а те имеют тенденцию изменяться со временем. При подобных изменениях в Ткаббере, его плагины тоже обновляются.

Это означает, что обновляя Ткаббер, — не важно, "снимаете" ли вы копию из репозитория или устанавливаете следующий стабильный релиз — нужно всегда помнить про установленные плагины и обновлять их вместе с Ткаббером.

Невнимание к этому факту порождает 99% проблем из серии "после обновления Ткаббер сыплет ошибками". Обновите плагины и перезапустите Ткаббер.

На заметку: иногда возникает обратная проблема: вы даёте плагин от "свежей" версии Ткаббера своему товарищу с более старой версией этой программы, и там он не работает. Решением проблемы, если обновление Ткаббера невозможно, является установка плагинов от соответствующей более старой версии Ткаббера, которые доступны вместе со своими плагинами здесь.

Анатомия плагина

В простейшем случае каталог плагина содержит один-единственный файл формата ".tcl", имя которого совпадает с именем каталога; именно этот файл Ткаббер читает при загрузке плагина. Если в каталоге есть другие файлы .tcl, то они загружаются, как правило, главным файлом плагина или вообще служат для какой-то другой цели.

Вообще же, только главный файл плагина присутствует всегда, а остальное содержимое каталога плагина может быть в принципе любым. Зачастую там есть документация (например, файл README), которую, конечно же, стоит изучить. Также там могут быть различные данные, используемые плагином, например, в плагинах игр, использующих графику (шахматы, шашки), можно найти ещё подкаталог pixmaps, где хранятся изображения доски и фигур.

Однако два подкаталога, которые могут вам встретиться внутри плагина, стоит рассмотреть подробнее.

Каталог msgs, если есть, содержит переводы текстовых ресурсов плагина (текста сообщений и т.п.) на языки, отличные от английского. Этот каталог может быть интересен с двух точек зрения:

Каталог .svn, если есть, содержит техническую информацию системы контроля версий Subversion, которая используется при разработке Ткаббера. Обычно такой каталог у вас появляется в каждом подкаталоге плагинов, которые вы "вынули" из репозитория Ткаббера (об этом рассказано ниже, в разделе "Стандартные плагины").

В принципе, этот каталог можно удалить (т.к. он фактически содержит копии всех файлов плагина + служебные файлы Subversion), но он может и пригодиться.

Дело в том, что после того, как вы получили из репозитория Subversion рабочую копию проекта, содержащего каталоги (и подкаталоги, и подкаталоги подкаталогов...), каждый из этих каталогов (и глубже) технически способен обновляться из репозитория независмо от остальных частей рабочей копии! Говоря проще, если вы "вынули" из репозитория все плагины, но используете лишь пару-тройку из них, вы можете обновлять из репозитория их и только их, просто выполняя команду

svn update

в каталогах этих плагинов. Причём сам каталог с плагином может при этом находиться где угодно — например, быть установленным в один из директориев для плагинов Ткаббера. Вот так можно обновить плагин "whiteboard":

$ cd ~/.tkabber/plugins/whiteboard
$ svn up

Сисадмину на заметку

Системным администраторам следует иметь в виду, что подавляющее большинство плагинов Ткаббера не имеет средств для своего отключения в процессе работы, то есть для отключения плагина следует удалить его каталог и перезапустить Ткаббер. Поэтому нужно вдумчиво подходить к установке плагинов в "общий" каталог.

Примечание: Начиная с марта 2009 года ведутся работы по переводу плагинов на динамические рельсы — теперь в Настройках появился пункт Plugin Management, где вы можете включить или выключить нужный вам плагин прямо на ходу (естественно, если он уже переведён на эти самые рельсы). Но надо полагать, в новом стабильном релизе Ткаббера по крайней мере все официальные плагины можно будет загружать/выгружать динамически.

Советы разработчику плагинов

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

Официальные плагины для Ткаббера

(!) Включить в Менеджере плагинов  Почти все эти плагины можно и нужно включать через Менеджер плагинов (за исключением, разве что, osd, latex и Tkabber-khim (последний уже намертво прикручен к Ткабберу)).

В этом разделе ничего принципиально нового не будет — сводка по существующим плагинам и краткое вспомоществование для желающих скачать и установить их.

Итак, на сегодняшний день на официальной странице плагинов насчитывается 17 расширений к Ткабберу: bc, checkers, chess, cyrillize, ejabberd, georoster, mute, osd, reversi, socials, spy и whiteboard. В двух словах о каждом:

  1. bc — игра "Быки и коровы". Управление командами: /bcstart /bcstop /bcnext /bctop
  2. checkers — шашки (включает разные версии: обычные, русские, американские, испанские и итальянские). Плагин весьма проработан - есть много игровых возможностей.
  3. chess — шахматы. Тоже весьма продвинут.
  4. cyrillize — если при вводе сообщения вы ошиблись раскладкой, дело можно поправить, нажав Ctrl+'.
  5. ejabberd — утилитка, позволяющая удалённо общаться с вашим ejabberd сервером.
  6. georoster — показывает на карте мира, где находятся ваши собеседники (если у них заполнены соответствующие поля в vCard).
  7. mute — экспериментальный плагин для коллективного редактирования текста.
  8. poker — техасский покер (Texas hold'em).
  9. osd — выводит некоторые события и сообщения "на широком экране" — On-Screen Display. Про его минимальную настройку можно почитать тут.
  10. reversi — ещё одна настольная игра.
  11. socials — позволяет вводить команды типа /танцевать (результат будет такой: *nick пляшет дикий танец!).
  12. spy — шпионит за присутствием, регистрируя появления в онлайне и уходы в оффлайн. Можно выбрать конкретного человека или нескольких и получать оповещения при их появлении.
  13. whiteboard — доска для рисования. Удобно, когда надо нарисовать схему проезда к месту распития пива оффлайновой Jabber-тусовки ;)
  14. debug — он и в Африке отладчик, пишет в лог ошибки касательно отмеченных ключевых слов.
  15. latex — показывает формулы, написанные в формате LaTeX, в виде картинок-математических формул. Работает под Windows и *nix. Нужно дополнительно установить пакеты latex, dvips, imagemagick.
  16. traffic — считает количество байт в несжатом, незашифрованном XML потоке. Группирует по JID-у отправителя и по типу станцы. Читать подробнее.
  17. Tkabber-KHIM — позволяет вводить в Ткаббере произвольные символы Unicode значительно более удобным способом, чем при помощи встроенного механизма "unisymbols".

В версию 0.11.0 было интегрировано несколько плагинов: attline, ctcomp, custom-urls, floatinglog, gmail, openurl, presencecmd, receipts и unixkeys. Краткие справки о них доступны здесь и здесь. Некоторые из них подробнее освещены ниже. (!) Сделать: перенести краткое опиcание из статьи на j.r. сюда

Установить самый свежий пакет плагинов можно из SVN. Для этого необходимо проделать следующее (естественно, у вас должен быть установлен пакет svn):

svn co http://svn.xmpp.ru/repos/tkabber/trunk/tkabber-plugins tkabber-plugins

Abbrev

Внимание! Этот плагин находится в транке в качестве встроенного средства начиная с ревизии 994 (3 Марта 2007). Интерфейс управления не изменился; несущественно изменился формат вывода информации командами плагина. Изменился механизм раскрытия сокращений: во встроенном плагине сокращения раскрываются вводом Shift-space.

Этот плагин добавляет возможность для управления "сокращениями" на письме, позволяя, к примеру, динамически разворачивать слово "днк" на письме в "дезоксирибонуклеиновая кислота".

Плагин предоставляет три "команды" чата:

/abbrev 

Создаёт сокращение. Форма использования:

/abbrev что на что

привязывает к сокращению "что" строку "на что".

/unabbrev 

Удаляет сокращение. Форма использования:

/unabbrev что

удаляет сокращение "что". Аргумент "*" представляет собой особую форму команды — удаляются все имеющиеся сокращения.

/listabbrevs 

Показывает текущие сокращения.

Сокращения разворачиваются динамически при нажатии кнопки space после ввода слова-сокращения. Например, если у нас есть сокращение для "днк", то если после ввода слова "днк" вы введёте пробел, сокращение "днк" развернётся в "дезоксирибонуклеиновая кислота".

Внимание: чтобы подавить разворачивание, вводите Shift-space.

Пример:

/abbrev прив приветствую участников конференции!

(добавили сокращение "прив" с замещением "приветствую участников конференции!"), далее используем его:

хочу всем сказать: прив
                       ^тут вводится пробел

в итоге имеем:

хочу всем сказать: приветствую участников конференции!

Сокращения сохраняются в базу данных Customize. Выполнен русский перевод сообщений плагина.

Подробности смотрите в файле README.

Полезный совет: добавьте следующее сокращение:

/abbrev аббрев /abbrev

По аналогии можно настряпать их целую кучу (следующие пишем, уже пользуясь только что вбитым сокращением):

/abbrev ме /me
/abbrev унаббрев /unabbrev
/abbrev листаббр /listabbrevs
/abbrev девойс /devoice

и так далее (многие плагины работают с помощью команд, которые не всегда вовремя вспоминаются; вот тут-то и пригодится "листаббр"!). Теперь нет нужды переключаться на английскую раскладку для набора команд :)

Файл: Abbrev.zip (~6 кб)

Автор: kostix

Aniemoticons

(!) Включить в Менеджере плагинов 

Плагин для любителей анимированных смайликов. (!) Сделать: Развить?

Attline

(!) Сделать: Написать.

Ctcomp

Внимание! Этот плагин вошёл в число официальных внешних плагинов Ткаббера и находится в транке начиная с ревизии 1256 (7 октября 2007). Версия плагина в транке была сильно переработана по сравнению с предыдущей версией (1.2).

Текущая версия

kostix 7 октября 2007 (MSK): v2.0 (является копией версии в транке).

Назначение и принцип действия

Этот плагин — "Chat Text Completion" — реализует автозавершение слов, вводимых в окне ввода чата, словами, имеющимися в окне протокола чата и в окне ввода чата.

Идея простая: в ходе общения в чат были помещены какие-то (сложные) слова, и вам хочется воспроизвести одно из таких слов в своём сообщении. Слово есть в окне протокола чата, но для того, чтобы его поместить в своё сообщение, необходимо его скопировать в буфер обмена при помощи мыши и затем вставить в поле ввода чата. А данный плагин позволяет написать несколько первых букв требуемого слова (минимум — одну) и затем комбинациями клавиш Ctrl-n и Ctrl-p циклически "прокрутить" все подходящие под ваш ввод слова прямо "на месте", выбрать нужное и продолжить редактирование. Кто знает, как работает "completion" в insert mode текстового редактора Vim, поймёт откуда позаимствован принцип действия этого плагина и, вероятно, найдёт привязки кнопок по умолчанию удобными. Жест из Emacs Alt-/ также поддерживается.

Также можно вызвать меню со списком имеющихся дополнений слова.

Управление

Плагин переопределяет две стандартные привязки поля ввода чата (по умолчанию отвечающие за помещение в поле ввода чата текста следующего/предыдущего отосланного сообщения):

Эти комбинации являются основными. Возможно чередовать их использование, произвольно перемещаясь по "кольцу" возможных вариантов дополнения введённых букв слова.

Пример

Имеем в окне протокола чата несколько слов, среди которых есть: "abbot", "abridged", "abduction" и "abba".

Вводим в поле ввода чата:

ab
  ^тут нажимаем Ctrl-n, Alt-/ или Ctrl-p

переходим в режим автодополнения, в котором Ткаббер будет показывать все слова, начинающиеся с "ab" на месте введённого вами "ab"; дополненная часть слова выделяется другим цветом фона:

abba
abduction
abot
abridged
...
Значения в списке отсортированы; Ctrl-n и Alt-/ перебирают значения в порядке возрастания, Ctrl-p — в обратном порядке.

Далее Enter для подтверждения использования текущего варианта, или Escape для выхода из режима автодополнения (и возврата к исходному тексту: "ab").

Также можно было нажать Ctrl-Alt-/ вместо Ctrl-n (и прочих) чтобы получить меню со списком подходящих слов.

Проблемы

Указанные комбинации клавиш не будут работать на русской раскладке Windows в силу печально известного бага Tk в Windows. В README описан костыль для этой проблемы (потребуется написать несколько строчек в config.tcl.

Плагин

Большая просьба потестировать, если интересно, и не стесняться сообщать багрепорты/пожелания.

Рекомендуется прочитать приложенный README — там описаны доступные настройки плагина и вообще дано больше информации по нему.

Файл: Ctcomp.zip (~9 кб)

Автор: kostix

Custom URLs

(!) Сделать: Написать.

Floating Log

(!) Включить в Менеджере плагинов 

Внимание! Этот плагин вошёл в число официальных внешних плагинов Ткаббера и находится в транке начиная с ревизии 1245 (6 октября 2007).

Плагин показывает во всплывающих окнах приходящие сообщения и сообщения статуса.

Файл: Floatinglog.zip

Текущая версия: 0.4 , 26-August-2007.

Автор: archimed

Floating Roster Contact

(!) Включить в Менеджере плагинов 

Proof-of-concept plugin. Позволяет "оторвать" элемент ростера в плавающее окно без декораций. Перемещение этого окна по Drag'n'Drop. Плагин очень недоделанный (окошки не запоминаются, при логауте не пропадают, на roster push не реагируют, наверняка ещё чего-нибудь нужное не делают).

Teo

Gmail Notifications

(!) Включить в Менеджере плагинов 

Если вы пользуетесь джаббер-аккаунтом на gmail.com, то этот плагин позволит вам получать уведомления о почте, приходящей по вашему адресу. Плагин использует расширение XMPP Gmail Notifications. Уведомления показываются в отдельном окне/вкладке.

Примечание: Если вы не пользуетесь gmail.com в качестве Jabber-сервера, но хотите получать уведомления о почтовых сообщениях, то этот плагин вам не поможет. Вместо него можно использовать J2J-транспорт. Но помните, что владелец J2J-транспорта может подсмотреть ваш пароль на gmail.com и читать вашу почту. Оно вам надо? Подробнее можно почитать на странице проекта J2J.

Teo

Histool

Внимание! начиная с 0.10.0-beta2 этот плагин интергирован в Ткаббер в качестве встроенного средства (пункт главного меню Службы → Разговоры) и дальше развивается там. Этот раздел будет убран через некоторое время.

"History tool" — браузер истории чата.

Внимание! Плагин предназначен для "новой системы логирования", появившейся в альфа-версии начиная с релиза 841 (26 Декабря 2006), кроме того код плагина был частично интегрирован в транк Ткаббера (и сам плагин туда собирается), так что этот плагин работает только с Ткаббером начиная с релиза 1004 (04 Марта 2007).

Этот плагин реализует окно, которое можно открыть через пункт главного меню Services → Plugins → Chat history, предоставляющий несколько способов для доступа ко всей истории чатов:

Двойной клик на любом JID'е открывает стандартный диалог с логом чата для этого JID'а.

В списке джидов и дереве логов работает поиск (панель открывается по <<OpenSearchPanel>>, прибитому по умолчанию на Ctrl-s.

Баги/ограничения текущей версии:

Файл: Histool.zip (~8 кб)

Текущая версия: 0.6, 04-Mar-2007.

Автор: kostix

Open URL

(!) Включить в Менеджере плагинов 

Добавляет в меню по правой кнопке на URL в окне чата пункты, позволяющие открыть этот URL в заданном браузере.

Teo

Presencecmd

Внимание! Данный плагин без изменений добавлен в число официальных внешних плагинов Ткаббера и находится в транке начиная с ревизии 1189 (17 августа 2007).

Добавляет две новые IRC-команды чата для управления присутствием (глобальным и направленным).

Примеры:

/presence dnd

/presence chat
Hey girls!

/presence
Now read this!

/chatpresence xa
Gone shopping

Подробности — в README.

Файл: Presencecmd.zip (~6k)

Текущая версия: 0.2, 14-July-2007.

http://svn.xmpp.ru/repos/tkabber-3rd-party/trunk/plugins/presencecmd

Автор: kostix

Quote Last Message (quotelastmsg)

Копирует в поле редактирования последнее сообщение из чата и прибавляет к нему угловые скобки (признак цитирования). Хоткей — Alt-Q Если это сочетание уже занято, вы можете перебиндить его в конфиге. Например, так, как об этом рассказано в README, который лежит в папке с плагином:

event delete <<QuoteLastMessage>> <Alt-q>
event delete <<QuoteLastMessage>> <Meta-q>
event add    <<QuoteLastMessage>> <Control-Shift-m>

Кстати, с помощью этого плагина удобно редактировать обширный топик.

Receipts

(!) Сделать: Написать.

Recentstatus

Внимание! Плагин интергирован в виде встроенного средства начиная со стабильной версии 0.11.0, поэтому плагин следует использовать только на версиях <= 0.10.0. Если вы "апгрейдитесь" на 0.11.0 с более старой версии, проверьте — не установлен ли у вас этот плагин; если установлен, обязательно удалите его, в противном случае это может привести к мистическим глюкам.

Плагин меняет штатный виджет Ткаббера для вода "статусного сообщения" (справа от кнопки, открывающий меню состояний доступности) на комбобокс, который хранит историю последних установленных статусных сообщений. Каждое установленное пользователем статусное сообщение записывается в историю. История сохраняется между перезапусками Ткаббера. Возможно настроить максимальную длину истории.

Примечание: В репозитории tkabber-3rd-party его уже нет. Если вам по каким-то причинам нужна старая версия, трясите автора ;)

Автор: kostix

Singularity

(!) Сделать: Написать.

Stripes

Внимание! Этот плагин включён в транк начиная с версии 0.11.1. При этом в нём был исправлен баг, указанный ниже.

Этот плагин позволяет раскрашивать фон целых нечётных и/или чётных сообщений в окне чата. Поддерживается раздельная установка цвета фона для чётных и нечётных сообщений через базу опций Tk (Tk option database) или XRDB, например, так:

option add *Chat.oddBackground  gray77
option add *Chat.evenBackground gray84

Если цвет для соотв. типа сообщений не задан, он не устанавливается (остаётся тем, который используется по умолчанию).

Настройки цветов должны идти либо в preload_hook, либо быть "на верхнем уровне" (вне хуков).

С подбором цветов поможет эта статья.

Внимание! плагин имеет баг, связанный с невозможностью (в плагине) узнать момент окончания отрисовки сообщения: при поступлении нового сообщения в окно чата плагин раскрашивает предыдущее сообщение, а не текущее. Это приводит к тому, что последнее сообщение, помещённое в окно чата не будет раскрашено до поступления следующего сообщения. (Если у кого-то есть идеи как это обойти — пишите автору.)

Файл: Stripes.zip (~1.5 кб)

Текущая версия: 0.1, 07-Mar-2007.

Автор: kostix

Tclchat

(!) Сделать: Написать.

Tkabber-KHIM

Внимание! С 13 декабря 2006 этот плагин находится в транке, так что если вы используете версию с SVN, не заморачивайтесь и снимите его оттуда. Тем более, что версия плагина в транке уже получила несколько изменений, недоступных в выложенной здесь версии. (Изменения, впрочем, не принципиальные, так что если у Вас стабильная версия Ткаббера, возьмите плагин отсюда.)

Этот плагин прикручивает к Ткабберу особый "как бы метод ввода" авторства Кевина КенниKHIM, позволяя вводить в Ткаббере произвольные символы Unicode значительно более удобным способом, чем при помощи встроенного механизма "unisymbols":

Примерно это выглядит так:

После установки плагина и перезапуска Ткаббера посетите меню Службы → Расширения и выберите там пункт "KHIM Options". Обязательно прочтите справку по работе и настройке KHIM, нажав "Справка..." в появившемся диалоге.

Пакеты khim и autoscroll, необходимые для работы Ткаббера, но имеющиеся только в tklib, упакованы прямо в плагин, т.к. tklib не очень распространён, и в текущую стабильную его версию khim ещё не входит.

Плагин должен работать на любой версии Ткаббера, так что приветствуется тестирование на любых доступных версиях.

Пара полезных советов: Помните, что KHIM включен по умолчанию, то есть чисто теоретически в настройки ходить не обязательно (в случае, если пакет вам уже знаком). Но конечно, если вы видите его впервые, сходить туда имеет смысл: ознакомиться с "прошитыми" комбинациями и, в случае нужды, дополнить и/или измененить список, ну и почитать справку. После завершения работы с опциями окно можно закрыть (но можно и оставить, чтобы иметь комбинации перед глазами). В некоторых европейских раскладках (в частности, в испанской) некоторые дефолтные комбинации могут не работать. Например, буква "энье" — n, вводящаяся по умолчанию как Pause~n — из-за тильды, которая сама по себе висит на сочетании клавиш "RightAlt-4" и портит весь пирог. Ввод этой буквы можно легко перевесить на другое сочетание, к примеру, "$n" (доллар вызывается как обычно, "Shift-4", и проблем не вызывает). Так что если у вас установлен нетрадиционный дополнительный язык, и вы испытываете трудности с вводом некоторых букв, всё можно легко поправить. Не бойтесь обновлять плагин — все ваши изменения сохраняются в файле ~/.tkabber/custom.tcl, и останутся там даже после удаления самого плагина.

Это — предварительная версия плагина, что означает отсутствие документации.

Файл: Tkabber-khim.zip

Автор: Kostix

Версия: 1.2

Размер файла: ~34k

Примечание: если у вас в системе есть свежий tklib, то вы можете удалить подкаталоги khim и autoscroll из каталога с плагином. Про то, как снять tklib с CVS и поставить его в систему, рассказано здесь. Имейте в виду, что KHIM вошёл в состав tklib совсем недавно, и текущая стабильная версия (на 9 декабря 2006 года) его не содержит — берите с CVS.

Однако имейте в виду, что в той версии khim, что идёт с плагином, уже имеется один багфикс и русский перевод всех окон KHIM. Этого пока нет в tklib.

Unixkeys

Внимание! Плагин интергирован в виде стандартного внешнего плагина начиная со стабильной версии 0.11.0. В транке плагин был доработан: его функциональность была расширена на все поля ввода, включая однострочные и комбобоксы, а жест Ctrl-\** заменён на **Ctrl-/.

Плагин приделывает ко всем многострочным полям ввода в Ткаббере (включая поля ввода сообщений чатов) комбинации клавиш, традиционные для средств редактирования в Unix. Фактически, в плагин "завёрнута" функциональность, описанная здесь (главное отличие — в плагине реализован жест *Ctrl-\*, означающий "выделить всё").

Подробности — в README.

http://svn.xmpp.ru/repos/tkabber-3rd-party/trunk/plugins/unixkeys

Автор: kostix

Полуофициальные плагины для Ткаббера

Здесь ссылки на плагины для Ткаббера, которые не попали в tkabber-plugins, но их авторы не поленились получить доступ к репозиторию tkabber-3rd-party и выложили свои творения туда. Скачать их можно командой

svn co http://svn.xmpp.ru/repos/tkabber-3rd-party/trunk/plugins ~/tkabber-3rd-party-plugins

Alarm

Внимание! версия этого плагина, доступная в виде архива по ссылке, перестала работать после очередного изменения внутреннего API обработки IQ-запросов в Ткаббере; исправленная версия доступна только в "левом" репозитории (см. ниже).

Возможность послать собеседнику сигнал. Вид сигнала (звук, сообщение, запись в чате) выбирает собеседник. Есть фильтр и защита от флуда. Идея отсюда продолжение здесь. Разработан протокол, описание внутри. Все ошибки и запросы присылайте Feez.

Исправленная версия, работающая на альфах 0.10.1 и выше доступна в репозитории:

https://svn.xmpp.ru/repos/tkabber-3rd-party/trunk/plugins/alarm

Antispam

Плагин для борьбы со спамом. Скрывает от пользователя сообщения от неизвестных контактов, запрашивает у отправителя пароль для прекращения блокировки его сообщений.

Известная проблема: оффлайновые сообщения не блокируются, если отключение произошло до загрузки ростера.

Плагин доступен в репозитории по адресу https://svn.xmpp.ru/repos/tkabber-3rd-party/trunk/plugins/antispam Подробности — в README.

Автор: Gebb.

Autoanswer

Автоответчик. Позволяет автоматически посылать пользователю, написавшему вам личное сообщение (или "в приват" конференции), пока вы находитесь в "недоступном" состоянии (список таковых поддаётся настройке), некоторое заготовленное сообщение, например, "Я занят, перезвоните попозже!" ©. Таким образом, плагин удобен для борьбы с людьми, которые не умеют или не хотят понимать, что означает ваш текущий статус.

Автоответчик можно быстро включать/отключать с помощью соответствующей иконки на тулбаре.

Имейте в виду, что если вы пользуетесь "автоэвеем", настоятельно рекомендуется исключить из состояний, в которых включается автоответчик, "away" и "xa", оставив только "dnd". Впрочем, плагин в этом плане не очень назойлив. Он отсылает автоответ только на первое сообщение и дальше уже помалкивает. При желании число автоответов можно изменить в коде.

Подробности — в README.

http://svn.xmpp.ru/repos/tkabber-3rd-party/trunk/plugins/autoanswer

Авторы: Gebb, kostix. Иконки сделал ART.

Autosubscribe

(!) Сделать: Написать.

Bldjid

(!) Включить в Менеджере плагинов 

Мощный плагин в помощь админам, позволяющий банить и разбанивать пользователей по их джидам во всех комнатах, где у вас есть админские права. Кроме этого, позволяет мониторить заходы пользователей в комнаты (можно задать список интересующих) даже при выключенной опции ::muc::options(gen_enter_exit_msgs). При этом собирается следующая информация: время захода, ник, реальный джид с ресурсом (при наличии у вас соответствующих прав в комнате), роль/ранг, версия клиента и ОС. Эта информация доступна не только во время текущей сессии, но и записывается в лог, откуда её можно выудить при поиске, что позволяет отслеживать долгосрочную историю заходов посетителей. Поиск возможен по нику, джиду, роли/рангу, версии, при этом можно совмещать несколько параметров в одном поисковом запросе. Кроме того, в плагине имеются команды, дающие возможность проверить, находится ли искомый джид в списке членов или в чёрном списке комнаты. Также можно включить "шпиона", уведомляющего о заходе в контролируемые комнаты нужного вам человека (указав его джид). Есть и возможность кардинальной чистки бан-листа как целиком, так и указав причину бана, что помогает разбанивать сонмы товарищей, забаненных ботом (естественно, если бот указывал определённую причину).

Описывать каждую команду здесь не имеет смысла, поэтому дальнейшее знакомство с плагином лучше продолжить здесь

Также имеет смысл напомнить, что следующая команда выведет примеры использования всех команд, задействованных в плагине:

/bldhelp

Известные проблемы:

Скачать плагин можно по адресу: https://svn.xmpp.ru/repos/tkabber-3rd-party/trunk/plugins/bldjid

ycbl 03:32, 29 марта 2010 (MSD)

Customstatus

Плагин позволяет управлять набором пар «статус присутствия "доступен"/текстовое описание», позволяя делать предустановки для различных статусов присутствия. Это позволяет быстро устанавливать статус с заранее заданным текстовым описанием. Набор статусов/описаний доступен в виде меню, привязанного к новой кнопке тулбара. В этом же меню имеется пункт, вызывающий редактор набора статусов.

Набор статусов сохраняется при помощи стандартного механизма Customize.

Продвинутые пользователи могут попробовать задействовать дополнительные настройки. Пока что их можно править только напрямую в файле плагина. За настройки отвечает массив options:

variable options
array set options {
    subvert_main_presets_menu   no
    subvert_quick_presets_menu  no
    add_toolbar_item            yes
    toolbar_item_image          services/icq/chat
    accelerate_menus            no
    extend_quick_presets_panel  yes
    quick_presets_panel_image   services/icq/chat
}

Разъяснение настроек:

subvert_main_presets_menu 

Заменяет меню "Присутствие" в главном меню Ткаббера на то, которое предоставляет этот плагин.

subvert_quick_presets_menu 

то же самое для "быстрого" меню статусов (на "Панели присутствия/статуса").

add_toolbar_item 

Управляет добавлением на тулбар кнопки, нажатие на которую показывает меню статусов. Это — поведение плагина по умолчанию.

toolbar_item_image 

Устанавливает имя загруженной картинки для кнопки на тулбаре. Список доступных картинок можно получить, выполнив в консоли Ткаббера команду "image names".

accelerate_menus 

Если включена, при формировании меню предустановок первые девять опций меню предваряются префиксами "1.", "2." и т.д., которые являются акселераторами и могут быть активированы нажатием соотв. клавиши 1, 2 и т.д., когда меню открыто. Это может быть полезно, если сам вызов меню предустановок повешен на комбинацию клавиш, например, таким кодом в файле конфигурации:

    hook::add finload_hook {
        bind . <Control-p> {
            tk_popup .presence.button.custom_menu [winfo pointerx .] [winfo pointery .]
        }
    }
extend_quick_presets_panel 

Добавляет кнопку, аналогичную таковой на тулбаре, справа от кнопки выбора присутствия на "Панели присутствия/статуса".

quick_presets_panel_image 

Устанавливает картинку для этой кнопки.

Ухищрения:

Основные недоработки/баги:

Приветствуется самое широкое тестирование. Багрепорты и пожелания шлите автору.

Файл: Customstatus.zip (~7кБ)

Версия: 0.6, 06-Mar-2007

http://svn.xmpp.ru/repos/tkabber-3rd-party/trunk/plugins/customstatus

Автор: kostix

Flip

Плагин-шутка. 1 апреля при заходе в конференцию с вероятностью 50% "переворачивает" ваш ник вверх тормашками. Смотрится прикольно :) На следующий день перевёрнутые ники приходят в норму.

Недостаток: Если выключить Ткаббер до полуночи и включить снова уже 2 апреля, ники в норму не придут. Для исправления требуется приделать сохранение в файл. Приделано. Кроме того, обнаружен баг с одной буквой (R), перевёрнутая версия которой принадлежит арабскому алфавиту. На jabber.ru запрещено использование ников, состоящих из смеси арабских и не-арабских букв, поэтому с ником, содержащим R, вас бы не пустили ни в одну из комнат. Пришлось её выкинуть. Если заметите подобное поведение с другими буквами, просьба сообщить. Также будем рады дополнениям таблицы букв-перевёртышей (см. код плагина).

URL:

https://svn.xmpp.ru/repos/tkabber-3rd-party/trunk/plugins/flip/

Автор: ycbl

Green

Плагин предназначен для реализации в Ткаббере слежения за событиями управления питанием системы, таких как suspend и resume. Идея состоит в том, чтобы корректно закрыть все активные соединения с серверами при уходе системы в suspend, запомнив их. Затем, если требуется, восстановить их после того, как система переходит в нормальный режим работы, предварительно подождав некоторое время, пока не "поднимется" сеть.

Поскольку стиль доведения информации о событиях подсистемы управления питанием до работающих приложений очень сильно отличается между операционными системами, этот плагин поддерживает два режима работы:

Иными словами, в случае с Windows плагин работает "сам собой", а в случае систем, основанных на X Window, ему помогает внешний скрипт, организация правильного запуска которого — задача пользователя.

Важно понимать, что сам плагин должен быть установлен в Ткаббере в любом случае.

Подробности — в README.

По поводу работы в Linux, см. обсуждение на багтрекере Ткаббера.

http://svn.xmpp.ru/repos/tkabber-3rd-party/trunk/plugins/green

Автор: kostix

Hidemuctopic

Небольшой плагин, который, будучи установленным, скрывает поле темы комнаты, высвобождая несколько ценных миллиметров пространства. Чтобы вновь увидеть его для доступа к редактированию темы или к настройкам и командам комнаты (плохо заметная "кнопка" с надписью "Тема" слева от поля с топиком), нужно нажать Ctrl-T

URL:

https://svn.xmpp.ru/repos/tkabber-3rd-party/trunk/plugins/hidemuctopic/

Автор: kostix

Juick

Плагин для жуйкования. То бишь, ведения (микро)блога на juick.com. Подробнее.

Killerfeature

Плагин предназначен для ручного удаления XMPP-аккаунта с сервера.

После установки плагина, в подменю "Tkabber" главного меню Ткаббера появится новый пункт "Delete account...", активизация которого представит пользователю диалог с одним или более чекбоксами — по одному на каждый уникальный аккаунт из числа активных (подключённых) в данный момент. Нажатие кнопки "ОК" данного диалога отправит серверу команду удаления каждого помеченного пользователем аккаунта; при этом также происходит отключение этих аккаунтов. Никаких подтверждений запрошено не будет. Выйти из диалога без удаления аккаунтов можно, нажав кнопку "Отмена", нажав Escape или закрыв окно диалога средствами оконного менеджера.

Внимание! Восстановить удалённый аккаунт не будет никакой возможности (кроме разве что ползания на коленях перед админом сервера с мольбами поднять ваш аккаунт из последнего бэкапа).

Текущая версия в репозитории Subversion:

http://svn.xmpp.ru/repos/tkabber-3rd-party/trunk/plugins/killerfeature

Автор: kostix

Notes

Плагин для ведения заметок. Заметки хранятся в связанном с JID'ом хранилище в соответствии с XEP-0049. Плагин совместим с аналогичными плагинами для Miranda и Psi+. Поддерживается работа с несколькими одновременно подключёнными аккаунтами. Есть возможность отфильтровать заметки по одному или нескольким тегам, а также экспортировать их в файл.

Пока что плагин предоставляет только один способ взаимодействия с пользователем — через несложный графический интерфейс. В будущем планируется добавить набор команд для управления заметками из чата.

Также планируется сделать больше привязок к существующим элементам графического интерфейса для быстрого добавления/редактирования заметок. Пример такого взаимодействия (из реализованного): по пункту меню, привязанному нажатию к правой клавишей мыши в чате, можно добавить выделенный в чате текст к заметкам.

Текущая версия в репозитории Subversion (для Ткаббера с менеджером плагинов):

https://svn.xmpp.ru/repos/tkabber-3rd-party/trunk/plugins/notes

Плагин также доступен через GIT (не рекомендуется для конечного пользователя, там бывают экспериментальные изменения):

https://github.com/Totktonada/tkabber4notes

Некоторая дополнительная информация по плагину собрана тут:

https://svn.xmpp.ru/repos/tkabber-3rd-party/trunk/plugins/notes/doc/

Автор: Totktonada

Now Playing

(!) Сделать: Написать.

Open History

Небольшой, но полезный плагин, позволяющий открывать историю разговоров в комнате или с контактом из ростера без использования мыши, с помощью нехитрой команды. Для истории любого конкретного джида:

/history jid

Для просмотра истории текущего разговора:

/history

Недостаток: В случае просто /history в привате конференции откроется история конференции, а не этого привата.

URL:

https://svn.xmpp.ru/repos/tkabber-3rd-party/trunk/plugins/openhistory/

Автор: Sceptik

Plugin Manager

Внимание! простым пользователям Ткаббера это средство скорее всего не нужно, потому что это не "настоящий" плагин; если вы просматриваете список плагинов в поисках чего-нибудь "вкусненького", пропускайте этот раздел и читайте дальше.

Это средство было специально написано для Windows-дистрибутивов Ткаббера (пак и старпак), которые устанавливают в систему все стандартные внешние плагины вместе с Ткаббером чтобы пользователю не надо было качать их отдельно. Plugin Manager добавляет в Ткаббер возможность открыть специальное окно со списком всех стандартных внешних плагинов, выбрать требуемые и установить их одним нажатием кнопки. Точно так же их можно удалять из пользовательского каталога плагинов. Таким образом, пользователю не нужно думать о том, как устанавливать или удалять плагин, а также о том, куда инсталлятор распаковал плагины.

В настоящий момент (post-0.11.1 девелоперская версия) в Ткаббере реализована возможность динамической загрузки и выгрузки плагинов в процессе работы без требования перезагрузки. После того, как во всех стандартных внешних плагинах будет реализована поддержка этой возможности, Plugin Manager станет не нужен, поскольку устанавливать стандартные внешние плагины путём копирования их в пользовательский каталог плагинов будет не нужно: достаточно будет пометить видимые Ткабберу плагины в группе настроек "Plugins Management" как используемые и сохранить настройки.

Следует, однако, отметить что пока ещё у Ткаббера нет специального знания о том, где лежат его стандартные внешние плагины (это, по-видимому, будет реализовываться паковщиками Ткаббера под различные ОС при помощи некоего механизма, который в настоящее время в Ткаббере не реализован), и поэтому уже переделанные стандартные внешние плагины нужно сначала копировать в каталог плагинов, а потом ещё после перезагрузки Ткаббера включать в группе настроек "Plugins Management" (что, понятное дело, нелогично).

URL:

https://svn.xmpp.ru/repos/tkabber-3rd-party/trunk/plugins/pluginmanager/

Автор: Archimed

Reminder

(!) Включить в Менеджере плагинов 

Плагин, позволяющий задавать напоминания о некоторых грядущих событиях (не забыть выключить чайник, позвонить кому-либо и т. д.). Время срабатывания можно задать как в абсолютном формате (полная дата вида MM/DD/YYYY HH:MM:SS), так и в относительном (HH(H):MM:SS, MM(M):SS, S(S)). Относительный формат также используется при задании тайм-аута с помощью ключевых слов, например: tomorrow 1:00:00 — через 25 часов, week — через неделю. Когда наступит заданный вами момент времени, выскочит небольшое окошко с текущим временем и текстом напоминания и прозвучит сигнал (сигнал можно отключить в настройках). Кроме обычных одноразовых напоминаний также планируется приделать повторяющиеся (каждый час, день, неделю, месяц, год), а также напоминания о днях рождения контактов из ростера и, по желанию, посетителей конференций.

Формат команды:

/remind time
message

Кроме этого, можно выводить список текущих напоминаний посредством команды

/listrems

а также удалять любое из выведенных ею напоминаний с помощью

/delrem #

где # — номер нужного (а точнее, ненужного) вам напоминания в полученном списке. Удалить за один раз можно только одно напоминание, при этом помните, что оно сразу же пропадает из списка, в результате чего нумерация нарушается, поэтому для гарантии выведите список ещё раз, если вам надо удалить несколько.

Есть возможность задать выполнение команд в определённое время, при этом сообщение, указываемое на следующей строке, должно начинаться с ключевого слова cmd (например, 25 ноября в час дня разбанить некоего посетителя):

/remind 11/25/2010 13:00:00
cmd ::muc::unban ::xmpp::1 \
foo@conference.jabber.ru pupkin@jabber.ru

Командой может быть любой кусок кода на тикле; можно даже загрузить и выполнить скрипт, находящийся в файле:

/remind 3 days
cmd source /home/myself/bin/test.tcl

Напоминания сразу же после их задания сохраняются в файле настроек custom.tcl и восстанавливаются оттуда при следующем запуске Ткаббера. Если какое-либо из них "протухло" за время, пока Ткаббер был выключен, при старте появится уже знакомое окошко, где помимо текущего времени и текста напоминания будет ещё указано время, на которое оно было установлено.

Краткую помощь по использованию программы можно получить по команде

/remind help

URL:

https://svn.xmpp.ru/repos/tkabber-3rd-party/trunk/plugins/reminder

Автор: ycbl

Snoopstatus

(!) Сделать: Написать.

Urgent

(!) Сделать: Написать.

Urlcmd

Добавляет две новые IRC-команды чата для перехода по ссылкам, содержащимся в сообщениях чата.

Примеры:

Команда Действие
/listurls Показать список ссылок в текущем окне.
/browseurl Открыть последнюю ссылку в броузере.
/browseurl 1 Открыть ссылку с номером 1 в списке.

Плагин доступен в репозитории по адресу

http://svn.xmpp.ru/repos/tkabber-3rd-party/trunk/plugins/urlcmd

Подробности — в README.

Авторы: Gebb, kostix.

Неофициальные плагины

А здесь собраны плагины, не попавшие ни в официальный, ни в 3rd-party репозитории. Некоторые из них, вероятно, устарели, так что если какой-то вдруг у вас не работает, разыскивайте авторов.

8bitgw

Плагин, позволяющий общаться с "асечниками" и другими страдальцами через XMPP-гейты, работающие с 8-битным набором символов, отличным от того, с которым работает клиент "асечника". Например, можно общаться с русским "асечником", использующим Windows-1251, через "буржуйский" гейт, считающий, что в ICQ-сети используется Latin-1.

Настройка:

Параметр ::plugins::8bitgw::gateways в секции Customize Plugins → 8bitGateways содержит (возможно пустой) Tcl-список гейтов и связанных с ними наборов символов в следующем формате:

{сервер1 кодировка_сети кодировка_удалённого_клиента} [{сервер2 ...} ...]

(символы [ и ] отделяют необязательную часть).

Гейты задаются "голым JID'ом" ("bare JID"), т.е. адресом без узловой части и ресурса, например: icq.someserver.com.

Названия наборов символов сети и удалённого клиента должны быть понятны тиклю; узнать, что для него понятно, можно, выполнив в tclsh, wish или консоли Ткаббера команду

encoding names

Тикль работает с каноническими наименованиями наборов символов, в частности, он не знает про "Latin-1", зато знает про "iso8859-1".

Пример: такая настройка

{aim-icq.jabber.anywise.com iso8859-1 cp1251} {icq.ru.biz cp1251 cp1252}

заставит плагин совершать перекодировки исходящих и входящих данных чтобы:

Ошибки/недоработки:

Багрепорты/пожелания шлите автору.

Файл: 8bitgw.zip (~3 кб)

Текущая версия: 0.1, 01-June-2007.

Автор: kostix

Autoconnect

Данный плагин предназначен для автоматического соединения с нужными транспортами после отсоединения или при старте Ткаббера. Критику и пожелания направляйте eXire.

Autoraise

Этот плагин написан в качестве фикса к проблеме, сформулированной тут.

Плагин "поднимает" главное окно Ткаббера, если таковое свёрнуто или скрыто, на экран при приходе любого нового сообщения (в т. ч. от сервера, сообщений о присутствии и т. п.).

Управление:

Ограничения:

Тестирование и отзывы приветствуются.

Файл: Autoraise.zip (~4 кб)

Текущая версия: 0.1, 29-Mar-2007.

Автор: kostix

Autoretrieve

Этот плагин автоматически запрашивает информацию о пользователях в конференции, т. е. информация сразу доступна в тултипе и не надо открывать окно Userinfo. Включить/отключить плагин можно в Customize→Conference Info

eXire

Bmuc

(!) Включить в Менеджере плагинов 

Плагин позволяет блокировать все приватные сообщения в конкретной конференции, отправленные вам участниками с рангом «None». Также есть возможность блокировки приватных сообщений от модераторов и членов (включается по выбору отдельно). Управление плагином осуществляется через меню на кнопке «Тема:» в конференции.

Внимание! Плагин будет работать только с SVN-версией Ткаббера.

Автор: Jet

Модифицированный плагин с расширенной возможностью блокировки сообщений в группчате доступен в репозитории по адресу:

http://svn.xmpp.ru/repos/tkabber-3rd-party/trunk/plugins/bmucx/

Автор модификации: ancestor

Bookmarks

Плагин автоматически ставит bookmark в окнах чата при автоматическом и ручном уходе в away, а также при потере фокуса окном Ткаббера. Настраивается через Customize → Plugins → Bookmarks.

При смене статуса автоматически либо вручную выставляется стандартная (красная) галочка, при потере фокуса — зелёная. В настройках можно подстроить под себя интервал тайм-аута для потери фокуса, то есть, по прошествии какого времени Ткаббер начнёт считать, что вы действительно переключились на другую программу поработать, а не просто отвлеклись на минутку глянуть почту.

Будет работать только с 0.10.0-beta1 и старше.

Для работы в Windows требуется пакет tclWinidle.

eXire.

Ныне вытеснен плагином attline. Не работает начиная где-то с 1816 ревизии июля 2009г.

Chess-mod

Модифицированный плагин для игры в шахматы, добавлены координаты для клеток игровой доски и отмена последнего сделанного хода по обоюдному согласию

Автор плагина: Jet

Clienticons

(!) Включить в Менеджере плагинов 

Добавляет иконки клиентов в ростер и список участников конференции. Иконки клиентов и идея взяты из Psi+ (http://psi-dev.googlecode.com/)

Внимание! Плагин будет работать только с SVN-версией Ткаббера.

Автор: Jet


Модифицированный ancestor плагин c обновленными иконками доступен в репозитории по адресу:

http://svn.xmpp.ru/repos/tkabber-3rd-party/trunk/plugins/clienticons/

Confirm

Добавляет вопрос при закрытии всех/остальных табов и Ткаббера. Есть графические настройки в Customize→Plugins→Confirm.

eXire

CryptoConfig

Позволяет хранить часть config.tcl (например, настройки loginconf) или всё его содержимое в зашифрованном файле.

При загрузке Ткаббера спрашивает пароль, использованный для шифрования, дешифрует файл и исполняет код из него.

Требует наличия в системе OpenSSL или GPG.

Подробности — в README.

Файл: Cryptoconfig.zip

Текущая версия: 0.1, 16-June-2007.

Автор: kostix

Cyrillize2

Внимание! Стандартная версия этого плагина — "cyrillize" — получила ту же самую функциональность в ревизии 869 (11 января 2007); "навешена" она на комбинацию Ctrl-" (или Ctrl-Shift-'). Кроме того, комбинация Ctrl-; "занята" встроенным средством Ткаббера — unisymbols. Посему данный плагин следует считать не рекомендованным к использованию.

Усовершенствование стандартного плагина cyrillize. В него было добавлено сокращение C-; по которому можно перевести введенный русский текст в латиницу.

Файл: Cyrillize2-0.1.tar.gz Усовершенствовал feez

Follownick

Плагин для MUC, позволяющий быстро "прыгать" по сообщениям конкретного участника:

После перемещения ник искомого сообщения подсвечивается.

Основная идея плагина: быстрое перемещение по постам конкретного человека в "шумных" комнатах.

Ошибки/недоработки:

Багрепорты/пожелания шлите автору.

Файл: Follownick.zip (~1 кб)

Текущая версия: 0.1, 03-May-2007.

Автор: kostix

Goto (заготовка для плагина)

Заготовка для плагина активации таба по его заголовку из окна любого чата. Добавляет команду "/goto tabname" и соответствующие возможности автодополнения по клавише Tab. На данный момент позволяет перейти только на таб с чатом (в том числе на таб с конференцией).

Для работы заготовки вставить в config.tcl вне хуков следующий код.

# Goto
# ====
proc gotochat {name} {
    foreach chatid [chat::opened] {
        set tabtitle [lindex [chat::window_titles $chatid] 0]

        if {[string equal $name $tabtitle]} {
            chat::activate $chatid
        }
    }
}

hook::add chat_send_message_hook [namespace current]::handle_goto 15

proc handle_goto {chatid user body type} {
    if {[string equal -length 6 $body "/goto "]} {
        set tabname [crange $body 6 end]
        gotochat $tabname
        return stop
    }
}

hook::add generate_completions_hook [namespace current]::goto_commands_comps 99

proc goto_commands_comps {chatid compsvar wordstart line} {
    upvar 0 $compsvar comps

    if {!$wordstart} {
       lappend comps "/goto "
    }

    if {$wordstart && [string equal -length 6 $line "/goto "]} {
        set tabtitles {}

        foreach chatid [chat::opened] {
            set tabtitle [lindex [chat::window_titles $chatid] 0]
            lappend tabtitles $tabtitle
        }

        set comps [concat $tabtitles $comps]
    }
}
# ====

Автор: Totktonada.

Hihglight XEP and RFC URLs

(!) Включить в Менеджере плагинов 

Внимание! плагин с этой (а точнее — с расширенной) функциональностью доступен среди стандартных внешних плагинов в репозитории начиная с ревизии 1145 (12 июня 2007). Называется "custom-urls", помимо XEP, RFC и Debian Bug IDs, позволяет добавлять обработку своих форматов (примеры есть в коде плагина).

Подсвечивает как URL в окне чата слова xep-0123 или jep-0123. При клике открывает браузер на странице соответствующего XEP (XMPP Extension Proposal, а не то, что вы подумали). Версия 0.3 перестала соответствовать названию. Теперь подсвечиваются также и ссылки на RFC. Формат тот же, что и для XEP. В версии 0.4 строка #12345 превращается в URL, ведущий на Debian BTS.

Будет работать только с alpha-20061115 и свежее.

Teo

Highlightex

Данный плагин подсвечивает (highlight) всё сообщение целиком при обращении к вам в конференции. В настройках имеется опция для задания цвета подсветки в 16-теричном формате.

Автор: ancestor

Histballoon

(!) Включить в Менеджере плагинов 

Добавляет всплывающее описание к строке статуса, в котором выводит 20 последних сообщений.

Автор: Jet

Jdiskurl

(!) Включить в Менеджере плагинов 

Расширение, которое добавляет в контекстное меню ссылок вида http://disk.jabbim.cz/user@sever.tld/filename.ext пункт, позволяющий запрашивать файл через джаббер-диск public@disk.jabbim.cz (должен находиться в ростере).

Внимание! Плагин будет работать только с SVN-версией Ткаббера.

Автор: Jet

Last Activity

Special for kroko :)

Этот плагин изменяет поведение Ткаббера на запрос last. Теперь в графе Interval (userinfo) или по команде /last <nick> показывается время, которое окно клиента <nick> неактивно.

Будет работать только с alpha-20061110 и старше.

eXire

Meebo me

Плагин автоматически принимает запросы авторизации и отслеживает смену ника (XEP-0172), но только для пользователей *@guest.meebo.org. Он вам понадобится, если вы собираетесь использовать виджет meebome и сообщения принимать в Ткаббере. Все ошибки и запросы присылайте Feez-у.

Mimetex

Плагин предназначен для отображения математических формул в нотации LaTeX в виде встроенных в окно чата изображений. Работает только с Ткаббером версии 0.10.0.

Плагин работает так же, как и стандартный плагин latex, но использует в качестве "движка" MimeTex. Соответственно, MimeTeX должен быть установлен, чтобы этот плагин работал.

MimeTex, однако же, представляет собой один исполняемый файл, что даёт ему соответствующие преимущества перед плагином latex: он работает быстрее, и его намного проще установить; в частности, есть версия для Windows.

Установка:

  1. Установите MimeTex:
    • Скачайте исходники и соберите бинарь сами, согласно соответствующему разделу официальной страницы. Убедитесь, что собираете без ключа -DOPAQUE. Если у вас тёмный фон окон чата в Ткаббере, собирайте с ключом -DWHITE чтобы получить белый цвет символов в формулах.
    • Или скачайте уже готовую версию оттуда же. Там же есть версия под Windows.
  2. Поставьте плагин, перезапустите Ткаббер, посетите группу настроек Plugins → MimeTex и установите там правильный путь до исполняемого файла MimeTex.

Имейте в виду, что в Debian GNU/Linux есть готовый пакет (правда, похоже, он собран без поддержки антиалиасинга).

Использование:

MimeTex пытается отобразить всё, что находится между парами токенов "$$", например:

Это — $$f(x)=\int_{-\infty}^xe^{-t^2}dt$$ формула

отображается как

Это — Mimetex-example.gif формула.

Ошибки/недоработки:

Файл: Mimetex.zip (~5 кб)

Текущая версия: 0.3, 16-May-2007.

Автор: kostix

Последние изменения:

kostix 21:33, 16 мая 2007 (MSD): Исправлен регексп для поиска формул в тексте сообщения, изменён приоритет парсера формул с тем, чтобы он отрабатывал раньше парсеров эмоциконок и стайлкодов (спасибо Gman за наводку). Теперь нормально просекаются формулы примеров №№ 6 и 9 с оф. сайта.

Nickomp

(!) Включить в Менеджере плагинов

Позволяет перебирать ники участников конференции по табу не только в окне ввода конференции, но и в привате любого участника этой конференции (привет @neris). Работает только с свн версией. © http://juick.com/Jet/583486

Скачать плагин можно по ссылке в посте автора, но на всякий случай файл потырен и размещён и тут.

Файл: Nickomp.zip

Автор: Jet

NickSaneColors

(!) Включить в Менеджере плагинов 

Групчат до и после

Общая информация

Плагин переопределяет дефолтный массив цветов для ников ($::plugins::nickcolors::NickColorPool) в зависимости от текущего цвета фона чата, установленного цветовой схемой.

В качестве критерия годности цвета используется расстояние (вернее его квадрат) от проверяемого цвета до цвета фона, вычисленное с учётом различных весов красного, зелёного и синего по формуле:

Color distance.png

Пользователю предлагается задать интервал по шкале от 0 до 100 (по умолчанию 40..60), при попадании в который цвет добавляется в массив используемых цветов. Значение 0 соответствует одинаковым цветам, значение 100 соответствует максимально отличающимся цветам.

Цвета выбираются из массива, взятого здесь: Colors with Names.

Установка

Использование

Если в указанный диапазон не попадает ни одного цвета из исходных, восстанавливается массив цветов по умолчанию. Также массив цветов по умолчанию восстанавливается при выгрузке плагина.

Ошибки/недоработки

Возможны.

Файл: NickSaneColors.zip, 4.5K

Текущая версия: 0.1, 2010-02-19

http://svn.xmpp.ru/repos/tkabber-3rd-party/trunk/plugins/nicksanecolors

Автор: hekp0maht

OSD redux

Попытка привести штатный плагин OSD к удобоваримому — по меркам современного Ткаббера — виду:

Плагин не доделан и выложен тут просто по просьбе одного ткабберовца. Это означает, что не все опции работают (или работают не так, как задумывалось).

Несмотря на это, плагин вполне себе работает на машине автора.

Файл: Tkabber-osd.zip, ~3k

Автор: Kostix

Примечание: на всякий случай учтите, что:

Patches

Плагин, который использует одну из особенностей языка, на котором написан Ткаббер, и позволяет «патчить» код Ткаббера без его изменения. Плагин состоит из 2 частей: сам файл плагина (patches.zip/plugins/patches/patches.tcl) и файлы пропатченных процедур (patches.zip/patches/*.tcl). Работает всё достаточно просто: во время загрузки плагина он (плагин) загружает все файлы с расширением *.tcl из папки patches.zip/patches/, которая должна находиться там же, где и config.tcl.

Описание патчей:

Внимание! Несмотря на то, что никаких изменений в коде Ткаббера не происходит, стоит учитывать, что файлы содержат в себе изменённые процедуры, которые могут вызывать некорректную работу в различных ревизиях Ткаббера.

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

Автор: Jet

Postpone Text (добавлен в транк)

Лирическое отступление

Внимание! С ревизии 953 (18 фев 2007) интегрировано в транк в виде встроенного средства, выполненного teo на основе данного плагина.

Оно несколько отличается от описанного здесь; отличия сформулированы в конце этого раздела.

Пока автору плагина, обсуждаемого в этом разделе, неясно насколько лучше/хуже новая встроенная версия, поэтому пока что данный плагин "поживёт" здесь.

Описание плагина

Этот плагин (~5k) реализует достаточно глупую вещь — с каждым окном ввода сеансов чата связывается собственный скрытый текстовый буфер + добавляется биндинг, позволяющий:

Основная идея: лично у меня (Kostix) часто возникает ситуация, когда я пишу длинный продуманный текст, и вдруг вижу, что надо бы что-то быстро написать в чат, отослать это, а затем продолжить редактирование. Причём сделать это быстрее, чем "выделить весь текст и скопировать в клипборд", и сделать это не трогая клипборд.

Данный плагин эту возможность реализует.

Настраивается:

Настройки плагина находятся в подгруппе "Postpone Text" группы "Chat".

Приложен README с подробным описанием.

Внимание! В настоящий момент плагин будет работать только с SVN-версией Ткаббера, снятой оттуда после того, как в транке появился тип "options" для элементов Customize (то есть в версиях начиная от 29 сентября 2006 года). Патч, реализующий "старый" тип "list", возможно, воспоследует.

Внимание! Если вы хотите использовать здешний плагин вместо нового встроенного вместе с комбинацией Ctrl-q, вам понадобится "отучить" встроенный плагин от этой комбинации.

Для этого поместите в файл конфигурации Ткаббера вне любых хуков такой код:

hook::add postload_hook {
    event delete <<ChatPushText>> <Control-q>
    event delete <<ChatPopText>>  <Control-g>
}

Kostix 18:01, 28 октября 2006 (MSD)

Отличия нового плагина teo

Reject subscription

Плагин позволяет автоматически отклонять входящие запросы подписки с адресов, отсутствующих в вашем ростере. Может быть полезно тем, кому надоедает часто видеть окно с запросом подписки и каждый раз ее отклонять.

Автор: Teo

Remote Commands

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

feez

Remote IP Address

Плагин, добавляющий команду удалённого управления для получения IP-адреса соединения Tkabber-а с сервером.

yegor

Remote Settings

Плагин, позволяющий удаленно изменять настройки Ткаббера. Кроме того, это PoC плагин, показывающий, как создавать в плагине команды для удаленного вызова и как создавать мультишаговые команды (визарды). Будет использоваться в доке How_to_add_a_new_remote_command как пример.

feez

Roster Avatars

Выглядит оно так.

То же самое, что в патче «9_roster-avatars.tcl» этого плагина. Добавляет vCard-аватары в ростер, показывает сообщение статуса под ником, жирный шрифт для групп контактов. Аватары обновляются при проверке vCard, сохранение аватар происходит только для авторизованных пользователей, при удалении аватары из vCard в клиенте она не удаляется. Аватарки контактов можно добавлять и самому: положить в папке .tkabber/vcard_avatars картинку размером 30*30 пикселей в формате png с названием, соответствующему полному jid контакта.

Автор: Jet

Выпилил в отдельный плагин: BrennendeR

Rsssaver

Поскольку Ткаббер не кэширует новости при некорректном выходе, то у людей, не закрывающих Ткаббер днями/неделями, возникали случаи, когда в кэше находились новости недельной (и более) давности. Данный плагин кэширует новости через %n пришедших сообщений, а также добавляет кнопку сохранения в окно новостей (для ручного сохранения).

eXire.

Savebtn

(!) Включить в Менеджере плагинов 

Расширение, позволяющее сохранять фото из vCard. После установки в окне просмотра информации о пользователе, на вкладке "Фотография", появится кнопка "Сохранить фото".

Автор: Jet

Server Info

Добавляет в меню по правой кнопке для контакта (в контактах или в списке участников конференции) пункты для получения информации о сервере этого контакта и для того, чтобы непосредственно открыть окно Service discovery на контакте или на его сервере.

Teo

So_keepalive

Плагин предназначен для включения опции SO_KEEPALIVE на сокетах соединений, устанавливаемых Ткаббером.

Требует наличия пакета Tclx.

"Очень бета" в том смысле, что требует очень серьёзного тестирования, а так же настройки Вашей системы для того, чтобы механизм TCP keepalive делал то, что Вы от него ожидаете.

Читайте README.

Файл: So_keepalive.zip, ~3.5k

Автор: Kostix

Spam filter

Подтверждает сообщения, которые не сочтёт спамом.

Для фильтрации требуется:

  1. Джид+ресурс в настройках конференции в качестве фильтра.

  2. Присутствие в конференции.

  3. Файл: spamfilter.tar.gz, 511b

alfix

Tab number

Переделка патча Lknight'а в плагин. Сделано не очень красиво, но ничего более умного не придумал. Если есть какие-то идеи, то прошу сообщить eXire.

Tkabho

Первая попытка приделать бота к Ткабберу для возможности использования простыми пользователями без настройки чего-либо. Плагин написан на основе моего jabber-бота на тикле — taho.

архив zip

архив tar.bz2

Автор: Kellin.

Vcardavatars

(!) Включить в Менеджере плагинов 

Показывает аватары из вкард в окне чата. Изображения обновляются при просмотре информации о пользователе и хранятся локально. Пока нет работы с альфа-каналом.

Внимание! Плагин будет работать только с SVN-версией Ткаббера.

Автор: Jet

Wintweaks (устарел)

Внимание! Начиная с версии 0.11.0 Ткаббер содержит доработанную версию данного хака непосредственно в коде, поэтому плагин потерял всякий смысл. Если вы "апгрейдите" Ткаббер до 0.11.0, удалите этот плагин.

Плагин делает "подтяжку лица" некоторым аспектам интерфейса пользователя Ткаббера, чтобы сделать его более "родным" для пользователей Windows. Плагин работает только в Windows.

В текущей версии плагин допиливает "сплиттеры" (тонкие узкие окна, предназначенные для изменения взаимного размера окон, окружающих сплиттер с двух сторон): их можно зацепить мышкой по всей их длине, и они плоские (невидимы).

Ошибки/недоработки:

Файл: Wintweaks.zip (~2 кб)

Текущая версия: 0.1, 24-Apr-2007.

Автор: kostix