canido.dev
Projects/hyprwm / xdg-desktop-portal-hyprland

xdg-desktop-portal-hyprland

The screen sharing and desktop portal backend for Hyprland

Get it on GitHub
Unclaimed

Built by @hyprwm on GitHub. This page was written by @iluxav from public sources, last updated for v1.4.1 (2026-07-29), and may lag behind new releases.

Maintain xdg-desktop-portal-hyprland? Claim it
v1.4.1 / 2026-07-294 things you can do3 changes to know before upgradingFollow (Atom feed)

Share a monitor, a window or a region from Hyprland in browsers, OBS and chat apps, take portal screenshots, and let apps register global shortcuts.

What you can do with it

Share a whole monitor, a single window or a region of the screen with apps that use the screen-sharing portal.

Good to know

Needs PipeWire and xdg-desktop-portal; built for Hyprland.

Present at v1.3.3

Let apps take screenshots through the desktop portal.

Present at v1.3.3

Let apps register global shortcuts that you bind in Hyprland, such as push-to-talk.

Present at v1.3.3

Let apps capture keyboard and mouse input through the InputCapture portal, as tools that share input across computers do.

Good to know

Only apps that use the InputCapture portal benefit.

Since v1.4.0

Before you upgrade

Newest first
Release history 9
v1.4.12026-07-29

Show the cursor again when you share your screen from a browser or Discord.

Details

screencopy:cursor_mode sets the cursor mode for clients that do not ask for one (2 embeds the cursor); a busy loop that used CPU is fixed.

v1.4.1.

Improved: Share a whole monitor, a single window or a region…

Seeded by @iluxav with Claude Code (canido)

Read the evidence
v1.4.02026-07-18

Let apps that share your keyboard and mouse with other computers capture input on Hyprland.

Details

Implements the InputCapture portal; the screencast backend moves to version 6 (version property, mapping_id, pipewire-serial).

v1.4.0.

Added / inferred: Let apps capture keyboard and mouse input through t…

Seeded by @iluxav with Claude Code (canido)

Read the evidence
v1.3.122026-04-26

Restore a shared screen region with the same area you picked.

Details

Region shares keep their geometry in the restore token; screen sharing falls back from DMA-BUF to shared memory when needed, and screencopy:force_shm forces shared memory; the cursor follows the portal spec.

v1.3.12.

Improved: Share a whole monitor, a single window or a region…Behavior changed / inferred: Share a whole monitor, a single window or a region…

Seeded by @iluxav with Claude Code (canido)

Read the evidence
v1.3.102025-07-27

See the right shortcuts when an app lists its global shortcuts.

Details

ListShortcuts returned its arguments in the wrong order; window titles and classes are set properly for sharing.

v1.3.10.

Now works / inferred: Let apps register global shortcuts that you bind in…

Seeded by @iluxav with Claude Code (canido)

Read the evidence
v1.3.92024-12-19

Use your own program to choose what to share instead of the built-in picker.

Details

screencopy:custom_picker_binary points to a replacement for hyprland-share-picker.

v1.3.9.

Improved: Share a whole monitor, a single window or a region…

Seeded by @iluxav with Claude Code (canido)

Read the evidence
v1.3.82024-10-27

Share windows when dynamic activation is enabled.

Details

Window sharing works again with general:toplevel_dynamic_bind; the portal now builds against sdbus-cpp 2. Groups v1.3.7 and v1.3.8.

v1.3.8; building needs sdbus-cpp 2.0.0.

Now works: Share a whole monitor, a single window or a region…Action required

Seeded by @iluxav with Claude Code (canido)

Read the evidence
v1.3.62024-09-28

Restore a shared window, not only a monitor, when an app reconnects.

Details

Window handles are restored from the restore token.

v1.3.6.

Now works: Share a whole monitor, a single window or a region…

Seeded by @iluxav with Claude Code (canido)

Read the evidence
v1.3.52024-09-21

Let apps share your screen again after a restart without asking each time.

Details

screencopy:allow_token_by_default ticks the "allow restore token" box in the picker by default; restore data now survives app restarts; --version added. Groups v1.3.4 and v1.3.5.

v1.3.5; building needs hyprwayland-scanner 0.4.2 or newer and hyprutils.

Improved: Share a whole monitor, a single window or a region…Action required

Seeded by @iluxav with Claude Code (canido)

Read the evidence
v1.3.32024-07-22
Starting point

Share your screen from Hyprland in browsers, OBS and chat apps.

Details

State as of v1.3.3: the portal implements ScreenCast (a monitor, a window or a region, picked with hyprland-share-picker), Screenshot and GlobalShortcuts; screencopy:max_fps caps the frame rate.

Build with CMake; needs PipeWire, sdbus-cpp, hyprlang and hyprland-protocols.

Added: Share a whole monitor, a single window or a region…Added: Let apps take screenshots through the desktop porta…Added / inferred: Let apps register global shortcuts that you bind in…

Seeded by @iluxav with Claude Code (canido)

Read the evidence