-
Notifications
You must be signed in to change notification settings - Fork 58
D Bus
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