_images/xdg-portal-light.png _images/xdg-portal-dark.png

XDG Desktop Portal🔗

Portals allow Flatpak apps, and other desktop containment frameworks, to interact with the system in a secure and well defined way.

XDG Desktop Portal works by exposing a series of D-Bus interfaces known as portals to apps. Portals are designed to be usable by all apps, including ones which are confined by sandboxes, such as Flatpak.

The portal interfaces include APIs for file access, opening URIs, printing and others.

XDG Desktop Portal works together with desktop environment specific backends to mediate access to resources and functionality in an integrated manner.

Documentation🔗

This documentation covers everything you need to know to build apps that use portals, write portal backends for your desktop environment, configure and distribute portals as part of a distribution, as well as basic concepts and common conventions:

  • Common conventions: coding patterns and principles common when app and desktop developers are working with portal APIs.

  • App Development: portal APIs that apps can use to interact with the host system.

  • Desktop Integration: interfaces and configuration files that desktop developers can implement and install in order to write a portal backend.

  • Contributing: how contributors can contribute to the project.

Using Portals🔗

Many toolkits and frameworks already integrate with some portals, and you might already be using them without realizing it. For all other cases, there are Convenience Libraries and direct D-Bus access.

Backends🔗

To implement most portals, xdg-desktop-portal relies on a desktop environment specific backend to provide a part of the functionality.

Here are some examples of available backends:

Contributing🔗

XDG Desktop Portal is Free Software. Contributions welcome.

Are you an app developer and want a new portal or feature? Contribute to or open a new discussion.

Is there an issue with the portal frontend? Report it to our issue tracker.

Just want to talk or need help? Join our matrix.