====== Плагины Psi+ ======
В данной статье приведены ключевые моменты проделанной работы по расширению функционала плагинной системы приложения.
Также подробно рассмотрены вопросы описания, настройки и работы с плагинами Psi+.
===== Изменения в системе плагинов Psi =====
* Изменён дизайн окна настроек плагинов (автор - [[https://github.com/wadealer|Dealer_WeARE]])
* Добавлено отображение версии плагина в окне настроек плагинов (автор - [[https://github.com/VampiRUS|VampiRUS]])
* Добавлена возможность подключать, отключать и обновлять плагины без перезагрузки приложения (автор - [[https://github.com/wadealer|Dealer_WeARE]])
* Добавлена возможность читать/писать настройки из плагина (автор - [[https://github.com/ch|C.H.]])
* Добавлена возможность назначать горячие клавиши из плагина
* Добавлена возможность передавать и получать иконки (авторы - [[https://github.com/VampiRUS|VampiRUS]], [[https://github.com/wadealer|Dealer_WeARE]])
* Реализован доступ к параметрам активной вкладки (автор - [[https://github.com/VampiRUS|VampiRUS]])
* Реализован доступ к различной информации о приложении
* Реализован доступ к информации об аккаунте (автор - [[https://github.com/wadealer|Dealer_WeARE]])
* Добавлена возможность вызывать попапы из плагинов (автор - [[https://github.com/wadealer|Dealer_WeARE]])
* Добавлена возможность изменения событий из плагина (метод //processEvent// -- в Juick Plugin, в Gmail Service Plugin), автор - [[https://github.com/VampiRUS|VampiRUS]]
* Добавлена возможность отображения кнопки вызова метода плагина на тулбар (//ToolbarIconAccessor//, //GCToolbarIconAccessor//, пример использования -- Image Plugin), автор - [[https://github.com/VampiRUS|VampiRUS]]
* Добавлена возможность отображения кнопки вызова метода плагина из меню заголовка аккаунта и из меню контакта в ростере (автор - [[https://github.com/wadealer|Dealer_WeARE]])
* Добавлена возможность установки и настройки настроения, активности и мелодии для указанного контакта (необходимо для работы Qip X-statuses Plugin), автор - [[https://github.com/wadealer|Dealer_WeARE]]
* Добавлена кнопка в опции плагинов, при нажатии на которую показывается информация о плагине (автор - [[https://github.com/wadealer|Dealer_WeARE]])
* Добавлена возможность изменять статус для аккаунта (автор - [[https://github.com/wadealer|Dealer_WeARE]])
===== Пример компиляции плагина для Psi+ =====
Пример компиляции плагина рассмотрим на примере [[plugins#conference_logger_plugin|Conference Logger Plugin]]:
* Скачиваем исходный код Psi из git-репозитория ([[https://github.com/psi-im/psi.git]])
* Скачиваем исходные коды плагинов из git-репозитория ([[https://github.com/psi-im/plugins.git]])
* Переходим в каталог //plugins/generic/conferenceloggerplugin//
* Выполняем команды:
''
mkdir -p build && cd build
''
''
cmake ..
''
''
cmake --build .
''
* Видим результат компиляции в каталоге //plugins/generic/conferenceloggerplugin/build//
__См. также пример автоматической компиляции плагинов Psi+__: [[mingw32#компиляция_плагинов_psi|здесь]].
===== Плагины от команды Psi+ =====
|| {{:attention.png}} [[plugins#Attention_Plugin|Attention Plugin]] ||
|| {{:autoreply.png}} [[plugins#Autoreply_Plugin|Autoreply Plugin]] ||
|| {{:birthday.png}} [[plugins#Birthday_Reminder_Plugin|Birthday Reminder Plugin]] ||
|| {{:captcha.png}} [[plugins#Captcha_Forms_Plugin|Captcha Forms Plugin]] ||
|| {{:chess.png}} [[plugins#Chess_Plugin|Chess Plugin]] ||
|| {{:cleaner.png}} [[plugins#Cleaner_Plugin|Cleaner Plugin]] ||
|| {{:clientswitcher.png}} [[plugins#Client_Switcher_Plugin|Client Switcher Plugin]] ||
|| {{:openlog.gif}} [[plugins#Conference_Logger_Plugin|Conference Logger Plugin]] ||
|| {{:download.png}} [[plugins#Content_Downloader_Plugin|Content Downloader Plugin]] ||
|| {{:extendedmenu.png}} [[plugins#Extended_Menu_Plugin|Extended Menu Plugin]] ||
|| {{:extendedoptions.png}} [[plugins#Extended_Options_Plugin|Extended Options Plugin]] ||
|| {{:gmailnotify.png}} [[plugins#Gmail_Service_Plugin|Gmail Service Plugin]] ||
|| {{:gomoku.png}} [[plugins#Gomoku_Game_Plugin|Gomoku Game Plugin]] ||
|| {{:plugins_gnupg.png}} [[plugins#GnuPG_Plugin|GnuPG Plugin]] ||
|| {{:historykeeper.png}} [[plugins#History_Keeper_Plugin|History Keeper Plugin]] ||
|| {{:icqdie.png}} [[plugins#ICQ_Must_Die_Plugin|ICQ Must Die Plugin]] ||
|| {{:imageplugin.gif}} [[plugins#Image_Plugin|Image Plugin]] ||
|| {{:jabberdisk.png}} [[plugins#XMPP_Disk_Plugin|XMPP Disk Plugin]] ||
|| {{:juick.png}} [[plugins#Juick_Plugin|Juick Plugin]] ||
|| {{:pepchangenotify.png}} [[plugins#PEP_Change_Notify_Plugin|PEP Change Notify Plugin]] ||
|| {{:qipxstatuses.png}} [[plugins#Qip_X-statuses_Plugin|Qip X-statuses Plugin]] ||
|| {{:screenshot.png}} [[plugins#Screenshot_Plugin|Screenshot Plugin]] ||
|| {{:skins.png}} [[plugins#Skins_Plugin|Skins Plugin]] ||
|| {{:stopspam.png}} [[plugins#Stop_Spam_Plugin|Stop Spam Plugin]] ||
|| {{:storagenotes.png}} [[plugins#Storage_Notes_Plugin|Storage Notes Plugin]] ||
|| {{:translate.png}} [[plugins#Translate_Plugin|Translate Plugin]] ||
|| {{:videostatus.png}}[[plugins#Video_Status_Changer_Plugin|Video Status Changer Plugin]] ||
|| {{:watcher.png}} [[plugins#Watcher_Plugin|Watcher Plugin]] ||
|| {{:yandexnarod.png}} [[plugins#Yandex_Narod_Plugin|Yandex Narod Plugin]] ||
**Зачеркнуты плагины, которые больше не поддерживаются разработчиком и удалены из основных сборок**
==== Attention Plugin ====
Автор: //[[https://github.com/wadealer|Dealer_WeARE]]//
{{:psiplus_plugins_attentionplugin001.png|Всплывающее окно с оповещением}}
{{:psiplus_plugins_attentionplugin002.png|Окно с настройками плагина}}
Данный плагин предназначен для отправки и приёма сообщений типа Attention.
Для работы необходимо, чтобы клиент собеседника поддерживал //[[http://xmpp.org/extensions/xep-0224.html|XEP-0224]]// (например: Pidgin, Miranda IM с плагином //[[http://addons.miranda-im.org/details.php?action=viewfile&id=2708|Nudge]]//).
Подробную историю версий можно найти [[https://raw.github.com/psi-plus/plugins/master/generic/attentionplugin/changelog.txt|здесь]].
Исходный код плагина можно взять [[git://github.com/psi-plus/plugins.git|здесь]] или [[https://github.com/psi-plus/plugins/zipball/master|здесь]].
==== Autoreply Plugin ====
Автор: //[[https://github.com/wadealer|Dealer_WeARE]]//
{{:psiplus_plugins_autoreplyplugin.png|Окно с настройками плагина}}
Данный плагин выполняет роль автоответчика. Имеет ряд несложных настроек, с помощью которых можно:
* задать текст сообщения для автоответа
* исключить определённые jid'ы, включая конференции, из объектов для автоответа (если задан jid конференции, то в исключения попадают все приватные сообщения)
* отключить автоответчик для некоторых ваших аккаунтов
* задать количество посылок автоответа
* задать интервал времени, по истечении которого счётчик количества автоответов будет обнулён
* отключить автоответчик для активной вкладки/таба
* отключить автоответчик для контактов не из вашего ростера
Список исключений для jid'ов имеет два режима работы:
* автоответчик выключен для списка исключений, для остальных -- включён (Disable mode)
* автоответчик включён для списка исключений, для остальных -- выключен (Enable mode)
Подробную историю версий можно найти [[https://raw.github.com/psi-plus/plugins/master/generic/autoreplyplugin/changelog.txt|здесь]].
Исходный код плагина можно взять [[git://github.com/psi-plus/plugins.git|здесь]] или [[https://github.com/psi-plus/plugins/zipball/master|здесь]].
==== Birthday Reminder Plugin ====
Автор: //[[https://github.com/wadealer|Dealer_WeARE]]//
Данный плагин предназначен для напоминаний о приближающихся днях рождения.
{{:psiplus_plugins_birthdayreminderplugin002.png|Окно с настройками плагина}}
Если плагин установлен впервые, то необходимо выйти всеми своими аккаунтами в "онлайн", затем зайти в настройки плагина и нажать кнопку **Update Birthdays**. В результате будет собрана доступная информация о днях рождения пользователей из всех аккаунтов ростера, а если выбрать соответствующую опцию, то и информация о пользователях, vCard'ы которых находятся в кэше на локальном диске.
Подробную историю версий можно найти [[https://raw.github.com/psi-plus/plugins/master/generic/birthdayreminderplugin/changelog.txt|здесь]].
Исходный код плагина можно взять [[git://github.com/psi-plus/plugins.git|здесь]] или [[https://github.com/psi-plus/plugins/zipball/master|здесь]].
==== Captcha Forms Plugin ====
Автор: //[[https://github.com/wadealer|Dealer_WeARE]]//
**ДАННЫЙ ПЛАГИН УДАЛЕН ИЗ ТЕКУЩИХ СБОРОК PSI+ ВВИДУ ПЕРЕНОСА ЕГО ФУНКЦИОНАЛА НЕПОСРЕДСТВЕННО В САМУ PSI**
Данный плагин предназначен для прохождения капчи непосредственно из Psi+.
В данный момент функционал весьма ограничен. Работает только в случае, если картинка посылается непосредственно в теле сообщения (загрузка контента из интернета пока не поддерживается).
{{:psiplus_plugins_captchaformsplugin.png|Форма с капчей}}
{{:psiplus_plugins_captchaformsplugin002.png|Окно с настройками плагина}}
Подробную историю версий можно найти [[https://raw.github.com/psi-plus/plugins/master/generic/captchaformsplugin/changelog.txt|здесь]].
Исходный код плагина можно взять [[git://github.com/psi-plus/plugins.git|здесь]] или [[https://github.com/psi-plus/plugins/zipball/master|здесь]].
==== Chess Plugin ====
Автор: //[[https://github.com/wadealer|Dealer_WeARE]]//
{{:psiplus_plugins_chessplugin.png}}
Данный плагин позволяет играть в шахматы с пользователями из ростера.
Плагин совместим с аналогичным плагином в jabber-клиенте [[http://tkabber.jabber.ru/|Tkabber]].
{{:psiplus_plugins_chessplugin002.png}}
Для передачи команд используются обычные сообщения, поэтому плагин будет работать везде, где у Вас есть возможность выйти в "онлайн".
Чтобы пригласить друга в игру, можно воспользоваться пунктом меню контакта или кнопкой на тулбаре в окне чата.
Подробную историю версий можно найти [[https://raw.github.com/psi-plus/plugins/master/generic/chessplugin/changelog.txt|здесь]].
Исходный код плагина можно взять [[git://github.com/psi-plus/plugins.git|здесь]] или [[https://github.com/psi-plus/plugins/zipball/master|здесь]].
==== Cleaner Plugin ====
Автор: //[[https://github.com/wadealer|Dealer_WeARE]]//
Данный плагин предназначен для очистки кэша аватар, сохранённых локальных копий vCard, а также логов истории переписки.
{{:psiplus_plugins_cleanerplugin.png}}
Имеется возможность предварительного просмотра элементов перед их удалением с локального диска.
Подробную историю версий можно найти [[https://raw.github.com/psi-plus/plugins/master/generic/cleanerplugin/changelog.txt|здесь]].
Исходный код плагина можно взять [[git://github.com/psi-plus/plugins.git|здесь]] или [[https://github.com/psi-plus/plugins/zipball/master|здесь]].
==== Client Switcher Plugin ====
Автор: //[[https://github.com/liuch|liuch]]//
Данный плагин предназначен для подмены версии XMPP-клиента, его названия и типа операционной системы. Имеется возможность вручную указать версию клиента и операционной системы или выбрать их из заданного списка.
{{:psiplus_plugins_clientswitcherplugin001.png|}}
__Примечание__: Рекомендуется использовать плагин только в случае реальной необходимости. Следует помнить, что подмена имени и версии клиента может негативно сказаться на поддержке в соответствующих конференциях.
Подробную историю версий можно найти [[https://raw.github.com/psi-plus/plugins/master/generic/clientswitcherplugin/changelog.txt|здесь]].
Исходный код плагина можно взять [[git://github.com/psi-plus/plugins.git|здесь]] или [[https://github.com/psi-plus/plugins/zipball/master|здесь]].
==== Conference Logger Plugin ====
Автор: //[[https://github.com/wadealer|Dealer_WeARE]]//
Данный плагин предназначен для записи (сохранения) логов конференций, в которых находится пользователь Psi+.
{{:psiplus_plugins_conferenceloggerplugin.png}}
Логи конференций можно просмотреть из настроек плагина, либо нажав соответствующую кнопку на тулбаре в активном окне/табе конференции.
__**Примечание**__: Для корректной работы опция **options.ui.chat.central-toolbar** должна быть установлена в положение **true**.
Подробную историю версий можно найти [[https://raw.github.com/psi-plus/plugins/master/generic/conferenceloggerplugin/changelog.txt|здесь]].
Исходный код плагина можно взять [[git://github.com/psi-plus/plugins.git|здесь]] или [[https://github.com/psi-plus/plugins/zipball/master|здесь]].
==== Content Downloader Plugin ====
Автор: //[[https://github.com/drizt|taurus]]//
Данный плагин предназначен для скачивания из Интернет наборов иконок и прочих дополнительных ресурсов для Psi+.
{{:psiplus_plugins_contentdownloaderplugin002.png|}}
__**Примечание**__: В настоящее время плагин умеет скачивать и устанавливать наборы иконок для ростера и смайлпаки.
Подробную историю версий можно найти [[https://raw.github.com/psi-plus/plugins/master/generic/contentdownloaderplugin/changelog.txt|здесь]].
Исходный код плагина можно взять [[git://github.com/psi-plus/plugins.git|здесь]] или [[https://github.com/psi-plus/plugins/zipball/master|здесь]].
==== Extended Menu Plugin ====
Автор: //[[https://github.com/wadealer|Dealer_WeARE]]//
Данный плагин добавляет в контекстное меню контакта ростера подменю "Extended Actions". На данный момент имеются следующие пункты: "Скопировать JID", "Скопировать ник", "Скопировать статусное сообщение" и "Ping".
{{:psiplus_plugins_extendedmenuplugin.png|psiplus_plugins_extendedmenuplugin.png}}
Подробную историю версий можно найти [[https://raw.github.com/psi-plus/plugins/master/generic/extendedmenuplugin/changelog.txt|здесь]].
Исходный код плагина можно взять [[git://github.com/psi-plus/plugins.git|здесь]] или [[https://github.com/psi-plus/plugins/zipball/master|здесь]].
==== Extended Options Plugin ====
Автор: //[[https://github.com/wadealer|Dealer_WeARE]]//
Данный плагин предназначен для более удобной настройки дополнительных параметров Psi+.
Плагин предоставляет доступ к дополнительным настройкам приложения, которые не имеют своего графического интерфейса.
{{:psiplus_plugins_extendedoptionsplugin.png}}
__**Важно**__: бОльшая часть настроек имеет системный характер и требует внимания и понимания смысла изменяемых функций.
Подробную историю версий можно найти [[https://raw.github.com/psi-plus/plugins/master/generic/extendedoptionsplugin/changelog.txt|здесь]].
Исходный код плагина можно взять [[git://github.com/psi-plus/plugins.git|здесь]] или [[https://github.com/psi-plus/plugins/zipball/master|здесь]].
==== Gmail Service Plugin ====
Автор: //[[https://github.com/VampiRUS|VampiRUS]]//, //[[https://github.com/wadealer|Dealer_WeARE]]//
**ДАННЫЙ ПЛАГИН УДАЛЕН ИЗ СБОРОК КАК ЗАБРОШЕННЫЙ**
Данный плагин предназначен для работы с уведомлениями о поступлении новых писем в почтовый ящик [[http://mail.google.com/mail/|Gmail]], а также с прочими дополнительными сервисами.
{{:psiplus_plugins_gmailnotifyplugin.png}}
__**Примечание**__: Плагин проверяет корень почтового каталога Inbox в Gmailbox на предмет наличия новых писем. Если фильтрация (пересортировка) писем осуществляется непосредственно на сервере Gmail, то нотификаций о новой почте не будет.
Подробную историю версий можно найти [[https://raw.github.com/psi-plus/plugins/master/generic/gmailserviceplugin/changelog.txt|здесь]].
Исходный код плагина можно взять [[git://github.com/psi-plus/plugins.git|здесь]] или [[https://github.com/psi-plus/plugins/zipball/master|здесь]].
==== Gomoku Game Plugin ====
Автор: //[[https://github.com/liuch|liuch]]//
Данный плагин позволяет играть с контактами ростера и конференции в игру Гомоку. Реализована разновидность правил "Международное гомоку".
{{:psiplus_plugins_gomokugameplugin001.png}}
О правилах и самой игре можно прочитать [[http://ru.wikipedia.org/wiki/Гомоку|тут]].
Для передачи команд используются обычные сообщения, поэтому плагин будет работать везде, где есть возможность выйти в онлайн.
{{:psiplus_plugins_gomokugameplugin002.png}}
Подробную историю версий можно найти [[https://raw.github.com/psi-plus/plugins/master/generic/gomokugameplugin/changelog.txt|здесь]].
Исходный код плагина можно взять [[git://github.com/psi-plus/plugins.git|здесь]] или [[https://github.com/psi-plus/plugins/zipball/master|здесь]].
==== History Keeper Plugin ====
Автор: //[[https://github.com/wadealer|Dealer_WeARE]]//
**ДАННЫЙ ПЛАГИН УСТАРЕЛ И НЕ УДАЛЯЕТ ИСТОРИЮ ИЗ БАЗЫ ДАННЫХ, В КОТОРОЙ PSI+ ТЕПЕРЬ ХРАНИТ ИСТОРИЮ**
Данный плагин предназначен для удаления истории переписки с отмеченными контактами при выходе из Psi+.
{{:psiplus_plugins_historykeeperplugin.png}}
Отметить контакт или удалить отметку можно из контекстного меню контакта, либо через окно с настройками плагина.
Подробную историю версий можно найти [[https://raw.github.com/psi-plus/plugins/master/generic/historykeeperplugin/changelog.txt|здесь]].
Исходный код плагина можно взять [[git://github.com/psi-plus/plugins.git|здесь]] или [[https://github.com/psi-plus/plugins/zipball/master|здесь]].
==== ICQ Must Die Plugin ====
Автор: //[[https://github.com/ivan1986|ivan1986]]//
Данный плагин призван помочь Вам перевести как можно бОльшее количество Ваших контактов с ICQ на XMPP.
{{:psiplus_plugins_icqdieplugin002.png|Окно с настройками плагина}}
Плагин имеет ряд несложных настроек, с помощью которых можно:
* Задать текст сообщения
* Исключить определённые ICQ номера
* Задать интервал времени, по истечении которого сообщение будет повторено
* Отключить сообщения для активного окна/таба
* Отключить сообщения для контактов не из Вашего ростера
Подробную историю версий можно найти [[https://raw.github.com/psi-plus/plugins/master/generic/icqdieplugin/changelog.txt|здесь]].
Исходный код плагина можно взять [[git://github.com/psi-plus/plugins.git|здесь]] или [[https://github.com/psi-plus/plugins/zipball/master|здесь]].
==== Image Plugin ====
Автор: //[[https://github.com/VampiRUS|VampiRUS]]//
Данный плагин предназначен для отправки собеседнику графического изображения.
{{:psiplus_plugins_imageplugin.png}}
Клиент собеседника должен поддерживать [[http://xmpp.org/extensions/xep-0071.html|XEP-0071: XHTML-IM]] и поддерживать схему **data:URI**.
__**Примечание**__: Для корректной работы плагина опция **options.ui.chat.central-toolbar** должна быть установлена в положение **true**.
Подробную историю версий можно найти [[https://raw.github.com/psi-plus/plugins/master/generic/imageplugin/changelog.txt|здесь]].
Исходный код плагина можно взять [[git://github.com/psi-plus/plugins.git|здесь]] или [[https://github.com/psi-plus/plugins/zipball/master|здесь]].
==== XMPP Disk Plugin ====
Автор: //[[https://github.com/wadealer|Dealer_WeARE]]//
Данный плагин предназначен для комфортной работы с файловыми хранилищами [[http://www.jabber.ru/node/418|XMPP Disk]].
Реализовано через соответствующую команду в контекстном меню контакта ростера.
{{:psiplus_plugins_jabberdiskplugin001.png}}
Работа с файлами представлена в виде графического интерфейса.
{{:psiplus_plugins_jabberdiskplugin002.png}}
Добавлять/удалять/редактировать глобальные настройки плагина можно на вкладке Plugins в настройках приложения.
{{:psiplus_plugins_jabberdiskplugin003.png}}
Подробную историю версий можно найти [[https://raw.github.com/psi-plus/plugins/master/generic/jabberdiskplugin/changelog.txt|здесь]].
Исходный код плагина можно взять [[git://github.com/psi-plus/plugins.git|здесь]] или [[https://github.com/psi-plus/plugins/zipball/master|здесь]].
==== Juick Plugin ====
Автор: //[[https://github.com/VampiRUS|VampiRUS]]//
Плагин предназначен для эффективной и комфортной работы с сервисом микроблогов [[http://juick.com/|Juick]].
На данный момент плагин умеет:
* Раскрашивать **@ники**, ***тэги**, **#id_сообщений** в сообщениях от бота **juick@juick.com**
* Распознавать **>цитаты** в сообщениях
* Кликабельные **@ники**, ***тэги**, **#id_сообщений** и другие управляющие элементы для подстановки их в строку ввода
{{:psiplus_plugins_juickplugin.png}}
__**Примечание**__: Для корректной работы плагина опция **options.html.chat.render** ("Использовать формат текста отправителя") должна быть установлена в положение **true**.
Подробную историю версий можно найти [[https://raw.github.com/psi-plus/plugins/master/generic/juickplugin/changelog.txt|здесь]].
Исходный код плагина можно взять [[git://github.com/psi-plus/plugins.git|здесь]] или [[https://github.com/psi-plus/plugins/zipball/master|здесь]].
==== PEP Change Notify Plugin ====
Автор: //[[https://github.com/wadealer|Dealer_WeARE]]//
Плагин предназначен для показа всплывающих уведомлений о смене настроений, занятий и мелодий у контактов из ростера. В настройках можно выбрать для каких именно событий включены уведомления, задать время, в течение которого уведомление будет показываться, а также указать проигрываемый звук.
{{:psiplus_plugins_pepchangenotifyplugin001.png|}}
Подробную историю версий можно найти [[https://raw.github.com/psi-plus/plugins/master/generic/pepchangenotifyplugin/changelog.txt|здесь]].
Исходный код плагина можно взять [[git://github.com/psi-plus/plugins.git|здесь]] или [[https://github.com/psi-plus/plugins/zipball/master|здесь]].
==== Qip X-statuses Plugin ====
Автор: //[[https://github.com/wadealer|Dealer_WeARE]]//
Данный плагин предназначен для отображения [[http://wiki.qip.ru/X-%D1%81%D1%82%D0%B0%D1%82%D1%83%D1%81|х-статусов]] контактов, использующих в качестве jabber-клиента [[http://qip.ru/ru/pages/download_infium_ru/|QIP Infium]].
Подробную историю версий можно найти [[https://raw.github.com/psi-plus/plugins/master/generic/qipxstatusesplugin/changelog.txt|здесь]].
Исходный код плагина можно взять [[git://github.com/psi-plus/plugins.git|здесь]] или [[https://github.com/psi-plus/plugins/zipball/master|здесь]].
==== Screenshot Plugin ====
Авторы: //[[https://github.com/ch|C.H.]], [[https://github.com/wadealer|Dealer_WeARE]]//
Данный плагин позволяет делать снимок (скриншот) экрана, редактировать видимую область на сделанном скриншоте и сохранять снимок на локальный диск или загружать на HTTP/FTP-сервер.
{{:psiplus_plugins_screenshotplugin001.png}}
{{:psiplus_plugins_screenshotplugin002.png}}
Плагин имеет следующие настройки:
* **Shortcut** -- горячая клавиша для вызова плагина (по умолчанию, //Ctrl+Alt+P//)
* **Format** -- тип графического файла, в котором будет сохранён снимок экрана (по умолчанию, //png//)
* **File Name** -- формат имени графического файла (по умолчанию, //pic-yyyyMMdd-hhmmss//, где //yyyyMMdd//=ГГГГММДД, //hhmmss//=ччммсс - текущая дата в формате //годмесяцдень-часминутасекунда//; например, //pic-20100711-135132.png//)
Адрес FTP-сервера задаётся в виде //[[ftp://ftp.domain.tld/path1/path2]]//.
Подробную историю версий можно найти [[https://raw.github.com/psi-plus/plugins/master/generic/screenshotplugin/changelog.txt|здесь]].
Исходный код плагина можно взять [[git://github.com/psi-plus/plugins.git|здесь]] или [[https://github.com/psi-plus/plugins/zipball/master|здесь]].
__**Примечание**__: Для работы со скриншотами также можно использовать отдельное (самостоятельное) приложение **[[http://qscreenshot.googlecode.com/|qScreenshot]]**. Доступно на различных платформах (в т.ч. и под [[https://code.google.com/p/qscreenshot/downloads/list?q=label:Windows+Installer|MS Windows]]).
==== Skins Plugin ====
Автор: //[[https://github.com/wadealer|Dealer_WeARE]]//
Данный плагин предназначен для создания и использования скинов в Psi+.
{{:psiplus_plugins_skinsplugin.png|Окно со скриншотом скина}}
{{:psiplus_plugins_skinsplugin002.png|Окно с настройками плагина}}
**Скин** - это набор пользовательских настроек.
Для того, чтобы применить новый скин для Psi+, можно использовать различные способы:
* Создать в каталоге **PsiData** папку **skins** и расположить в ней предварительно скачанный скин (по умолчанию плагин "смотрит" в папку **PsiData**).
* Открыть файл скина из любого места локального диска при помощи команды **Open** в настройках плагина.
Каждый скин должен лежать в отдельной папке. Рядом с файлом скина можно также положить скриншот скина.
В большинстве случаев для того, чтобы быть уверенным, что скин применился правильно, необходимо выполнить следующую последовательность действий:
* Применить скин
* Перезапустить Psi+
* Применить этот же скин повторно
Такая последовательность действий позволит всем настройкам (иконкам, положению панелей инструментов) примениться правильно и до конца.
Подробную историю версий можно найти [[https://raw.github.com/psi-plus/plugins/master/generic/skinsplugin/changelog.txt|здесь]].
Исходный код плагина можно взять [[git://github.com/psi-plus/plugins.git|здесь]] или [[https://github.com/psi-plus/plugins/zipball/master|здесь]].
==== Stop Spam Plugin ====
Автор: //[[https://github.com/wadealer|Dealer_WeARE]]//
Данный плагин предназначен для блокировки получения в ростер пользователя Psi+ рассылок спама и другой нежелательной информации.
{{:psiplus_plugins_stopspamplugin001.png|Окно с основными настройками плагина}}
Функционал плагина основан на принципе "вопрос - ответ".
С помощью настроек плагина можно:
* Ввести контрольный вопрос и ответ на него
* Задать набор правил, определяющих, будет ли срабатывать плагин для данного контакта
* Задать текст сообщения, посылаемого в случае правильного ответа
* Включить уведомления при помощи всплывающих окон
* включить сохранение заблокированных сообщений в истории контакта
* Задать количество посылок вопроса
* Задать интервал времени, по истечении которого счетчик количества отправленных вопросов будет обнулён
* Включить блокировку приватных сообщений в конференциях
* Выбрать для каких рангов и ролей участников конференции блокировка сообщений будет отключена
* Включить полную блокировку приватных сообщений для участников конференции, которые не попадают в список исключений и для ролей и рангов которых включена блокировка.
Правила проверяются __сверху вниз__. Если напротив правила стоит галочка **Enabled**, то стоп-спам сработает, в противном случае -- не сработает.
В случае когда ни одно из правил не сработало, для сообщений из ростера можно задать, сработает ли плагин или нет. Для приватных сообщений из конференций -- всегда сработает.
Контрольный вопрос и ответ, а также список правил является общим, как для обычных сообщений, так и для приватных сообщений в конференциях.
Также пользователю, успешно прошедшему тест, придётся заново запрашивать авторизацию. Это стОит отметить в сообщении, отсылаемом в случае правильного ответа на контрольный вопрос.
Плагин ведёт лог заблокированных сообщений, который можно просмотреть командой **View log**.
{{:psiplus_plugins_stopspamplugin002.png|Окно с дополнительными настройками плагина}}
Команда **Reset** позволяет удалить этот лог и сбросить счётчик заблокированных сообщений.
**__ВНИМАНИЕ__!!! Перед регистрацией на новом транспорте рекомендуется добавить JID транспорта в исключения. Это связано с тем, что после регистрации транспорт запрашивает авторизацию для всех контактов и если его не добавить в исключения, то плагин заблокирует все запросы.**
Подробную историю версий можно найти [[https://raw.github.com/psi-plus/plugins/master/generic/stopspamplugin/changelog.txt|здесь]].
Исходный код плагина можно взять [[git://github.com/psi-plus/plugins.git|здесь]] или [[https://github.com/psi-plus/plugins/zipball/master|здесь]].
==== Storage Notes Plugin ====
Автор: //[[https://github.com/wadealer|Dealer_WeARE]]//
Данный плагин представляет собой реализацию [[http://xmpp.org/extensions/xep-0049.html|XEP-0049: Private XML Storage]].
{{:psiplus_plugins_storagenotesplugin001.png}}
{{:psiplus_plugins_storagenotesplugin002.png}}
Плагин полностью совместим с заметками, сохранёнными из клиента [[http://www.miranda-im.org/|Miranda IM]].
Плагин предназначен для хранения заметок на jabber-сервере с возможностью доступа к ним из любого места через клиент [[main|Psi+]] или Miranda IM.
Подробную историю версий можно найти [[https://raw.github.com/psi-plus/plugins/master/generic/storagenotesplugin/changelog.txt|здесь]].
Исходный код плагина можно взять [[git://github.com/psi-plus/plugins.git|здесь]] или [[https://github.com/psi-plus/plugins/zipball/master|здесь]].
==== Translate Plugin ====
Автор: //[[https://github.com/VampiRUS|VampiRUS]]//
Данный плагин позволяет конвертировать выделенный текст в другую языковую раскладку.
{{:psiplus_plugins_translateplugin001.png|Окно с настройками плагина}}
Исходный код плагина можно взять [[git://github.com/psi-plus/plugins.git|здесь]] или [[https://github.com/psi-plus/plugins/zipball/master|здесь]].
==== Video Status Changer Plugin ====
Авторы: //[[https://github.com/wadealer|Dealer_WeARE]]//, //[[https://github.com/Vitozz|KukuRuzo]]//
{{:psiplus_plugins_videostatusplugin.png}}
Плагин предназначен для установки заданного статуса во время просмотра видео в указанном видеопроигрывателе.
Связь с проигрывателями осуществляется посредством [[http://ru.wikipedia.org/wiki/D-Bus|D-Bus]].
**__Важно__**: Работа с видеопроигрывателями осуществляется **ТОЛЬКО** в операционных системах семейства Linux/BSD. В MS Windows реализовано **ТОЛЬКО** определение полноэкранного режима работы другого приложения на машине пользователя.
* Для работы с **Totem** необходимо в самом проигрывателе включить соответствующий плагин (Правка\Модули\Служба D-Bus);
* Для работы с **VLC** необходимо в расширенных настройках проигрывателя на вкладке "Интерфейс\Интерфейсы управления" включить опцию "Интерфейс управления D-Bus";
* Для работы с **Kaffeine** необходимо иметь плеер версии (>=1.0), дополнительных настроек не нужно;
* Для работы с **GNOME MPlayer** дополнительных настроек не нужно.
Подробную историю версий можно найти [[https://raw.github.com/psi-plus/plugins/master/generic/videostatusplugin/changelog.txt|здесь]].
Исходный код плагина можно взять [[git://github.com/psi-plus/plugins.git|здесь]] или [[https://github.com/psi-plus/plugins/zipball/master|здесь]].
==== Watcher Plugin ====
Автор: //[[https://github.com/wadealer|Dealer_WeARE]]//
Данный плагин предназначен для наблюдения за статусом определённых пользователей в ростере, а также для подмены стандартных звуковых событий входящих сообщений.
На первой вкладке настраивается список контактов, за статусом которых осуществляется наблюдение. При смене статуса таких контактов будет показываться всплывающее окно, а при смене статуса на "онлайн" - ещё и проигрываться указанный звук.
{{:psiplus_plugins_watcherplugin001.png|psiplus_plugins_watcherplugin001.png}}
На второй вкладке настраивается список элементов, за сообщениями которых ведётся наблюдение.
{{:psiplus_plugins_watcherplugin002.png|psiplus_plugins_watcherplugin002.png}}
Каждый элемент может содержать:
* Регулярное выражение для проверки на совпадение с JID, от которого приходит сообщение;
* Список регулярных выражений для проверки на совпадение с текстом входящего сообщения;
* Путь к звуковому файлу, который будет проигран в случае совпадения;
* Настройку для воспроизведения звукового файла всегда, даже если глобальные звуки выключены.
Подробную историю версий можно найти [[https://raw.github.com/psi-plus/plugins/master/generic/watcherplugin/changelog.txt|здесь]].
Исходный код плагина можно взять [[git://github.com/psi-plus/plugins.git|здесь]] или [[https://github.com/psi-plus/plugins/zipball/master|здесь]].
==== Yandex Narod Plugin (Deprecated) ====
Автор: //[[https://github.com/wadealer|Dealer_WeARE]]//
**ДАННЫЙ ПЛАГИН УДАЛЕН ИЗ ВСЕХ СБОРОК КАК УСТАРЕВШИЙ**
Данный плагин является портированной версией соответсвующего плагина для [[http://qutim.org/forum/viewtopic.php?f=62&t=711|QutIM]].
{{:psiplus_plugins_yandexnarodplugin000.png|}}
{{:psiplus_plugins_yandexnarodplugin003.png|}}
Плагин позволяет передавать файлы с помощью сервиса [[http://narod.yandex.ru/|Яндекс.Диск]] (через пункт меню **контакта**).
{{:psiplus_plugins_yandexnarodplugin002.png|}}
Также плагин позволяет управлять файлами, загруженными на данных сервис (пункт меню **аккаунта**).
{{:psiplus_plugins_yandexnarodplugin004.png|}}
В версиии плагина для Psi+ (по сравнению с оригиналом) добавлена поддержка proxy-серверов, исправлено удаление файлов и некоторые другие исправления и улучшения.
Подробную историю версий можно найти [[https://raw.github.com/psi-plus/plugins/master/generic/yandexnarodplugin/changelog.txt|здесь]].
Исходный код плагина можно взять [[git://github.com/psi-plus/plugins.git|здесь]] или [[https://github.com/psi-plus/plugins/zipball/master|здесь]].
===== Бинарные версии плагинов =====
Готовые к использованию версии плагинов под MS Windows можно скачать **[[http://sourceforge.net/projects/psiplus/files/MS-Windows/Plugins/|отсюда]]**.