diff options
-rw-r--r-- | INSTALL.md | 51 | ||||
-rw-r--r-- | README | 43 | ||||
-rw-r--r-- | README.md | 90 |
3 files changed, 141 insertions, 43 deletions
diff --git a/INSTALL.md b/INSTALL.md new file mode 100644 index 0000000..2932e58 --- /dev/null +++ b/INSTALL.md @@ -0,0 +1,51 @@ +# Build and installation instructions + +## Compile-time build dependencies + + - cmake (>= 3.13) + - cmake-extras + - glib-2.0 (>= 2.58) + - gobject-introspection + - vala (>= 0.16) + - gtk+-3.0 (>= 3.24) + - libayatana-ido (>=0.8.2) + - gtest (>= 1.6.0) + - gcovr (>= 2.4) + - lcov (>= 1.9) + +## For end-users and packagers + +``` +cd libayatana-indicator-X.Y.Z +mkdir build +cd build +cmake .. +make +sudo make install +``` +## For testers - unit tests only + +``` +cd libayatana-indicator-X.Y.Z +mkdir build +cd build +cmake .. -DENABLE_TESTS=ON +make +make test +``` +## For testers - both unit tests and code coverage + +``` +cd libayatana-indicator-X.Y.Z +mkdir build +cd build +cmake .. -DENABLE_COVERAGE=ON +make +make test +make coverage-html +``` +**The install prefix defaults to `/usr`, change it with `-DCMAKE_INSTALL_PREFIX=/some/path`** + +**You can build a Gtk 2 version using `-DFLAVOUR_GTK2=ON`** + +**You can build a version without Ayatana IDO support using `-DENABLE_IDO=OFF`** @@ -1,43 +0,0 @@ -The indicator service file format -================================= - -Modern desktop panels find out about indicator by looking at indicator -service files in `/usr/share/ayatana/indicators`. These files have 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 smaller 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 a menu for each profile -("desktop", "greeter", "phone") supports. There must be 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. 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. |