Repository navigation
Desktop Portals
Applications use desktop portals to request screen sharing, screenshots, wallpaper changes and other desktop services. Ferese supplies themed consent dialogs, while GTK handles 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.
| 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 need approval. Display-sharing permissions can be remembered 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 barrier at the edge of a display. Press Ctrl+Alt+Escape to regain local control. Capture stops when you lock the session, disconnect the receiver, change displays or change the keyboard layout. 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
active light or dark appearance in the config. The other appearance keeps its
wallpaper. A desktop-only change keeps the current lock-screen image, and a
lock-screen-only change keeps the desktop image. Set theme.background.lock-path
for a shared lock-screen image, or override it under theme.light.background and
theme.dark.background. Without a lock-screen path, it follows the desktop wallpaper.
Global shortcuts cannot replace Ferese bindings or reserved escape/console keys. They stop when the app session closes. They never activate on the lock screen. Power confirmations show app inhibitors before proceeding. Ferese has no user-switch operation.
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.
- Installation
- Why Ferese
- Screenshots
- Live Activities
- Shortcuts and gestures
- Tabbed windows
- Lock screen
- Screen sharing and recording
- Desktop portals
- feresectl and IPC events