programs: xdg-desktop-portal: dont show app chooser for apps which are the default association
This commit is contained in:
@@ -1,9 +1,25 @@
|
|||||||
{ config, lib, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.sane.programs.xdg-desktop-portal;
|
cfg = config.sane.programs.xdg-desktop-portal;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
sane.programs.xdg-desktop-portal = {
|
sane.programs.xdg-desktop-portal = {
|
||||||
|
packageUnwrapped = pkgs.xdg-desktop-portal.overrideAttrs (upstream: {
|
||||||
|
postPatch = (upstream.postPatch or "") + ''
|
||||||
|
# wherever we have a default mime association, don't prompt the user to choose an app.
|
||||||
|
# tracking issues about exposing this formally:
|
||||||
|
# - <https://github.com/flatpak/xdg-desktop-portal/issues/780>
|
||||||
|
# - <https://github.com/flatpak/xdg-desktop-portal/issues/471>
|
||||||
|
# - <https://github.com/flatpak/xdg-desktop-portal/issues/472>
|
||||||
|
#
|
||||||
|
# the alternative to patching is to instead manually populate ~/.local/share/flatpak/db
|
||||||
|
# according to this format (binary):
|
||||||
|
# - <https://github.com/flatpak/xdg-desktop-portal/wiki/The-Permission-Store/16760c9f2e0a7ea7333ad5b190bd651ddc700897#storage-data-format>
|
||||||
|
substituteInPlace --replace-fail src/open-uri.c \
|
||||||
|
'#define DEFAULT_THRESHOLD 3' '#define DEFAULT_THRESHOLD 0'
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
|
||||||
services.xdg-desktop-portal = {
|
services.xdg-desktop-portal = {
|
||||||
description = "Portal service";
|
description = "Portal service";
|
||||||
wantedBy = [ "graphical-session.target" ];
|
wantedBy = [ "graphical-session.target" ];
|
||||||
@@ -17,6 +33,9 @@ in
|
|||||||
# xdg-desktop-portal expects to act as a strict frontend and manage xdg-desktop-portal-{gtk,wlr,etc} itself,
|
# xdg-desktop-portal expects to act as a strict frontend and manage xdg-desktop-portal-{gtk,wlr,etc} itself,
|
||||||
# which means it needs to know how which endpoints each backend provides and how to launch it,
|
# which means it needs to know how which endpoints each backend provides and how to launch it,
|
||||||
# encoded in /share/xdg-desktop-portal/portals:
|
# encoded in /share/xdg-desktop-portal/portals:
|
||||||
|
#
|
||||||
|
# tracking issue for having xdg-desktop-portal locate portals via more standard directories, obviating this var:
|
||||||
|
# - <https://github.com/flatpak/xdg-desktop-portal/issues/603>
|
||||||
environment.XDG_DESKTOP_PORTAL_DIR = "/etc/profiles/per-user/%u/share/xdg-desktop-portal/portals";
|
environment.XDG_DESKTOP_PORTAL_DIR = "/etc/profiles/per-user/%u/share/xdg-desktop-portal/portals";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user