mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-22 21:25:58 +01:00
Nix: patch portals search dir
This commit is contained in:
parent
7ed66abe57
commit
62c75883d1
2 changed files with 25 additions and 0 deletions
|
@ -103,6 +103,8 @@ in
|
||||||
patches = [
|
patches = [
|
||||||
# make meson use the provided wlroots instead of the git submodule
|
# make meson use the provided wlroots instead of the git submodule
|
||||||
./meson-build.patch
|
./meson-build.patch
|
||||||
|
# fixes portals search path to be picked up from $XDG_DESKTOP_PORTAL_DIR
|
||||||
|
./portals.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
23
nix/portals.patch
Normal file
23
nix/portals.patch
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
diff --git a/src/Compositor.cpp b/src/Compositor.cpp
|
||||||
|
index a9d95f39..6aa8e7d6 100644
|
||||||
|
--- a/src/Compositor.cpp
|
||||||
|
+++ b/src/Compositor.cpp
|
||||||
|
@@ -2340,14 +2340,16 @@ void CCompositor::performUserChecks() {
|
||||||
|
|
||||||
|
static auto* const PSUPPRESSPORTAL = &g_pConfigManager->getConfigValuePtr("misc:suppress_portal_warnings")->intValue;
|
||||||
|
|
||||||
|
+ static auto const PORTALDIR = std::string(getenv("XDG_DESKTOP_PORTAL_DIR"));
|
||||||
|
+
|
||||||
|
if (!*PSUPPRESSPORTAL) {
|
||||||
|
- if (std::ranges::any_of(BAD_PORTALS, [&](const std::string& portal) { return std::filesystem::exists("/usr/share/xdg-desktop-portal/portals/" + portal + ".portal"); })) {
|
||||||
|
+ if (std::ranges::any_of(BAD_PORTALS, [&](const std::string& portal) { return std::filesystem::exists(PORTALDIR + "/" + portal + ".portal"); })) {
|
||||||
|
// bad portal detected
|
||||||
|
g_pHyprNotificationOverlay->addNotification("You have one or more incompatible xdg-desktop-portal impls installed. Please remove incompatible ones to avoid issues.",
|
||||||
|
CColor(0), 15000, ICON_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (std::filesystem::exists("/usr/share/xdg-desktop-portal/portals/hyprland.portal") && std::filesystem::exists("/usr/share/xdg-desktop-portal/portals/wlr.portal")) {
|
||||||
|
+ if (std::filesystem::exists(PORTALDIR + "/hyprland.portal") && std::filesystem::exists(PORTALDIR + "/wlr.portal")) {
|
||||||
|
g_pHyprNotificationOverlay->addNotification("You have xdg-desktop-portal-hyprland and -wlr installed simultaneously. Please uninstall one to avoid issues.", CColor(0),
|
||||||
|
15000, ICON_ERROR);
|
||||||
|
}
|
Loading…
Reference in a new issue