xdg-desktop-portal backend for Hyprland
Find a file
WhySoBad 76bbf1a6b1
Some checks failed
Build xdph (Nix) / Build (push) Has been cancelled
core: Implement hyprland-toplevel-mapping-v1 protocol (#322)
* feat: start toplevel-mapping-v1 implementation

* feat: finished toplevel-mapping-v1 implementation

* fix: rename unordered map member variable

* chore: fix formatting

* fix: update share picker for new env

* chore: hyprland protocol version bump

* chore: implement review

* chore: implement feedback

* chore: implemented feedback
2025-04-28 22:22:05 +02:00
.builds builds: add gbm and libdrm to the build environment 2022-04-10 13:38:01 +02:00
.github/workflows CI: update actions 2024-07-30 21:59:36 +03:00
contrib CMake: get rid of Makefile and Ninja (#154) 2024-01-04 16:20:11 +01:00
hyprland-share-picker core: Implement hyprland-toplevel-mapping-v1 protocol (#322) 2025-04-28 22:22:05 +02:00
nix nix: mesa -> libgbm 2025-03-14 08:35:39 +02:00
protocols core: Implement hyprland-toplevel-mapping-v1 protocol (#322) 2025-04-28 22:22:05 +02:00
src core: Implement hyprland-toplevel-mapping-v1 protocol (#322) 2025-04-28 22:22:05 +02:00
subprojects core: Implement hyprland-toplevel-mapping-v1 protocol (#322) 2025-04-28 22:22:05 +02:00
.clang-format Woo! Full rewrite, v1.0 release. (#78) 2023-09-06 20:36:48 +02:00
.editorconfig Add yml exception to editorconfig 2020-03-13 21:01:32 +01:00
.gitignore gitignore: reorder and label sections 2024-10-29 09:35:59 +02:00
.gitmodules Woo! Full rewrite, v1.0 release. (#78) 2023-09-06 20:36:48 +02:00
CMakeLists.txt core: Implement hyprland-toplevel-mapping-v1 protocol (#322) 2025-04-28 22:22:05 +02:00
CONTRIBUTING.md Fix link to trigger-screen-shot.py 2021-03-04 20:42:40 +01:00
flake.lock flake.lock: update 2025-04-14 18:29:45 +03:00
flake.nix flake.lock: update 2024-12-17 10:08:37 +02:00
hyprland.portal portal: Added back screenshot functionality (#127) 2023-11-05 01:00:51 +00:00
LICENSE Woo! Full rewrite, v1.0 release. (#78) 2023-09-06 20:36:48 +02:00
meson.build Meson: fix conf_data 2024-01-04 22:02:50 +02:00
meson_options.txt Woo! Full rewrite, v1.0 release. (#78) 2023-09-06 20:36:48 +02:00
org.freedesktop.impl.portal.desktop.hyprland.service.in CMake: get rid of Makefile and Ninja (#154) 2024-01-04 16:20:11 +01:00
README.md README: fix old wiki link 2024-10-23 10:08:19 +01:00
VERSION version: bump to 1.3.9 2024-12-19 00:48:58 +00:00

xdg-desktop-portal-hyprland

An XDG Desktop Portal backend for Hyprland.

Installing

First, make sure to install the required dependencies:

gbm
hyprland-protocols
hyprlang
hyprutils
hyprwayland-scanner
libdrm
libpipewire-0.3
libspa-0.2
sdbus-cpp
wayland-client
wayland-protocols

Then run the build and install command:

git clone --recursive https://github.com/hyprwm/xdg-desktop-portal-hyprland
cd xdg-desktop-portal-hyprland/
cmake -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib -DCMAKE_INSTALL_PREFIX=/usr -B build
cmake --build build
sudo cmake --install build

Nix

Caution

XDPH should not be used from this flake directly!

Instead, use it from the Hyprland flake.

There are two reasons for the above:

  1. Hyprland depends on XDPH, but XDPH also depends on Hyprland. This results in a cyclic dependency, which is a nightmare. To counter this, we use the Nixpkgs Hyprland package in this flake, so that it can be later consumed by the Hyprland flake while overriding the Hyprland package.
  2. Even if you manually do all the overriding, you may still get it wrong and lose out on the Cachix cache (which has XDPH as exposed by the Hyprland flake).

Running, FAQs, etc.

See the Hyprland wiki