summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHilton Chain <hako@ultrarare.space>2025-06-20 14:38:00 +0800
committerHilton Chain <hako@ultrarare.space>2025-07-29 21:32:24 +0800
commitf523cad8b0b79c1ad1623927faa01eca0ed8addd (patch)
tree09d87c6e5ff41dab430cd7d4e18c62dd7ee8bcf7
parent8ac93a460a57cd1a1d5d5d8bac36e959b62eb92a (diff)
gnu: niri: Use dbus-run-session.
This change fixes screencasting. * gnu/packages/wm.scm (niri)[inputs]: Add dbus. [#:phases]<install-extras>: Use dbus-run-session in niri.desktop. Change-Id: I196c25a4b37ee8a6aae3ab17ef127596e199324f
-rw-r--r--gnu/packages/wm.scm11
1 files changed, 6 insertions, 5 deletions
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index eba34700d8..2e419395f1 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -1927,9 +1927,6 @@ limited size and a few external dependencies. It is configurable via
;; LICENSE LICENSE.dwm LICENSE.tinywl
(license (list license:gpl3+ license:expat license:cc0))))
-;; FIXME: xdg-desktop-portal-gnome integration (screencasting) is not working.
-;; Only packages using the ‘wlr-screencopy’ protocol (e.g. wf-recorder,
-;; obs with obs-wlrobs) are working.
(define-public niri
(package
(name "niri")
@@ -1969,10 +1966,13 @@ limited size and a few external dependencies. It is configurable via
;; For tests.
(setenv "XDG_RUNTIME_DIR" "/tmp")))
(add-after 'install 'install-extras
- (lambda _
+ (lambda* (#:key inputs #:allow-other-keys)
(substitute* "resources/niri.desktop"
(("niri-session")
- (string-append #$output "/bin/niri --session")))
+ (format #f "~a --dbus-daemon=~a ~a/bin/niri --session"
+ (search-input-file inputs "bin/dbus-run-session")
+ (search-input-file inputs "bin/dbus-daemon")
+ #$output)))
(install-file
"resources/niri.desktop"
(in-vicinity #$output "share/wayland-sessions"))
@@ -1983,6 +1983,7 @@ limited size and a few external dependencies. It is configurable via
(list pkg-config))
(inputs
(cons* clang
+ dbus
libdisplay-info
libinput-minimal
libseat