Interfaces for Unity shell are provided by the libunity client library, including classes and resources for building Lenses and Scopes for the Dash, methods for adding count and progress information to an application’s icon in the Launcher, and an interface for adding media player controls and meta-data to the Sound Menu.
Examples of using the Launcher API and Lens merge stragegies
About DBusMenu
The DBusMenu library is the foundation for both the global menu and HUD in Unity. It allows an application to export a menu structure over DBus where it can be accessed by other applications and services. Toolkit bindings for Gtk and Qt will automatically add window menus for applications using them to DBusMenu, where they can be read by the Global Menu and HUD.
Gtk bindings to convert to and from libdbusmenu-glib
appmenu-gtk/src
Automatically exports Gtk window menus using libdbudmenu-gtk
libdbusmenu-qt/src
Qt bindings to convert to and from DBusMenu
About libappindicator
Unity displays system and application indicators in the top panel of the shell. These indicators provide a common interface to show and change the status of an application or Unity itself.
Client library for adding an indicator for an application
libindicate/libindicate
Client library for interacting with the Message Menu indicator
libindicator/libindicator
Used by Unity to find and display Indicators in the panel
About bamf
The Bamf Application Matching Framework monitors the opening and closing of all windows on the desktop, assigning each to an “application” group that is associated with a .desktop file. This allows Unity to easily match a Windows with meta-data from it’s Application, such as icon, name and executable. Bamf if used by the Unity Launcher, Application Switcher and Spread.
Common Libraries
Launcher & Dash
Unity’s features are accessible through the libunity client library, including integration with the Launcher and Dash.
Learn more about libunity
Global Menu & HUD
Applications running under Unity have their window menus exported via DBusMenu for use by the Global Menu and Heads Up Display.
Learn more about DBusMenu
Application Indicators
Indicators provide a common way for applications and Unity itself to present the user with status information and controls.
Learn more about libappindicator
Application Matching
Bamf gives Unity the window matching information needed for it’s application-focused approach to multitasking.
Learn more about bamf
About libunity
Interfaces for Unity shell are provided by the libunity client library, including classes and resources for building Lenses and Scopes for the Dash, methods for adding count and progress information to an application’s icon in the Launcher, and an interface for adding media player controls and meta-data to the Sound Menu.
Getting the code
Sourcecode Layout
About DBusMenu
The DBusMenu library is the foundation for both the global menu and HUD in Unity. It allows an application to export a menu structure over DBus where it can be accessed by other applications and services. Toolkit bindings for Gtk and Qt will automatically add window menus for applications using them to DBusMenu, where they can be read by the Global Menu and HUD.
Getting the code
Sourcecode Layout
About libappindicator
Unity displays system and application indicators in the top panel of the shell. These indicators provide a common interface to show and change the status of an application or Unity itself.
Getting the code
Sourcecode Layout
About bamf
The Bamf Application Matching Framework monitors the opening and closing of all windows on the desktop, assigning each to an “application” group that is associated with a .desktop file. This allows Unity to easily match a Windows with meta-data from it’s Application, such as icon, name and executable. Bamf if used by the Unity Launcher, Application Switcher and Spread.
Getting the code
Sourcecode Layout