Материал из Tkabber Wiki
Содержание
- 1 В старпаке/старките нет звука/поддержки JPEG,PNG/сжатия
- 2 Пропадает содержимое ростера
- 3 Не подключаются новые смайлики (звуковые схемы)
- 4 Можно ли смайлики отключить?
- 5 Проблема со звуковой схемой
- 6 Выделение текста жирным, курсивом и подчёркиванием
- 7 Игнор — великая вещь!
- 8 Как почитать протокол общения "в привате" с участником групчата, которого больше нет в комнате?
- 9 Проверка орфографии
- 10 Стайлкоды
- 11 Можно ли добавить в ростер самого себя?
- 12 Ввод "хитрых" юникодных символов
В старпаке/старките нет звука/поддержки JPEG,PNG/сжатия
Без переделки старпака эту проблему не решить. Однако, Kostix добавил в официальный старпак под win32 поддержку сжатия и возможность подгружать img.kit, содержащий пакет TkImg. Подробнее читайте здесь.
Пропадает содержимое ростера
Вопрос: Если отключить показ в ростере транспортных иконок show_transport_user_icons 0
и включить показ
активных разговоров ::ifacetk::roster::options(chats_group) 1
, то при попытке открыть хоть
один чат с каким-нибудь JID, содержимое ростера пропадает и до перезапуска Ткаббера не восстанавливается.
Ответ: Обновитесь с Tkabber SVN — всё уже исправлено.
Не подключаются новые смайлики (звуковые схемы)
Вопрос: Подправил конфиг, прописав там путь к новым смайликам (звуковым схемам), но при перезагрузке они не подключаются.
Ответ: Для начала ознакомьтесь с уже имеющейся информацией на эту тему. Далее убедитесь, что путь ведёт именно туда, где лежат файлы. В файле конфигурации (например, от badlop) путь к смайликам указан такой: /usr/share/tkabber/emoticons-tkabber — в установочный директорий. При добавлении новых смайл-паков их обычно кладут в домашний каталог, в ~/.tkabber/emoticons-tkabber, и если вы только дописали в конец строки название нового директория, эффекта не будет :-)
Кстати, звуковые схемы как таковые в Ткаббере уже не подключаются. Начиная с версии 0.9.8 можно назначить любой звуковой файл (в формате wav) для каждого из событий отдельно.
Можно ли смайлики отключить?
Вопрос: Сабж. Не хочу никаких смайликов, даже дефолтных.
Ответ: это легко сделать. Рассказка — здесь
Проблема со звуковой схемой
Вопрос: Поменял стандартную звуковую схему на Psi, и теперь звуки не работают (или работают не все). При этом xmms эти файлы проигрывает нормально.
Ответ: Судя по всему, вы работаете в Linux, а версия Ткаббера у вас — 0.9.7, потому что в версии 0.9.8 уже можно выбрать для каждого события любой звук. Возможно, проблема в том, что программа esdplay, которая установлена по умолчанию, не может проиграть некоторые wav-файлы из схемы Psi, потому что у них частота дискретизации слишком низка — 5000 Hz. Попробуйте прописать другую программу или в звуковом редакторе вроде Audacity отредактируйте файлы, поменяв частоту дискретизации на 11000 Hz. Не забудьте, что если вы указываете в настройках звука просто имя звуковой схемы, то файлы, которые вам нужно редактировать, лежат в /usr/share/tkabber/sounds/psi
Выделение текста жирным, курсивом и подчёркиванием
Вопрос: Как выделить слово или фразу одним или несколькими из этих стилей?
Ответ: Перечитайте статью Быстрый старт — там всё подробно расписано, и даны примеры.
В версиях до 0.10.0 выделять фразы, содержащие пробелы, лишь двумя форматирующими символами по краям невозможно. То есть, выделять надо каждое слово. В будущем ситуация, возможно, изменится. Если да — свистнем ;) А до тех пор *фраза вот такого типа* будет выводиться в окне чата "as is". Кроме того, стартовый и стоповый символы выделения должны граничить с пробельными символами (пробел, таб, перевод строки) слева и справа, соответственно. То есть, к примеру:
watch *this*! → watch *this*! (ошибка: "!" сразу после "*")
now *watch* this! → now watch this!
(*фиг* вам!) → (*фиг* вам!) (ошибка: "(" перед "*")
(а вот *фиг* вам!) → (а вот фиг вам!)
Игнор — великая вещь!
Вопрос: А доступен ли пользователям Jabber игнор, который так здорово помогал избегать конфликтов на IRC-каналах?
Ответ #1: В Ткаббере 0.10.0 реализовано игнорирование сообщений от участников конференций на стороне клиента (Ткаббера).
Ответ #2: В спецификациях MUC (Multi-User Chat) игнорирование не заложено, однако кое-что можно сделать. Для начала немного теории.
Сообщения из комнат приходят от джида комнаты. Сообщения от присутствующих там — в виде джида
комнаты с ресурсом, который является ником автора сообщения. То есть сообщение от пользователя
pupkin
из комнаты rotten-chatter@conference.jabber.ru
приходят от джида
rotten-chatter@conference.jabber.ru/pupkin
. Это можно использовать для эмуляции
игнор-листов: добавлять в список приватности "игнорируемый" вот такие полные джиды.
В Ткаббере защита приватности обеспечивается двумя списками: "невидимый" и "игнорируемый"
(о грамматической корректности этих названий промолчим). Нас интересует второй. Вызываем
список на редактирование (Tkabber → Обеспечение приватности → Изменить игнорируемый список)
и добавляем в него JID ненавистного вам человека так, как было описано выше:
room_name@conference.jabber-server.org/trolls_nick
. После нажатия на кнопку "Отправить"
неведомая сила вышибает вас из комнаты. Перезайдите, и voila! — теперь вы не увидите не
только фраз этого человека, но и его самого в комнате, равно как любые iq-запросы с его стороны.
Само собой, это верно только для одной комнаты и только для одного ника. Для других надо
сделать отдельные записи в списке. Игнор будет работать до тех пор, пока тролль не сменит
ник или пока вы не удалите эту запись из игнорируемого списка (потребуется перезайти в комнату).
Важное дополнение: исследования практической стороны показали, что эффективность такого способа игнорирования очень низка. Надоеда меняет ник и тут же появляется в списке участников конференции. Вам же приходится заново вносить новый JID в список, при этом вас снова вышибет из комнаты. Игра не стоит свеч. Впрочем, если надоеде никто не скажет, что его добавили в игнор, то он может и не догадаться сменить ник. На крайний случай у комнаты есть владелец и администраторы. Вряд ли им понравится, если кто-то будет издеваться над посетителями.
Внимание, баг! Если включать игнор через контекстное меню привата (а тролли часто достают именно в приватах), то в игнор-список заносится джид комнаты без ресурса, то есть после вышибания вас из комнаты попасть туда снова вы не сможете. А поскольку править записи в игнор-листе нельзя (можно только удалять), то вносить правильный полный джид в лист следует через главное меню Ткаббера, как было описано выше. Баг этот, возможно, будет исправлен в одной из грядущих svn-версий, но пока этого не случилось, а также для пользователей стабильных релизов рекомендация будет такой: игнорить ручками, хоть это гораздо более неудобно...
Как почитать протокол общения "в привате" с участником групчата, которого больше нет в комнате?
Вопрос: Беседовал в привате с человеком из комнаты, потом закрыл окно чата, участник из комнаты ушёл, как посмотреть протокол общения с ним?
Ответ #1: Начиная с версии 0.10.0 в Ткаббере реализован браузер истории разговоров.
Ответ #2: Открыть протокол общения в Ткаббере можно только из контекстного меню на контакте в одном из ростеров — основном или группового чата. Соответственно, если нужного вам контакта нет ни в одном из ростеров, а почитать протокол общения нужно, придётся прибегнуть к обходному манёвру.
Вам потребуется вручную вызвать процедуру Ткаббера, открывающую окно с протоколом чата для выбранного JID. Для этого в консоли Ткаббера введите:
logger::show_log room@service.host.dom/nick
где
logger::show_log
— команда Ткаббера, открывающая окно с протоколом чата. Принимает один аргумент — JID, протокол общения с которым мы хотим почитать;room@service.host.dom/nick
— полный JID комнаты. Он состоит из следующих частей (слева направо):room
— имя комнаты на соответствующем сервисе сервера;service.host.dom
— имя сервиса, реализующего групповой чат; дляjabber.ru
этоconference.jabber.ru
;nick
— участник конференцииroom
, протокол общения с которым вас интересует.
Итого, для просмотра истории общения с пользователем "vasya" комнаты "linux-talks" сервера "jabber.ru" вам нужно написать в комнате:
logger::show_log vasya@conference.jabber.ru/vasya
После появления диалога консоль можно закрыть.
Примечание: естественно, что этот способ работает для любых контактов, то есть параметром для
logger::show_log
может быть любой JID, с которым вы вели диалог. Это может пригодиться, к примеру,
для чтения протокола общения с контактом, которого вы удалили из своего ростера.
Проверка орфографии
Вопрос: Можно ли "прикрутить" к Ткабберу какую-нибудь программу, чтобы проверять орфографию на лету?
Ответ: Да, можно. Для начала надо установить пакет ispell и настроить его, убедившись, что он работает сам по себе. Установите также необходимые словари. Затем в конфиг вне всяких хуков надо вписать строчку
set use_ispell 1
Запустив Ткаббер (или перезапустив, если он был открыт), идите в Настройки → Плагины → Ispell
и там проверьте, соответствует ли действительности путь к исполняемому файлу ispell (для *nix это
обычно /usr/bin/ispell). Ещё вам необходимо указать, какой словарь вы собираетесь использовать,
а также его кодировку. В поле настройки ::plugins::ispell::options(dictionary)
пишем russian, а в
следующем — скажем, koi8-r. Вторую опцию лучше не трогать, ибо она сильно загрузит ваш процессор
ненужными проверками недописанных слов на каждой новой букве. Не забудьте сохранить изменённые
настройки для будущих сессий и перезапустите Ткаббер снова. Теперь, когда вы будете писать сообщения,
все слова с орфоргафическими ошибками, а также слова, отсуствующие в словаре, будут выделяться красным
цветом прямо в поле ввода (не подумайте вдруг, что ispell станет проверять орфографию в приходящих
сообщениях). Учтите, что одновременно можно работать лишь с одним словарём.
В Windows процесс настройки точно такой же. Вот вам в помощь небольшое руководство по сборке и настройке самого ispell в виндах (англ.) Не забудьте указать кодировку cp1251. )
К сожалению, с aspell (бинарники для Win32 можете найти тут) имеются проблемы, и это вполне понятно, потому что синтаксис у этих программ немного разный. Ткаббер сразу же просекает, что работает не с той программой, и выдаёт ошибку, предлагая указать правильный путь к ispell. Тем не менее, при наличии прямых рук и некоторого количества мозгов наверняка можно решить и эту проблему. Если вам известно, как это сделать, просим поделиться информацией.
Стайлкоды
В принципе, общение в групповом чате или с глазу на глаз ничем не отличается от общения в других программах - ICQ, IRC и так далее. Но свои тонкости есть, и лучше сразу с ними познакомиться.
Пишем | Получаем |
---|---|
/me хочет спать | * testirovanie хочет спать |
_подчёркнутый_ _текст_ | подчёркнутый текст |
*жирный* *текст* | жирный текст |
/наклонный/ /текст/ | наклонный текст |
/*можно*/ /_смешивать_/ | можно смешивать |
_*разные*_ */_стили_/* | разные стили |
_/*но-надо-быть-аккуратным_/* | _*/но-надо-быть-аккуратным_/* |
*и помнить о пробелах* | *и помнить о пробелах* |
Как видите, текст можно делать жирным, подчёркнутым и курсивом, но выделять приходится каждое слово, иначе всё напечатается как есть. Можно смешивать разные стили. Главное, помнить про вложение символов выделения. Если эта возможность вам мешает, её можно отключить в Настройках (группа Chat, Включить выделение).
Можно ли добавить в ростер самого себя?
Вопрос: У меня запущено два Ткаббера: один дома, другой на работе. Оба запущены от одного аккаунта, просто ресурсы разные (к примеру, login@jabber.ru/Home и login@jabber.ru/Work). Безуспешно пытаюсь добавить их в ростер, чтобы, находясь дома, видеть и отправлять сообщения самому себе на работу, и наоборот.
Ответ: С марта 2007 года в транке svn-версии (а стало быть, и в стабильной "десятке" — версии 0.10.0) имеется пункт ростера "Мои ресурсы", где за небольшую плату можно обнаружить все соединения вашего JID. Если по каким-либо причинам вы вынуждены сидеть на более древней версии, читайте дальше.
Проблема решаема, правда, придётся пойти на небольшую хитрость. Впрочем, всё по порядку.
- Убедитесь, что открыт только "домашний" Ткаббер, то есть, вы работаете как login@jabber.ru/Home. Если на работе запущен другой, надо бы его сначала прибить.
- Добавьте в ростер (в версиях начиная с 0.9.8 он называется "Контакты") пользователя login@jabber.ru/Work. Появится запрос для этого пользователя с просьбой авторизации. Отправьте его, и когда откроется окно редактирования контакта, добавьте его в нужную группу, если надо, но самое главное, не забудьте отредактировать его имя — напишите, к примеру, login/Work.
- Разлогиньтесь и залогиньтесь снова как login@jabber.ru, указав теперь в качестве ресурса Work. Это важно — "домашний" аккаунт должен быть закрыт! Заметьте, что, залогинившись, мы не получили запрос на авторизацию. Так и должно быть.
- Проделайте шаг 2), на этот раз отредактировав добавляемый контакт как login/Home.
- Запустите ещё один Ткаббер и залогиньтесь как login@jabber.ru, указав в качестве ресурса Home. Запрос на авторизацию не пришёл и сейчас. Это хорошо.
- Посмотрите в ростеры обоих Ткабберов — теперь "домашний" клиент видит там болтающегося в онлайне login/Work, а рабочий — login/Home. Можно также и слать друг другу сообщения. Если включить показ пользователей, находящихся в оффлайне, вы увидите, что в "домашнем" и "рабочем" Ткабберах "свои" контакты показываются именно находящимися в оффлайне, да ещё в ожидании авторизации. Ещё раз повторяю: так и должно быть.
- В зависимости от того, где вы производили эти манипуляции — на работе или дома — закройте соответствующий Ткаббер, с тем чтобы открыть его уже дома/на работе и продолжать пользоваться этим дуэтом в соответствии с потребностями.
- Если вы пытались авторизовать какой-либо из этих контактов, пока было запущено оба Ткаббера, вы несомненно должны были получить запрос на авторизацию от другого клиента. Если так оно и случилось, в ростере вы друг друга (сам себя) в онлайне уже не увидите. Придётся удалять их обоих из ростера и начинать сначала.
Учтите, что для того, чтобы заходить обоими этими клиентами в одни и те же конференции, нужно, чтобы ники для конференций были разные для каждого Ткаббера. Вам придётся либо отредактировать конфиг на каждой из машин, либо проделывать это вручную. Но это уже отдельный вопрос ;)
На заметку: Польский коллега desnajpa, в одиночку ковыряющий бедную чернозёмом землю Ткаббера, добился некоторых результатов в плане развития шизофрении у пользователей этого клиента. В его вариации программы — Tkabber-SK — уже имеется self-contact, добавленный в ростер. Тестируйте.
Ввод "хитрых" юникодных символов
Вопрос: У меня стоит русская локаль, следовательно, я не могу вводить в Ткаббере спец-символы вроде акцентов и прочих хитроумных западноевропейских букв. Как-то можно это наладить?
Ответ: Можно, и пока есть три способа сделать это, все довольно неудобные.
Очень неудобный способ
При помощи встроенного плагина unisymbols единичные юникодные символы вводятся в поле редактирования сообщений в следующем формате:
&шестнадцатиричный_код_символаCtrl+;
Это напоминает ввод подобных символов в HTML-коде: &#код_символа;
(обратите внимание,
что в Ткаббере вводить "решётку" # не нужно). Поясним:
- Сначала идёт значок амперсанда — &,
- затем шестнадцатеричный код нужного вам символа (без # впереди),
- и в конце надо нажать одновременно клавишу Control и клавишу точки с запятой (не в русской раскладке).
При этом ткаббер заменит вашу конструкцию (включительно, от & до последнего введённого перед нажатием Ctrl-; символа) на соответствующий символ юникода.
Например, &c2; → Â.
На заметку: символ ";" находится в основном регистре английской раскладки (то есть вводится простым нажатием на соответствующую клавишу), но в других раскладках её расположение может отличаться. Например, в испанской точка с запятой вызывается нажатием Shift и клавиши запятой. То есть, после набора амперсанда и кода символа надо нажать Ctrl-Shift-,.
Умеренно неудобный способ
Вот ещё один способ попроще. Можно открыть рядом текстовый редактор, поддерживающий юникодные символы (например, Vim, gedit или тот же Word), вбить туда все нужные вам символы и копировать их в поле ввода Ткаббера, когда требуется. Тоже не очень красивое решение, но тем не менее, может пригодиться.
Наименее неудобный способ
Прямиком отправляем вас к статье о плагине Tkabber-KHIM, позволяющем вводить любые юникодные символы буквально в три нажатия клавиш. Самые главные его достоинства — возможность определения произвольных символов и их ввод с помощью "клавиши композиции" и заданного сочетания двух "обычных" символов.
Ткаббер версии 0.10.0 содержит этот плагин в качестве встроенного средства.