From 351ec8a9223a78c9970502459f5cfd4cc03b0b36 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Sun, 27 Oct 2024 22:57:07 +0100 Subject: [PATCH 1/2] normcap: fix on GNOME wayland when used via keybind or alt-f2 --- pkgs/by-name/no/normcap/package.nix | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/pkgs/by-name/no/normcap/package.nix b/pkgs/by-name/no/normcap/package.nix index 8404231fa392..c58a0b540d94 100644 --- a/pkgs/by-name/no/normcap/package.nix +++ b/pkgs/by-name/no/normcap/package.nix @@ -69,6 +69,28 @@ ps.buildPythonApplication rec { --set QT_QPA_PLATFORM xcb --prefix PATH : ${lib.makeBinPath wrapperDeps} ) + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + # cursed fix on GNOME+wayland + # this works because systemd-run runs the command as an ad-hoc service named run-1234567890.service + # FIXME: make something like `--slice=app-com.github.dynobo.normcap.slice` + # work such that the "screenshot screenshot" permission in + # `flatpak permissions` is associated with the xdg app id + # "com.github.dynobo.normcap" and not "" + makeWrapperArgs+=( + --run ' + if command -v systemd-run >/dev/null; then + exec -a "$0" systemd-run --wait --user \ + --setenv=PATH="$PATH" \ + --setenv=PYTHONNOUSERSITE="$PYTHONNOUSERSITE" \ + --setenv=QT_QPA_PLATFORM="$QT_QPA_PLATFORM" \ + ${placeholder "out"}/bin/.normcap-wrapped "$@" + else + exec -a "$0" ${placeholder "out"}/bin/.normcap-wrapped "$@" + fi + exit $? + ' + ) ''; postInstall = lib.optionalString stdenv.hostPlatform.isLinux '' From d11baac0c2ba9a0df59fb08c6b790156300ed0b3 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Sun, 27 Oct 2024 22:56:36 +0100 Subject: [PATCH 2/2] normcap: fix build when `doCheck=false;` --- pkgs/by-name/no/normcap/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/no/normcap/package.nix b/pkgs/by-name/no/normcap/package.nix index c58a0b540d94..6794faa5fecd 100644 --- a/pkgs/by-name/no/normcap/package.nix +++ b/pkgs/by-name/no/normcap/package.nix @@ -61,6 +61,7 @@ ps.buildPythonApplication rec { dependencies = [ ps.pyside6 ps.jeepney + ps.toml ]; preFixup = '' @@ -103,7 +104,6 @@ ps.buildPythonApplication rec { ps.pytest-cov-stub ps.pytest-instafail ps.pytest-qt - ps.toml ] ++ lib.optionals stdenv.hostPlatform.isLinux [ ps.pytest-xvfb xorg.xvfb