From 77c690f0a111f45b036206a5a45535e6f8e3f388 Mon Sep 17 00:00:00 2001 From: Robert Tari Date: Mon, 24 May 2021 22:50:05 +0200 Subject: Add documentation files --- README.md | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 README.md (limited to 'README.md') diff --git a/README.md b/README.md new file mode 100644 index 0000000..8214ee6 --- /dev/null +++ b/README.md @@ -0,0 +1,90 @@ +# libayatana-indicator - Ayatana Indicators Shared Library [![Build Status](https://travis-ci.com/AyatanaIndicators/libayatana-indicator.svg)](https://travis-ci.com/AyatanaIndicators/libayatana-indicator) + +## About Ayatana Indicators + +The Ayatana Indicators project is the continuation of Application +Indicators and System Indicators, two technologies developed by Canonical +Ltd. for the Unity7 desktop. + +Application Indicators are a GTK implementation of the StatusNotifierItem +Specification (SNI) that was originally submitted to freedesktop.org by +KDE. + +System Indicators are an extensions to the Application Indicators idea. +System Indicators allow for far more widgets to be displayed in the +indicator's menu. + +The Ayatana Indicators project is the new upstream for application +indicators, system indicators and associated projects with a focus on +making Ayatana Indicators a desktop agnostic technology. + +On GNU/Linux, Ayatana Indicators are currently available for desktop +envinronments like MATE (used by default in [Ubuntu +MATE](https://ubuntu-mate.com)), XFCE (used by default in +[Xubuntu](https://bluesabre.org/2021/02/25/xubuntu-21-04-progress-update/), +LXDE, and the Budgie Desktop. + +The Lomiri Operating Environment (UI of the Ubuntu Touch OS, formerly +known as Unity8) uses Ayatana Indicators for rendering its notification +area and the [UBports](https://ubports.com) project is a core contributor +to the Ayatana Indicators project. + +For further info, please visit: +https://ayatana-indicators.org + +## About this Software Component + +Modern desktop panels find out about indicators by looking at indicator +service files in `/usr/share/ayatana/indicators`. These files need to have +the same name as the well-known D-Bus name that the corresponding service +owns. + +An indicator file is a normal key file (like desktop files). It must have +an `[Indicator Service]` section, that must contain the service's name (`Name`) +and the object path at which its action group is found (`ObjectPath`). For +example: + +``` +[Indicator Service] +Name=indicator-example +ObjectPath=/org/ayatana/indicator/example +``` + +It should also contain a hint to where the indicator should appear in the panel: + +``` +Position=70 +``` + +The lower the position, the further to the right (or left when RTL is +enabled) the indicator appears. + +An indicator can only export one action group, but it supports a menu for each profile +("desktop", "greeter", "phone"). There is a section for each +of those profiles, containing the object path on which the menu is +exported: + +``` +[desktop] +ObjectPath=/org/ayatana/indicator/example/desktop + +[greeter] +ObjectPath=/org/ayatana/indicator/example/desktop + +[phone] +ObjectPath=/org/ayatana/indicator/example/phone +``` + +Object paths can be reused for different profiles (the greeter uses the +same menu as the desktop in the above example). + +There are no fallbacks. If a profile is not mentioned in the service file, +the indicator will not show up for that profile. + +## License and Copyright + +See COPYING and AUTHORS file in this project. + +## Building and Testing + +For instructions on building and running built-in tests, see the INSTALL.md file. -- cgit v1.2.3