Files
feresaria/docs/portals.md
T

3.1 KiB

Desktop portals

Desktop portals let applications request screen sharing, screenshots, wallpaper changes, and other desktop services. Ferese provides themed consent dialogs; GTK supplies file, print, and other standard dialogs.

Install xdg-desktop-portal, xdg-desktop-portal-gtk, and Ferese's backend through Installation. The session launcher starts the services with the correct display environment.

Supported services

Service Behavior
Settings Color scheme, accent, contrast, and reduced-motion preferences
Screenshot Screen, area, window, active-window capture, and color picking
Wallpaper Preview and approval for desktop, lock screen, or both
ScreenCast Display and window sharing through PipeWire
Background Permission to run in the background and startup integration
USB Device information and approval for requested access
GlobalShortcuts App shortcut selection, conflict checks, and activation
Inhibit App requests to delay logout, suspend, or idle actions
InputCapture Approved keyboard/pointer capture for input-sharing applications
Lockdown Administrator restrictions on printing, saving, handlers, location, camera, microphone, and sound
FileChooser, Print, Access, Account, AppChooser, DynamicLauncher, Notification GTK backend

RemoteDesktop and its session Clipboard integration are not implemented. This does not affect ordinary application clipboard use.

Screenshot and screen-sharing requests ask for approval. Screen sharing can remember display permissions when the application requests it and the user opts in. Window sharing always asks again. See Screen sharing. Window captures contain the selected app and its subsurfaces; separate popups, other apps, shell layers, and compositor decorations are excluded.

InputCapture starts at an approved display-edge barrier. Ctrl+Alt+Escape returns local control. Locking, disconnecting the receiver, or changing displays or the keyboard layout stops capture. Touch and remembered InputCapture grants are not supported. InputCapture forwards local input; it does not inject remote input.

Wallpaper approval copies the image into Ferese's data directory and updates the config. Set theme.background.lock-path for a separate lock-screen image; otherwise it follows the desktop wallpaper.

Global shortcuts cannot replace Ferese bindings or reserved escape/console keys. They stop when the app session closes and never activate on the lock screen. Power confirmations show app inhibitors before proceeding. Ferese has no user-switch operation.

Portal selection

The installer writes /usr/share/xdg-desktop-portal/ferese-portals.conf. Overrides in ~/.config/xdg-desktop-portal/ may take precedence. If a request opens the wrong dialog or no source appears, check those overrides and confirm that XDG_CURRENT_DESKTOP includes Ferese.

For capture issues, see screen-sharing troubleshooting. For backend contracts and integration checks, see Development.