Skip to content
This repository has been archived by the owner on Oct 2, 2019. It is now read-only.
Andrew Krasichkov edited this page Nov 25, 2015 · 4 revisions

Brick обладает простой поддержкой интеграции с внешними приложениями на основе D-Bus. D-Bus выбран по многим причинам, но главные - наличие биндингов практически для всех языков и большая распространенность в экосистеме GNU/Linux. На текущий момент в D-Bus доступно совсем не много, это простое управление приложением:

  • org.brick.Brick.AppInterface::UserAway() - сообщить что пользователь отошел. Удобно, например, посылать перед блокировкой экрана, что бы был установлен корректный статус Away

  • org.brick.Brick.AppInterface::UserPresent() - аналогично UserAway, только сообщить о том что пользователь вернулся

  • org.brick.Brick.AppInterface::ShowAddAccountDialog (b:switch_on_save) - показать диалог добавления нового аккаунта. switch_on_save сообщает нужно ли переключиться на него после сохранения

  • org.brick.Brick.AppInterface::ShowAccountsDialog() - показать диалог списка аккаунтов

  • org.brick.Brick.AppInterface::Quit() - Выйти:-)

  • org.brick.Brick.AppWindowInterface::Hide() - свернуть Brick в system tray/indicator

  • org.brick.Brick.AppWindowInterface::Present() - показать главное окно, поведение в большей степени зависит от используемого менеджера окон

  • org.brick.Brick.AppWindowInterface::ToggleVisibility() - изменить состояние отображения главного окна. Аналогично паре Hide + Present в зависимости от текущего состояния

И несколько событий:

  • org.brick.Brick.AppInterface::IndicatorBadgeChanged (i:badge, b:important) - изменено кол-во новых сообщений
  • org.brick.Brick.AppInterface::IndicatorStateChanged (s:state) - изменено состояние индикатора. На текцщий момент поддерживаются offline, online, dnd, away, flash и flash-important
  • org.brick.Brick.AppInterface::IndicatorTooltipChanged (s:text) - изменен тултип индикатора

Вы всегда можете посмотреть его сами вызвав метод org.freedesktop.DBus.Introspectable.Introspect для нужного объекта (/org/brick/Brick/App и /org/brick/Brick/AppWindow). Так же в лог Brick будет записано отладочное сообщение (пока в основном в диагностических целях). Например, при вызове org.brick.Brick.AppInterface::UserAway():

[0208/234700:INFO:dbus_protocol.cpp(60)] Bus method org.brick.Brick.AppInterface::UserAway called
Clone this wiki locally