//**Шмель летает вопреки законам аэродинамики. Но он законов этих не знает, поэтому и летает**//
====== Справка ======
===== Начало работы =====
==== Требования ====
Для работы программы требуется телефон/смартфон/наладонник с поддержкой Java MIDP-2.0, или цветной мобильный телефон Siemens с поддержкой MIDP-1.0 (кроме SX1). Вы можете узнать, какой у вашего мобильного устройства Java MicroEdition Profile (MIDP), перейдя по ссылке: [[http://www.jbenchmark.com/result.jsp]]
Протестировано на следующих моделях мобильных устройств:
**[[bombus:compatibility|Список совместимых устройств]]**
Также необходимо, чтобы мобильное устройство поддерживало технологию GPRS, было подключено к услуге GPRS-Internet и было настроено для работы с ней (GPRS-WAP не имеет никакого отношения к Bombus). Профиль java должен иметь необходимый набор настроек (настройки различаются для разных моделей телефонов, см. инструкцию)
Кроме того, тайм-аут (время от начала простоя до завершения текущей сессии GPRS) должен быть не менее 200 секунд (для Siemens S75 этот период должен составлять 20 секунд). Настройки GPRS Вы можете узнать у своего оператора сотовой связи
==== Кнопки управления ====
^ Все окна ^^
| Джойстик **вверх**/**вниз**,\\ **2** / **8** | Переместиться на строчку вверх/вниз |
| Джойстик **влево**/**вправо**,\\ **4** / **6** | Переместиться на страницу вверх/вниз |
| Джойстик **действие**,\\ **5**, **левая софт-кнопка** телефонов Siemens | Выбрать строчку (действие по умолчанию) |
| **1** / **7** | Переместиться в начало/в конец списка или сообщения |
| {{bombus:green-button.png}} (Siemens) | Начать/продолжить написание сообщения контакту под курсором/текущему контакту |
| {{bombus:red-button.png}} (Siemens) (кратковременно) | Отмена (перейти в предыдущее окно) |
| **Правая софт-кнопка** телефонов Siemens (новые модели, например S75) | Отмена (перейти в предыдущее окно) |
^ Ростер (контакт-лист) ^^
| **0** | Циклический переход между контактами, у которых имеются непрочтённые сообщения |
| **0** (долгое нажатие) | Включение/выключение отображения оффлайн-контактов (возможна настройка параметром jad key_offlines). При выходе из приложения состояние отображения не сохраняется |
| **3** / **9** | Перемещение вверх/вниз по заголовкам групп |
| **3** (долгое нажатие) | Переход к списку активных контактов |
| **9** (долгое нажатие, только на SonyEricsson) | Перевод Bombus в фоновый режим работы (возможна настройка параметром jad key_hide) |
| **9** (долгое нажатие, только на Siemens S75) | Управление подсветкой (включение/отключение постоянно работающей подсветки) |
| * (# в версиях для Siemens) | Длительное нажатие - блокировка клавиатуры (возможна настройка параметром jad key_lock) |
| **#** (* в версиях для Siemens) | Длительное нажатие - переключение профиля сигнализации на Vibra (возможна настройка параметром jad key_vibra) |
^ Режим списка сообщений ^^
| Джойстик **действие**, **5** | Сворачивание - разворачивание выделенного сообщения |
| Джойстик **влево**/**вправо**, 4 / 6 | Поэкранный переход к предыдущему/следующему экрану |
| **3** (долгое нажатие) | Переход к списку активных контактов |
| * (краткое нажатие) | Отключить/включить отображение [[wp>emoticon|смайликов]]|
^ Окно набора сообщения ^^
| {{bombus:red-button.png}} Siemens (кратковременно) | Запомнить набранный текст и перейти к списку сообщений |
^ При загрузке, во время отображения надписи **Loading...** ^^
| **Любая кнопка** | Перейти в окно выбора аккаунтов (действие кнопки не мгновенное, т.к. выполняется загрузка программы) |
==== Account > (добавление существующего/создание нового аккаунта Jabber) ====
**__ВАЖНО:__ Bombus является Jabber-клиентом, общение с пользователями ICQ возможно ТОЛЬКО после подключения транспорта, поэтому не пытайтесь вводить в следующие поля свой [[wp>UIN|UIN]], пароль и в качестве сервера login.icq.com! Создать аккаунт ICQ из него невозможно по этой же причине, для общения через ICQ у вас уже должен быть зарегистрирован UIN.**
Аккаунт - связка вида "имя пользователя (логин) + пароль". Под клиентом понимается любая программа, позволяющая общаться в сети Jabber
В сети Jabber каждый пользователь имеет свой идентификатор, **[[Jabber:jid|JID]]** (Jabber ID)
Например: mozilla@jabber.ru
, где **mozilla** это имя пользователя (логин), а **jabber.ru** - сервер, на котором существует данный аккаунт
**__ВАЖНО:__** Если вы ещё не имеете своего аккаунта, необходимо [[howto:register|зарегистрировать]] новый аккаунт.
Также в Jabber существует возможность выходить в сеть с одного JID одновременно сразу с нескольких клиентов. Для того чтобы отличать их было введено такое понятие как ресурс. Это произвольная метка
Например: mozilla@jabber.ru/Bombus
В данном JID **Bombus** и есть ресурс
После первого запуска программы Вы увидите пустое окно **Accounts**. Вам нужно добавить/создать новый аккаунт для того, чтобы начать общение. Команда меню **New Account** открывает форму со следующими полями:
=== Username ===
Имя пользователя Jabber. При регистрации нового аккаунта на сервере (внизу формы есть галочка **Register Account**) имя пользователя должно быть уникальным, ещё не зарегистрированным на сервере
=== Password ===
Пароль
=== Server ===
В данном поле указывается необходимый jabber-сервер. Это поле используется для формирования jid и для указания внутри xml stream
Наиболее известны следующие Jabber-серверы:
* jabber.ru (IP: 213.180.203.19 213.180.203.18)
* jabber.ttn.ru (IP: 213.24.85.3)
* jabber.snc.ru (IP: 212.6.0.100)
* jabber.infos.ru (IP: 195.209.229.42)
* jabber.kiev.ua (IP: 193.125.78.117)
[[Jabber:public servers|Другие Jabber-серверы]]
=== Host name/IP (optional) ===
IP-адрес jabber-сервера. Адрес используется при создании сокета вида socket://host:port
. Нужен только в том случае, если в настройках телефона не заполнены поля DNS. Если не заполнены поля DNS и IP, то процесс соединения с сервером завершится неудачно, либо будет длиться достаточно длительное время
__**Примечание:**__ если данное поле не заполнено, то считается, что **host=server**
=== Port ===
Номер порта jabber-сервера, по которому Bombus пытается установить соединение. Значение по умолчанию: **5222**. Это стандартное значение, используемое jabber-серверами
=== use SSL ===
Использовать SSL-шифрование для соединения с jabber-сервером (поддерживается не во всех моделях телефонов, см. инструкцию к телефону)
=== plain-text password ===
Передача пароля в открытом виде (для связи со старыми серверами)
=== No compression (без сжатия) ===
Не использовать сжатие траффика. По умолчанию **включено**.
=== conferences only ===
В этом случае не происходит загрузка ростера. Данный тип входа используется для режима "Только конференции"
=== Register Account ===
Если установить эту галочку, то Bombus попытается создать новый аккаунт на вышеуказанном вами сервере. Если у вас есть существующий аккаунт на этом сервере, то её ставить не нужно
__**Примечание:**__ при включенной опции **Register Account** опция SASL login игнорируется
=== Proxy name/IP ===
Поле для ввода имени прокси-сервера или его IP-адреса
=== Proxy port ===
Поле для ввода номера порта указанного выше прокси-сервера
{{section>bombus:keep-alive}}
=== Resource===
[[http://wiki.jrudevels.org/index.php/Resource|Ресурс]] клиента, по умолчанию "Bombus"
=== Nickname ===
Название аккаунта (произвольное). Поле можно оставить пустым, при этом Bombus в качестве названия аккаунта будет использовать JID вида //mozilla@jabber.ru/Bombus//
Отредактировать параметры аккаунта осуществляется при помощи команды **Edit**\\
После окончания операций по созданию/редактированию аккаунта необходимо сохранить данный аккаунт\\
После добавления/создания аккаунта Bombus пытается соединиться с сервером и войти в сеть. Если ему это не удалось и появилось сообщение **Login failed**, то это значит, что неправильно введён логин или пароль. Если же появилась надпись **Failed**, значит либо неправильно указан сервер, либо неправильно настроено GPRS-соединение, либо какие-то ещё проблемы со связью. Во время соединения (или при ошибке) можно выбрать в меню команду **Hide splash** и перейти в пустой ростер. Если произошла ошибка, то сообщение о ней пишется в **Self-contact**
===== Ростер (контакт-лист) =====
{{ bombus:screen_roster.png}}
Ростер (так в Jabber называется контакт-лист) в Bombus представлен в виде списка контактов, объединённых в группы
Заголовок ростера показывает количество непрочитанных сообщений, собственный статус, онлайн/общее количество контактов, текущий профиль сигнализации.
Здесь учитывается общее количество элементов, а именно: обычные контакты, подключенные транспорты, собственные контакты (всегда больше или равно одному), контакты в игнор-листе, контакты в группе **Not-in-list**. В примере на картинке справа имеется одно непрочитанное сообщение, статус - онлайн, 9 онлайн-контактов в ростере, бесшумный профиль **Vibra**
Контакт в списке отображает статус своего хозяина, наличие непрочитанных сообщений, а также ресурс. В качестве имени контакта используется ник (псевдоним) или JID (если ник не был задан)
В отображении jabber-контактов после ника через косую черту показывается ресурс, то есть строчка //mozilla/Bombus// означает, что у этого контакта ник //mozilla//, а ресурс //Bombus//. В том случае, если контакт выходит в онлайн сразу с двух ресурсов одновременно, в ростере появляются два контакта с одинаковыми именами, но с разными ресурсами
Каждый ресурс контакта имеет приоритет. При отправке извне на ваш JID сообщения без указания ресурса (например просто //baggins@jabber.ru//, а не //baggins@jabber.ru/Psi//), оно придёт на тот ресурс, приоритет которого выше. Так как контакты, подключенные через транспорты (в частности ICQ-транспорт), не могут видеть ваш ресурс, то сообщение получит ресурс (при нескольких онлайн-ресурсах) с максимальным приоритетом
**Note:** если максимальный приоритет сразу у двух клиентов (**одинаковый**), то входящие сообщения (которые без указания ресурса) будут приходить сразу на **ОБА** клиента, что весьма удобно при общении через icq траснпорт. (с учетом ньюанса, что когда grps-соединение резко обрывается, bombus остается "виртуально онлайн", и все что ему посылают просто __пропадает__. а так хоть в psi потом можно будет прочитать)
В Bombus приоритет можно задать из окна **Status** при помощи команды **Edit**
Если строчка с именем контакта не помещается полностью на экране, Bombus предоставляет возможность прочитать её полное содержимое при помощи автопрокрутки строки, на которой установлен курсор. Автопрокрутка начинается тогда , когда курсор остается неподвижным некоторое время
Контакты со статусами **online**, **chat**, **away**, **dnd**, **xa**, **offline** раскрашиваются в разные цвета. Контакты, от которых пришло системное сообщение об ошибке имеют специальный значок {{bombus:icon_error.gif}}, это сообщение об ошибке записывается в их список сообщений как статусное
В том случае, если контакт содержит непрочтённые сообщения, статусный значок заменяется на значок конверта {{bombus:icon_message.gif}}
Имеется возможность скрыть оффлайн-контакты из ростера (необходимо отключить опцию **offline contacts** в меню **Options**). Оффлайн-контакты, содержащие непрочтённые сообщения, останутся видны в ростере
В заголовке группы показывается онлайн/общее количество контактов, содержащихся в ней (2/5). Группы можно сворачивать/разворачивать, установив на название группы курсор, и нажав кнопку "Действие". Если от контакта, находящегося в свёрнутой группе, приходит сообщение, группа автоматически будет развёрнута. Если выключена опция **offline contacts** в меню **Options**, то в ростере показываются только группы, имеющие онлайн-контакты
Для быстрой смены профиля сигнализации на бесшумный профиль Vibra (значок {{bombus:icon_vibra.gif}}) служит кнопка "#" (в версиях для Siemens "*"). Смена профиля происходит при её длительном нажатии
Существует возможность заблокировать клавиатуру с помощью длительного нажатия кнопки "*" (в версиях для Siemens "#"). Блокировке соответствует значок {{bombus:icon_locked.gif}}. Для разблокировки клавиатуры следует повторно нажать и удерживать ту же кнопку
==== Особые группы ====
=== General ===
Эта виртуальная группа содержит все контакты, которые не принадлежат ни к одной группе
=== Self-Contact ===
Группа содержит собственные контакты. Их больше одного, если Вы вышли с этого же JID с помощью ещё одного клиента. При ошибке собственный контакт (с тем же ресурсом, который указан в поле **Resource** в настройках аккаунта) содержит сообщение, в котором отображен текст ошибки
=== Transports ===
Группа содержит транспорты к различным протоколам и сервисам, сюда же формально попадают неправильные контакты без "@". Эта группа не зависит от состояния опции **offline contacts** в меню **Options**, так сделано для того чтобы всегда можно было включить/выключить определённый транспорт
=== Ignore-List ===
Группа содержит контакты, сообщения от которых не будут сопровождаться сигнализацией, но будут появляться в списке сообщений и записываться в историю как обычные сообщения. Включить отображение контактов в этой группе можно с помощью опции **Ignore-List** в меню **Options**. Эта опция влияет только на отображение группы в ростере, сообщения от контактов, содержащихся в ней, никогда не будут сопровождаться любым видом сигнализации
=== Not-In-List ===
Группа содержит такие контакты, которые отсутствовали в ростере до того, как от них пришло какое-либо сообщение
=== Search results ===
Группа содержит результаты последнего поиска через ICQ-транспорт или через jud (поиск по JID'у в сети Jabber)
===== MessageList (список сообщений) =====
{{ bombus:screen_msglist.png}}
Данный список представляет собой список обмена сообщениями с определённым контактом. Также здесь отображаются все изменения его статуса
Статусные сообщения имеют следующий формат:
[15:00] online(Подключен(а)) [2]
**[15:00]** - это время события
**online** - фактический статус контакта
**Подключен(а)** - статусное сообщение (собственные статусные сообщения можно задать из окна **Status**)
**2** - приоритет
Статусное сообщение и приоритет могут отсутствовать (например у ICQ-контактов)
Если существуют непрочтённые сообщения (не обязательно от того контакта, список сообщений с которым открыт в данный момент), то в правом углу заголовка списка сообщений появляется значок конверта {{bombus:icon_message.gif}}. Сообщение считается прочтённым, если на него или на любое сообщение ниже по списку был наведён курсор
В версии Bombus, которая работает на телефоне Siemens M55 (MIDP-1.0), для индикации наличия новых сообщений используется динамический свет (чтобы включить динамический свет, необходимо добавить параметр в jad-файл, см. **Параметры jad-файла**)
Команды контекстного меню списка сообщений:
* **Quote** (Цитата) -- открыть окно набора сообщения, содержащее текст сообщения под курсором
* **to Archive** -- скопировать выбранное сообщение в архив
* **Clear List** -- очистить историю списка сообщений
* **Contact >** -- служит для управления данным контактом (подробнее в Action >)
* **Active Contacts** -- вызов списка активных контактов (контактов, с которыми ведётся переписка в данной сессии соединения)
* **Smiles** -- включить/выключить отображение “смайликов” в выбранной записи
* **Goto URL** -- перейти по URL-адресу, содержащемуся в выбранном сообщении
__**Примечание:**__ после выполнения команды **Goto URL** откроется окно со списком URL-адресов, содержащихся в выбранном сообщении, в котором необходимо выбрать требуемый адрес и нажать **OK**. После этого запустится встроенный web-браузер мобильного устройства и предложит перейти на выбранный URL-адрес
Многие Jabber-клиенты поддерживают обмен событиями **Message Composing**. Когда пользователь начинает писать сообщение, его собеседнику отправляется событие "пишется сообщение". При паузе в написании собеседник получает событие "создание сообщения приостановлено". Bombus, при получении таких событий, соответственно отображает значок {{bombus:icon_composing.gif}}. Отправка же собственных событий производится при входе в форму набора сообщения, и при выходе из этой формы. Поддержка **Message Composing** работает только в том случае, если клиенты с обеих общающихся сторон поддерживают это. Для контактов, подключенных через транспорты (в частности ICQ), **Message Composing** не работает в связи с особенностями реализации транспортов. Данная функция включается галочкой **Composing event** в меню **Options**
==== New Message (форма набора нового сообщения) ====
В форму набора нового сообщения можно попасть, используя команду **New Message** в меню списка сообщений. Для телефонов Siemens набор нового сообщения можно также нажать в ростере или в списке сообщений {{bombus:green-button.png}}
Команда **Add Smile** позволяет добавить в текст сообщения смайлик из списка, открывшегося в окне
Cуществует такая полезная возможность, как **Suspend Message** (отложить отправку сообщения). Она позволяет запомнить набранный текст в окне набора сообщения, выйти из него, а затем, при необходимости, продолжить его написание. Это бывает очень полезно, если во время набора собственного сообщения приходит входящее сообщение. Для того, чтобы запомнить сообщение, нужно выбрать в меню команду **Suspend**. Для продолжения набора сообщения в списке сообщений появляется команда **Resume Message** (продолжить сообщение), в то же время можно выбрать **New Message** и начать написание сообщения "с нуля"
__Замечание для владельцев телефонов Siemens:__\\
Для того, чтобы запомнить сообщение, владельцам телефонов Siemens достаточно всего лишь кратковременно {{bombus:red-button.png}}. Если сообщение запомнено, то последующее нажатие {{bombus:green-button.png}} в ростере (курсор должен стоять на этом же контакте), в списке сообщений выполнит команду **Resume Message**
===== Меню ростера =====
==== Status > (установка статуса) ====
{{ bombus:screen_status.png}}
Здесь можно выбрать соответствующий статус присутствия в сети. При выборе статуса **Offline** Bombus разрывает соединение с сервером. Повторное подключение произойдёт при выборе статуса, отличного от **Offline**
Команда меню **Edit** позволяет установить приоритет и текст сообщения для данного статуса присутствия
Поле **Priority** позволяет задать приоритет, который получит Bombus при выборе статуса. Если установить галочку **for all status types**, то у всех статусов приоритет станет таким же, как и у того, который Вы редактируете
Поле **Message** позволяет задать статусное сообщение. Статусное сообщение обычно содержит текст, который поясняет статус
К примеру: [dnd] Готовлюсь к экзамену...
Внутри сети Jabber Вы сможете увидеть сообщения всех статусов, но для людей вне Jabber (через транспорт ICQ) имеют смысл только статусные сообщения для статусов chat, away, xa (Недоступен), dnd. То, каким образом пользователи ICQ смогут увидеть эти сообщения, зависит от их клиента
Для того, чтобы разорвать соединение и снова войти в сеть, следует выставить статус **Offline**, а затем любой другой предпочитаемый статус. Bombus выйдет в сеть с этим статусом
==== Actions > (контекстное меню элемента ростера) ====
Содержимое этого меню зависит от типа элемента в окне ростера, на который установлен курсор. Так, для транспортов в этом меню находятся две специальные команды - **Logon** и **Logoff**, которые позволяют включить/выключить транспорт. В связи с нестабильностью транспорта icq.jabber.org команда **Logon** особенно актуальна, так как позволяет сделать попытку включить транспорт не прекращая общения с пользователями Jabber или контактами, подключёнными через другие транспорты. Также меню **Actions >** для транспортов не содержит команды **Edit** во избежание их "поломки". Для **Self-contact**'ов отсутствуют команды **Edit**, **Subscription** и **Delete**
=== vCard (информация о пользователе) ===
[[jabber:vcard|vCard]] в Jabber - это "визитная карточка" хозяина контакта. Ответ на запрос **vCard** приходит в виде сообщения и помещается в список сообщений этого контакта. В **vCard**-ах многих пользователей Jabber содержатся объёмные фотографии, которые пока не отображаются, поэтому будьте готовы к длительному процессу. Также эта команда позволяет посмотреть информацию и о пользователях, подключённых через транспорты
__Примечание:__\\ **рекомендуется правильно заполнять поле e-mail, иначе в случае утери пароля к jabber-аккаунту будет весьма проблематично восстановить доступ к аккаунту**
=== Client Version (информация о версии клиента пользователя) ===
Команда **Client Version** позволяет узнать версию клиента, используемого контактом. Актуальна только для контактов внутри сети Jabber. Для всех контактов, подключённых через транспорты, она выдаёт версию транспорта (через транспорт версия клиента не проходит). Ответ на запрос помещается в список сообщений. Следует иметь ввиду, что не все клиенты возвращают ответ на этот запрос, хотя подавляющее их большинство его понимает
=== Edit (редактирование контакта) ===
Эта команда позволяет изменить имя контакта для отображения в ростере и группу, в которой он находится. Если вручную ввести имя несуществующей группы, то создастся новая группа с таким именем, контакт будет помещён в неё
=== Subscription (подписка) ===
{{ bombus:screen_subscr.png}}
Подписка позволяет получать уведомления о присутствии контакта в сети, то есть Вы не будете видеть статус контакта до тех пор, пока он не даст вам подписку. Для того чтобы и Вы, и другая сторона видели друг друга в сети, необходима двусторонняя подписка. **to** означает направление от вас к контакту, **from** - обратное направление
Для того, чтобы выдать (разрешить) подписку контаку, приславшему на неё запрос, необходимо послать этому контакту утвердительный ответ на его запрос - команда **Grant subscription**. Для того, чтобы запросить подписку, существует команда **Ask subscription"**\\
* **subscr: none** означает, что подписка не была получена ни одной из сторон
* **subscr: to** означает, что подписка от этого контакта была получена, но Вы ещё не дали данному контакту подписку. В этом случае Вы будете видеть присутствие контакта в сети, а он не будет видеть Ваше
* **subscr: from** означает, что подписка от этого контакта не была получена, но Вы уже дали данному контакту подписку. В этом случае контакт будет видеть ваше присутствие, но Вы не будете видеть присутствие контакта
* **subscr: both** означает, что подписка была осуществлена в обе стороны
* **subscr: ask** означает, что контакту отправлен запрос на подписку, но ответа от него не пришло
Команда **Remove subscription** удаляет подписку у выбранного контакта, после чего он не будет видеть вас в сети
Запрос на подписку приходит в виде сообщения и помещается в список сообщений. Разрешить подписку пользователю, просящему об этом, можно прямо из окна просмотра этого запроса через **Menu --> Contact --> Subscription --> Grant subscription**
Контакты с подпиской **none** отображаются иконками со знаком вопроса, а контакты с **from**, **ask** - иконками с двумя двунаправленными стрелками
=== Delete (удаление контакта) ===
Команда удаляет контакт из ростера. После её выбора значок статуса контакта заменяется на {{bombus:icon_trash.gif}}, а после того, как сервер пришлёт подтверждение об успешном удалении из серверного ростера, контакт удаляется из ростера Bombus насовсем
=== Send status (послать статус) ===
Посылка особого статуса выбранному контакту/транспорту/конференции
=== Send file (послать файл) ===
//Только в ZLib-версии//
Команда для подготовки и отправки файла другому jabber-контакту, клиент которого поддерживает протокол IBB ([[http://www.xmpp.org/extensions/xep-0047.html|XEP-0047: In-Band Bytestreams]])
==== Add Contact (добавление контакта) ====
{{ bombus:screen_addcontact.png}}
Существует два пути добавить контакт
Первый - ввести его JID полностью в поле **User JID**, второй - ввести то, что стоит до символа "@" в JID'е и выбрать из списка **Transport**, собственно транспорт или текущий сервер. При выборе из списка транспортов поле **User JID** автодополняется. JID для контактов, подключаемых через ICQ-транспорт jabber.ru выглядит так: //123456789@icq.jabber.org//. То есть для добавления ICQ-контакта нужно всего лишь ввести его UIN в поле **User JID** и в списке **Transports** выбрать icq.jabber.org. Чтобы добавить jabber-контакт с другого сервера в общем случае вам нужно ввести его JID полностью вручную
В поле **Name** Вы можете ввести тот ник контакта, под которым он будет отображаться в вашем ростере (если Вы этого не сделаете, то вместо ника будет показываться JID)
**Group** - это поле содержит имя группы, в которую будет помещён контакт при добавлении. Можно выбрать существующую группу из списка **Existing groups**, либо ввести её имя вручную. Если группа, которую Вы ввели, ещё не существует, то она будет создана
После заполнения всех полей вам нужно выбрать команду **Add** для завершения процесса. У добавляемого контакта автоматически запрашивается авторизация. Если команду меню ростера **Add Contact** выбрать в то время, когда курсор указывает на один из контактов группы **Not-In-List**, окно добавления контакта откроется с заполненным полем **User JID**, которое будет содержать JID этого контакта
==== Alert profile > (профиль сигнализации) ====
Профили отвечают за схему сигнализации при поступлении нового сообщения (в будущем это меню будет расширено)
* **Auto** - в текущей версии этот профиль идентичен профилю **All signals**
* **All signals** - звук и вибрация включены
* **Vibra** - звук выключен, вибрация включена. Индицируется значком в заголовке ростера
* **Sound** - звук включен, вибрация выключена. Индицируется значком в заголовке ростера
* **No signals** - все сигналы отключены. Индицируется значком в заголовке ростера
Команда меню **Set default** устанавливает профиль, который будет автоматически выбираться при запуске Bombus (по умолчанию). Профиль по умолчанию отмечается приставкой "**(default)**" в его имени
__Примечание:__ профили не влияют на динамический свет Siemens M55
==== Conference (Конференция) ====
При входе в этот пункт меню отображается специальная форма со следующими полями:
=== Room ===
в этом поле указывается название комнаты, к которой пользователь хочет подключиться. Полный список доступных комнат конференции можно получить, обратившись через **[[bombus:help#service_discovery|Service Discovery]]** к соответствующему транспорту. Например, к //conference.jabber.ru.// По умолчанию в поле **Room** указано название комнаты //Bombus//\\
Также существует возможность создать собственную комнату в конференции. Более подробную информацию по созданию своей комнаты и ее настройке можно посмотреть [[jabber:muc|здесь]]
=== at Host ===
в этом поле указывается сервер конференций. По умолчанию - //conference.jabber.ru//
=== Nickname ===
в этом поле указывается предпочитаемый ник (псевдоним). По умолчанию - название текущего аккаунта (JID'а)
=== Password ===
в этом поле указывается личный пароль, который может потребоваться при подключении к комнатам конференции, требующим ввод пароля. По умолчанию это поле не заполнено
=== Message limit ===
в этом поле указывается максимальное число предыдущих сообщений при входе в конференцию. Может принимать значение не больше 20. **По умолчанию: 20**
__**Примечание:**__ топик (тема) конференции не учитывается за сообщение
==== Archive (Архив сообщений)====
Предназначен для хранения избранных сообщений с возможностью последующей вставки в форму набора нового сообщения самого тела сообщения, темы сообщения (если имеется) и JID сообщения
Контекстное меню архива имеет следующие команды:
* **Delete** -- удалить выбранную запись
* **Smiles** -- включить/выключить отображение "смайликов" в выбранной записи (аналогично командам списка сообщений)
* **Goto URL** -- перейти по URL-адресу, содержащемуся в выбранном сообщении (аналогично командам списка сообщений)
В форме набора нового сообщения при вызове команды **Archive** в контекстном меню будут представлены следующие команды:
* **Paste Body** -- вставить тело сообщения
* **Paste Jid** -- вставить JID, содержащийся в сообщении
* **Paste Subject** -- вставить заголовок (тему) сообщения
* **Delete** -- удалить выбранную запись
* **Smiles**
* **Goto URL**
__**Примечание:**__ объём (количество хранимых записей) архива зависит от реализации мобильного устройства
==== Tools (меню инструментов) ====
=== User Mood (Настроение) ===
Публикацию **User Mood** поддерживают популярные серверы: //jabbus.org (xmpp.name), jabber.se, vke.ru//, а также //jabber.ru// и //xmpp.ru// (нестабильно).
Если Ваш аккаунт зарегистрирован на одном из указанных серверов, то данный сервис Вам доступен.
__**Важно!**__ Для включения User Mood необходимо зайти в **Menu (Меню) -> Tools (Инструменты) -> Options (Настройки)** и включить (отметить галку) опцию **personal events (персональные уведомления)**.
Для установки/смены настроения необходимо зайти в **Menu (Меню) -> Tools (Инструменты) -> Options (Настройки)** и выбрать пункт **User Mood (Настроение)**. Из открывшегося списка выбрать требуемое настроение и вписать текст для пояснения настроения.
Теперь Ваши контакты в ростере вместе с обычным статусом увидят и Ваше настроение.
=== Service Discovery (Обзор сервисов) ===
{{ bombus:screen_disco.png}}
**[[jabber:disco|Service Discovery]]** позволяет просматривать сервисы (службы) на сервере и использовать их. К службам также относятся транспорты. В меню присутствует команда **Server**, с помощью которой можно просмотреть дерево сервисов любого сервера
Для того, чтобы зарегистрировать транспорт, нужно выбрать его и в следующем уровне дерева сервисов использовать команду **Register**. Откроется форма регистрации (обычно с инструкцией), которую необходимо заполнить. Эта форма строится по данным, принятым от сервера. После этого транспорт добавится в ростер
Также поддерживается поиск в ICQ и в jud (jabber user directory). Поиск в ICQ находится внутри транспорта в дереве **Service Discovery** (команда **Search**), а поиск в jud обычно имеет имя "jud.имя_сервера" и находится в первом уровне дерева. Открывается форма с полями для поиска, принятая с сервера
__Замечания__ по поводу формата некоторых полей: поле **sex** обычно понимает значения **female** или **male**. Для активизации поля **online** (отвечает за включение в результаты поиска только тех контактов, кто находится в онлайне в данный момент) достаточно заполнить его любым символом (например "1")
После заполнения формы и выбора команды **Send** происходит отправка данных на сервер. Далее открывается окно с результатами поиска. Нажатие кнопки действие (5 или кнопка джойстика) в нём приводит к отображению краткой информации о найдённом контакте, на котором стоит курсор. Пункт **authreq** показывает, требует ли контакт авторизации при добавлении его в ростер, но текущий транспорт icq.jabber.org не обращает на это внимания. Команда меню **Add** позволяет добавить контакт в ростер. Если после прихода результатов поиска выйти из **Service Discovery** в ростер, то можно заметить что там появилась новая группа **Search results**, которая содержит результаты последнего поиска. Контактам этой группы можно посылать сообщения (без добавления их в ростер на сервере), смотреть **vCard**, добавлять в ростер. Эту специальную группу можно очистить, наведя курсор на её название и выбрав в меню появившуюся команду **Discard Search**
Текущая версия Bombus поддерживает только протокол [[jabber:disco|Service Discovery]] (JEP-0030), который поддерживает большинство jabber-серверов. Устаревшие протоколы **Jabber Browsing** и **Agent Information** в Bombus не реализованы. В частности, именно поэтому подключить транспорты на серверах, использующих старые протоколы,, возможно только с помощью компьютерных клиентов. Список русских серверов со старым протоколом на момент написания документации: jabber.rikt.ru, jabber.od.ua, jabber.te.ua, vzljot.ru
=== Privacy Lists (Списки приватности) ===
Данный пункт меню [[jabber:privacy_lists|Privacy Lists]] предоставляет возможность пользователю настроить политику общения с выбранным пользователем или с группой пользователей
Подробное описание механизма Privacy Lists доступно [[jabber:privacy_lists|здесь]]
=== My vCard (Личная vCard) ===
Данный пункт содержит инструментарий по работе с формой vCard, а именно:
== Refresh ==
Запросить vCard у сервера
== Load Photo ==
Загрузить графическое изображение из файловой системы мобильного устройства (JSR-75) в vCard
== Clear Photo ==
Очистить vCard от графического изображения
== Camera ==
Запуск встроенной камеры мобильного устройства
== Publish ==
Опубликовать vCard -- загрузить vCard на сервер
=== Options (Настройки) ===
== Категория Roster elements (элементы ростера) ==
* **offline contacts** - отображение оффлайн-контактов. По умолчанию **включено**
* **self-contact** - отображение собственных контактов. Если число таких контактов (а значит и клиентов, запущенных на одном и том же JID'е) больше одного, то группа **self-contact** будет отображаться независимо от этой опции. По умолчанию **выключено**
* **transports** - отображение группы Transports. По умолчанию **включено**
* **Ignore-List** - отображение группы игнор-листа. Не влияет на его работу. По умолчанию **выключено**
* **autofocus** - включение режима автоматического переключения на контакт, содержащий непрочитанное сообщение. По умолчанию **включено**
== Категория Authorize new contacts (варианты подписки новых контактов) ==
Данная опция регулирует поведение (блокировка/пропуск) приложения при работе с запросами подписки
Содержит выпадающее меню с вариантами действий:
* **Automatic subscription** - автоподписка
* **Ask me** - спросить меня
* **Drop subscription** - отклонять (запрос поступит в следующий раз)
* **Deny subscription** - запрещать (отклонение запроса подписки)
== Категория Not-in-list ==
Данная опция регулирует поведение (блокировка/пропуск) приложения при работе с контактами вне ростера
Содержит выпадающее меню с вариантами действий:
* **drop all** - отбрасывать (не отображать) и сообщения, и презенсы
* **receive messages** - принимать только сообщения
* **messages & presences** - принимать и сообщения, и презенсы
__**ВНИМАНИЕ!**__ Данная опция управляет только поведением клиента, входящие сообщения по-прежнему могут создавать траффик
== Категория Roster font (шрифт ростера) ==
Содержит выпадающее меню с вариантами размера шрифта в ростере:
* **Normal** - обычный (средний) шрифт. **По умолчанию**
* **Small** - мелкий шрифт
* **Large** - крупный шрифт
__Примечание:__ количество шрифтов в java зависит от реализации мобильного устройства
== Категория Messages (сообщения) ==
* **smiles** - отображение "смайликов" в списке сообщений (также "смайлики" для выбранного сообщения (на котором установлен курсор) можно включить/отключить командой контекстного меню **Smiles** или кнопкой "*"). По умолчанию **включено**
* **room presences** - включение отображения статусных сообщений в списках сообщений конференций. По умолчанию **включено**
* **composing events** - включение поддержки **Composing** events. По умолчанию **включено**\\
При включении этой опции производится своеобразный handshake (обмен рукопожатиями), т.е. клиенты должны получить по одному сообщению для подтверждения факта возможности работы с **composing**. Так сделано из-за существования старых клиентов, типа [[http://violonix.jabber.ru/|Colibry IM]], не понимающих **composing**, принимающих такие сообщения как пустые строки
__Примечание:__ данная опция должна быть включена у обоих собеседников. Если один из клиентов отключит у себя эту опцию, то он всё равно будет видеть **composing** от тех клиентов, у которых включена данная опция (это будет происходить только в том случае, если с данным клиентом уже состоялся handshake, т.е. клиенты пообменивались **composing**-ами, потом один из них отключает **composing**, исходящие **composing** прекращаются, а входящие - продолжают приходить)
* **delivery events** - отчёты о доставке. По умолчанию **включено**.\\
FIXME
* **Abc** - включение режима написания нового предложения в сообщении с Заглавной буквы (работает корректно не на всех устройствах). По умолчанию **выключено**.
* **personal events** - включение персональных уведомлений: публикация и приём настроений (User Mood) и приём событий User tune. По умолчанию **включено**.
== Категория Message collapse limit (сворачивать сообщения больше) ==
Сообщения, длина которых превышает заданное число, отображаются свернутыми (максимум 512 символов)
== Категория Message font (шрифт сообщения) ==
Содержит выпадающее меню с вариантами размера шрифта в ростере:
* **Normal** - обычный (средний) шрифт. **По умолчанию**
* **Small** - мелкий шрифт
* **Large** - крупный шрифт
== Категория Text wrapping (перенос текста) ==
Содержит выпадающее меню с вариантами переноса текста в списке сообщений:
* **by chars** - перенос текста по буквам (символам). **По умолчанию**
* **by words** - перенос текста по словам
== Категория Sound (звук) ==
Выбор файла звукового сопровождения (**message.amr**, **message.wav**, **message.mid**, **mary.seq** или **tone sequence**). По умолчанию **message.amr**
__Примечание:__ звуковой файл можно прослушать, выбрав команду **Test sound** в контекстном меню.
== Категория Color theme (цветовая тема) ==
Выбор цветовой темы оформления интерфейса приложения. Содержит выпадающее меню с вариантами цветовых тем.
__Примечание:__ Применение выбранной цветовой темы происходит сразу же после нажатия кнопки OK (сохранение опций).
== Категория Startup actions (действия при запуске) ==
* **autologin** - автосоединение с jabber-сервером при запуске приложения. По умолчанию **включено**
* **join conferences** - автовход после соединения с jabber-сервером в конференции, для которых созданы закладки с автовходом (**Add autojoin bookmark** в форме входа в конференцию). По умолчанию **выключено**
== Категория Application (приложение) ==
* **fullscreen** - включение полноэкранного режима отображения на телефонах, поддерживающих данный режим. По умолчанию **выключено**
__Примечание:__ полноэкранный режим присутствует только в MIDP-2.0 версиях мобильных устройств и зависит от реализации этих устройств
* **heap monitor** - включение индикатора кучи (индикатор в заголовке окна, показывающий количество свободной памяти в куче (экспериментальная функция). По умолчанию **выключено**
* **shared platform info** - разрешение указывать модель мобильного устройства, на котором в данный момент запущен Bombus, при ответе на стандартный запрос версии клиента (jabber:iq:version). По умолчанию **включено**
* **flash backlight** - включение подсветки в режиме Vibra. По умолчанию **включено**
== Категория Automatic Away (автосмена статуса) ==
Содержит выпадающее меню со следующими режимами работы автостатуса:
* **disabled** - автостатус отключен. **По умолчанию**
* **keyblock/flip** - включение автостатуса при блокировке кнопок или при складывании телефона
* **idle** - включение автостатуса при простое/неактивности в режиме отображения ростера
Ниже представлен параметр **Minutes before away** для выбора количества минут, по прошествии которых сработает выбранный режим автостатуса. Может принимать значения от **1** до **30**. По умолчанию **5 минут**
== Категория Time settings (коррекция часов) ==
* **[[GMT|GMT]] offset** - это значение используется для коррекции поясного смещения времени (в часах) с учётом летнего времени (+1)
__Например:__ Москва (GMT+3): летнее смещение 4, зимнее смещение 3. По умолчанию **0**
* **Clock offset** - это значение используется для коррекции времени (в часах) Online-сообщений и показаний внутренних часов. Сначала необходимо посмотреть, насколько ошибаются внутренние часы. Если часы спешат, то вводится ОТРИЦАТЕЛЬНОЕ значение времени, а если отстают - ПОЛОЖИТЕЛЬНОЕ. По умолчанию **0**
__Примечание:__ корректировать **Clock offset** необходимо ПОСЛЕ установки **GMT offset**
== Категория Language (язык) ==
Содержит выпадающее меню с вариантами локализации интерфейса приложения. По умолчанию **English**
__Примечание:__ для применения нового языка интерфейса требуется перезапуск приложения
=== root (файл-браузер) ===
Файл-браузер предназначен для навигации по файловой системе мобильного устройства (JSR-75)
=== File Transfers (передача/приём файлов) ===
Менеджер передачи/приёма файлов (IBB)
==== Account > (редактор аккаунтов) ====
Редактор аккаунтов подробно описан в разделе [[bombus:help#добавление_существующего_создание_нового_аккаунта_jabber|Добавление существующего/создание нового аккаунта]]. Остаётся лишь упомянуть о некоторых его особенностях
При количестве аккаунтов больше одного, активный выделяется значком онлайн
Удалить аккаунт можно командой **Delete**. Команда **Delete** не удаляет аккаунт с сервера. Чтобы войти в редактор аккаунтов при запуске, нужно в то время, когда отображается надпись **Loading...** нажать любую кнопку
При запуске программы происходит соединение с последним использовавшимся аккаунтом
==== Minimize (только на SonyEricsson) ====
На телефонах SonyEricsson третьего поколения (модели k500, k700, s700, [[wp>Sony_Ericsson_K750i|k750i]]) в меню ростера присутствует команда **Minimize**, которая переводит Bombus в фоновый режим (сворачивает приложение). Появляется возможность пользоваться другими функциями телефона (с некоторыми ограничениями). При входящем сообщении Bombus активизируется (разворачивается)
==== About (О программе) ====
Данный пункт меню выводит окно, в котором представлена информация о текущей (запущенной) версии Bombus, версию платформы MIDP, модель мобильного устройства и, в ряде случаев, даже версию прошивки модели мобильного устройства, на котором в данный момент запущен Bombus
Ниже приводится ссылка на официальный сайт проекта [[http://bombus-im.org/|Bombus]]
Также приведена информация о состоянии внутренней памяти мобильного устройства (в килобайтах): общий размер памяти и свободное пространство памяти
==== Quit (Выход) ====
Этот пункт меню создан для корректного завершения работы с приложением и выхода из него
===== Специальные возможности =====
==== Параметры jad-файла ====
Некоторыми скрытыми настройками и специальными возможностями можно управлять с помощью параметров jad-файла (**Bombus.jad**). Его можно сгенерировать с помощью конструктора jad или написать вручную. В телефонах Siemens серии 65 папка **storage** хранится в каталоге **System** на скрытом диске
* **cfg_path**: в версиях для телефонов Siemens для хранения настроек используется не стандартный способ (через rms), а пишутся файлы собственного формата. Этот параметр позволяет указать, где Bombus будет создавать эти файлы. По умолчанию они хранятся в папке **storage**. Должен оканчиваться слэшем (\)
* **def_pass, def_server, def_user**: если файл с настройками аккаунтов стёрт или поврежден, то Bombus автоматически создаёт аккаунт на основе этих параметров
* **led_pattern**: задаёт **pattern** для динамического света телефона Siemens М55 (только в версии для Siemens MIDP-1.0). Динамический свет включается автоматически при запуске на Siemens M55, **pattern** по умолчанию - 5 (runway, тропинка). Если установить значение этого параметра в 0, то свет отключится. Не устанавливайте этот атрибут, если ваш телефон не Siemens M55, иначе при входящем сообщении Вы столкнётесь с аварийным завершением работы Bombus
* **msg_log**: в телефонах Siemens существует возможность записи во флэш-память истории сообщений каждого пользователя в формате txt. Такие файлы свободно читаются на компьютере, но встроенные браузеры этих телефонов некорректно отображают русские буквы. Параметр разрешает запись этой истории. Контакты с русскими буквами пишутся некорректно (особенность телефонов), поэтому рекомендуется не давать контактам ников с русскими буквами. Скорость работы мидлета при включении этой опции практически не уменьшается даже на Siemens 55-й серии
* **msg_log_path**: задаёт путь сохранения истории в txt в версиях для Siemens. Если не задано, то история сохраняется в папку **storage** в каталоге, куда установлен Bombus. Рекомендуется задать этот параметр для того, чтобы все файлы истории хранились в отдельной папке. Имеет смысл только при включенном параметре msg_log (в версиях для Siemens). Путь должен существовать. Должен оканчиваться слэшем (\)
* **msg_log_presence**: при включенном параметре msg_log (в версиях для Siemens) записывает в файлы txt истории всех изменений статусов контактов, статусные сообщения и приоритеты
* **key_lock, key_vibra**: эти параметры были введены из-за разного расположения в телефонах кнопок блокировки и выключения звука. Они позволяют задать соответствия этим кнопкам (#/*)
* **time_gmt_offset**: часовой пояс, в котором расположен Bombus. Используется для коррекции времени сообщений
* **time_loc_offset**: смещение для часов. Используется, если GMT телефона не совпадает с реальным GMT
* **gc_room:** определяет имя комнаты и адрес сервера для формы Join conference. По умолчанию **gc_room: bombus@conference.jabber.ru**
* **gc_room: room@server** - заполняет соответственно имя комнаты и адрес сервера значениями **room** и **server**
* **gc_room: room** - в качестве имени комнаты используется **room**, адрес сервера получается добавлением поддомена **conference** к имени сервера, на котором зарегистрирован аккаунт пользователя
==== Команда Resolve Nicknames ====
В меню **Contact>** транспортов существует команда **Resolve Nicknames**, которая автоматически переименовывает все контакты, подключённые через соответствующий транспорт, у которых не заполнено поле **Name** (т.е. те контакты, которые отображаются в ростере в виде //123456789@icq.jabber.org//). Эти контакты получают имена, которые берутся из поля **NICK** своего [[jabber:vcard|vCard]]. Таким образом отпадает необходимость вручную переименовывать контакты, подключенные через транспорты.
__Примечание:__\\
- Если поле **NICK** заполнено **UIN'ом** в vCard'e, то **Resolve Nicknames** не срабатывает.
- Функция **Resolve Nicknames** реализована не на всех транспортах.
==== Удалённое управление Jabber-клиентами ====
Некоторые jabber-клиенты, например [[http://psi-im.org|Psi]], поддерживают удалённое управление.
Для чего это надо? Допустим, Вы ушли с работы, но у Вас там остался jabber-клиент в online. Подключившись к той же учётной записи со своего мобильного устройства при помощи Bombus (или другим jabber-клиентом с домашнего компьютера), Вы можете:
* изменять статус
* перенаправлять непрочитанные сообщения
* изменять различные опции
* подтверждать приём файла
* покидать конференцию
Расширение протокола для удалённого управления описывается в XEP-0146: Remote Controlling Clients и XEP-0050: Ad-Hoc commands
Описание Remote Controlling в Psi: http://psi-im.org/wiki/Remote_Controlling