Linux桌面环境中新的Status Notifier Specification


在Ubuntu中所看到的systray icon目前有两种,一种就是旧的基于freedesktop system tray spcification的。而新的则是采用dbus实现的,更加简单和方便。不过目前好像gnome3和Ubuntu 的 unity有了不同的标准,具体还未看。如果有详细需求的同学可以仔细查一下。

以下仅是前阵子简单看了下新的Status Notify Specification后的总结。

用来取代Freedesktop System tray specification.

通过 d-bus进行进程间通信,这样可以使gtk,qt的程序可以互相通信。

StatusNotifierItem: 要显示图标的应用程序

StatusNotifierWatcher:所有StatusNotifierItem要注册到Watcher里

StatusNotifierHost: Host通过Watcher来得到所有Item,并将所有Item展现出来

规范:http://www.notmart.org/misc/statusnotifieritem/index.html

indicator-application-service: StatusNotifierHost服务的实现

indicator-messages/session/me: StatusNotifierWatcher的实现


其中菜单采用dbusmenu spec

DBusMenu spec

用dbus来实现一个菜单,主要用于indicator 

相关内容