Implementation of the XDG Desktop Portal API for TDE
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Go to file
Mavridis Philippe 87769ed51d
Added Email interface, minor refactoring
Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
7 months ago
interfaces Added Email interface, minor refactoring 7 months ago
src Added Email interface, minor refactoring 7 months ago
.gitignore Initial commit 1 year ago
CMakeLists.txt Fix installation prefix for XDG portal definition 11 months ago
ConfigureChecks.cmake Initial commit 1 year ago
README.md Added Email interface, minor refactoring 7 months ago
config.h.cmake Initial commit 1 year ago

README.md

xdg-desktop-portal-tde

What is this?

This is an implementation of the FreeDesktop Portals API.

THIS IS AN EARLY PROTOTYPE. USE WITH CARE.

This implementation exposes TDE APIs to applications which use the Portals API. As a result, these applications can transparently use native APIs and dialogs.

Read more about the portals API on its official website.

How do I use this?

Before using this, make sure you have the xdg-desktop-portal package installed and running on your system.

To make Firefox use the Portals API, go to about:config, search for options that start with "widget.use-xdg-desktop-portal" and, if they are set to 2, set them to 1.

State of implementation

Currently implemented are the following interfaces:

  • Email - request to send an e-mail via the system e-mail client
  • FileChooser - request a file dialog

The following implementations are planned (listed in no particular order):

  • Screenshot - request a screenshot
  • App Chooser - show a "Open with..." dialog for a file
  • Clipboard - request clipboard access (*)
  • OpenURI - request to open a URL
  • Secret - integration with TDEWallet
  • Account - request user information (username, full name, user icon)
  • Access - show a grant access dialog
  • Wallpaper - request to change the user's wallpaper
  • Print - request a file to be printed

(*) Needs Session interface implementation

Additionaly, it must be noted that the implementation does not currently support the Documents portal API (and therefore sandboxed applications).