APIs.rst 2.03 KB
Newer Older
Guido Gunther's avatar
Guido Gunther committed
1 2
.. index:: API Docs
.. api_docs:
3

4 5
API Documentation
=================
6 7 8 9 10

This chapter contains API documentation specific to the Librem 5 as well as
links to upstream documentation.

API documentation for the underlying GNOME platform can be found in
11
:ref:`gnome_resources`. This list is currently being `filled in
12
<https://source.puri.sm/Librem5/developer.puri.sm/issues/60>`_.
13

14 15
See also the :ref:`software_reference` for detailed information about the
Librem 5 software stack.
16

Guido Gunther's avatar
Guido Gunther committed
17 18
Phone/Messaging APIs
--------------------
David Boddie's avatar
David Boddie committed
19 20
* Modem/Sim card access is provided via the `ModemManager`_  D-Bus APIs
* Access to network connections is provided via `NetworkManager`_ D-Bus APIs
Guido Gunther's avatar
Guido Gunther committed
21

22 23
Shell APIs
----------
David Boddie's avatar
David Boddie committed
24
D-Bus APIs provided by the Phone Shell (:ref:`phosh`):
25 26 27 28

* `org.gnome.Mutter.DisplayConfig`_ provides display information and
  configuration:

David Boddie's avatar
David Boddie committed
29
  * Retrieve information about connected displays
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
  * Set gamma curve (used for e.g. nightlight)
  * Set primary monitor
  * Backlight brightness
  * Lacks `changing displays <https://source.puri.sm/Librem5/phosh/issues/57>`_

  Mostly used by gnome-settings-daemon.

* `org.gnome.Mutter.IdleMonitor`_ to detect if the session is idle
  (for e.g. screen lock or power saving). Used by e.g. gnome-session
  for idle detection.

* `org.gnome.keyring.SystemPrompter`_ provides System modal
  authentication dialogs (used by e.g. gnupg's pinentry, SIM card pin
  entry, etc.)


Guido Gunther's avatar
Guido Gunther committed
46 47 48
Mobile Widgets
--------------
* `libhandy reference manual <https://honk.sigxcpu.org/projects/libhandy/doc/>`_
49

50 51 52
.. _`org.gnome.Mutter.DisplayConfig`: https://source.puri.sm/Librem5/phosh/blob/master/src/monitor/org.gnome.Mutter.DisplayConfig.xml
.. _`org.gnome.Mutter.IdleMonitor`: https://source.puri.sm/Librem5/phosh/blob/master/src/dbus/org.gnome.Mutter.IdleMonitor.xml
.. _`org.gnome.keyring.SystemPrompter`: https://gitlab.gnome.org/GNOME/gcr/blob/master/gcr/org.gnome.keyring.Prompter.xml
53 54
.. _`ModemManager`: https://www.freedesktop.org/software/ModemManager/api/latest/ref-dbus.html
.. _`NetworkManager`: https://developer.gnome.org/NetworkManager/stable/spec.html