Tkabber Wiki

Токены
Login

Токены

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

Токены в статусной строке — это ещё одно место, куда может приткнуться плагин. Чтобы добавить в Ткаббер эту возможность, а также поддержку всех плагинов, которые от неё зависят, надо пропатчить его. Патч здесь. Даже если нет программы patch, изменения там маленькие, и ввести их вручную не должно составить труда :) О наложении патчей читайте начало статьи Патчи.

Как это работает

Возьмём для примера плагин, который выставляет в статусную строку название и исполнителя текущей композиции из плеера (ещё не написан, и нужен ли?). Опустим часть, которая отвечает за получение этой информации из плеера.

Без токенов возникает ряд проблем. Во-первых, плагин в своей работе может затереть статусную строку, которую выставил другой плагин, например, autoaway. Вo-вторых, другой плагин может затереть его статусную строку.

Чтобы их решить, плагин регистрирует токен, например %T, и функцию-обработчик для него. Далее, при смене текущей мелодии, плагин просто "дёргает" userstatus, не меняя саму статусную строку. Если там есть токен, то пропатченный Ткаббер обработает его и добавит вместо токена то, что вернёт функция-обработчик.

Пользователь должен знать о том, какой токен за каким плагином зарегистирован. Если ему нужна информация о текущей композиции от плагина, он просто дописывает токен %T в статусную строку, а также во все плагины, которые меняют статустную строку на свою. Для AutoAway это будет "Automatically away due to idle %T". Так происходит включение/выключение плагина, работающего через токены. Если токена нет, то функция-обработчик не вызывается. Userstatus, конечно, будет дёргаться при смене текущей композиции, но поскольку развернутый статус не поменялся, то станца в сеть уходить не будет.

Список зарегистрированных токенов