From eafabe87c42f3d2b5498c75ffa422f81ee1e78d3 Mon Sep 17 00:00:00 2001 From: Colin Date: Wed, 13 Mar 2024 05:27:43 +0000 Subject: [PATCH] xdg-desktop-portal: tell systemd the BusName of the service so that it won't consider it started until after said bus name is acquired this partially fixes an error in sandboxed gtk apps where they would try to connect to org.freedesktop.portal to query settings, and then fall back to bad default fonts when the endpoint errored (because xdp-gtk wasn't ready) --- hosts/common/programs/xdg-desktop-portal-gtk.nix | 3 ++- hosts/common/programs/xdg-desktop-portal-wlr.nix | 3 ++- hosts/common/programs/xdg-desktop-portal.nix | 6 ++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/hosts/common/programs/xdg-desktop-portal-gtk.nix b/hosts/common/programs/xdg-desktop-portal-gtk.nix index c84a7e7b..de20e150 100644 --- a/hosts/common/programs/xdg-desktop-portal-gtk.nix +++ b/hosts/common/programs/xdg-desktop-portal-gtk.nix @@ -47,7 +47,8 @@ in serviceConfig = { ExecStart="${cfg.package}/libexec/xdg-desktop-portal-gtk"; - Type = "simple"; + Type = "dbus"; + BusName = "org.freedesktop.impl.portal.desktop.gtk"; Restart = "always"; RestartSec = "10s"; }; diff --git a/hosts/common/programs/xdg-desktop-portal-wlr.nix b/hosts/common/programs/xdg-desktop-portal-wlr.nix index b6d1a612..2a5c2d66 100644 --- a/hosts/common/programs/xdg-desktop-portal-wlr.nix +++ b/hosts/common/programs/xdg-desktop-portal-wlr.nix @@ -32,7 +32,8 @@ in serviceConfig = { ExecStart="${cfg.package}/libexec/xdg-desktop-portal-wlr"; - Type = "simple"; + Type = "dbus"; + BusName = "org.freedesktop.impl.portal.desktop.wlr"; Restart = "always"; RestartSec = "10s"; }; diff --git a/hosts/common/programs/xdg-desktop-portal.nix b/hosts/common/programs/xdg-desktop-portal.nix index 3e85c6d2..b88d9fef 100644 --- a/hosts/common/programs/xdg-desktop-portal.nix +++ b/hosts/common/programs/xdg-desktop-portal.nix @@ -60,7 +60,8 @@ in serviceConfig = { ExecStart="${cfg.package}/libexec/xdg-desktop-portal"; - Type = "simple"; + Type = "dbus"; + BusName = "org.freedesktop.portal.Desktop"; Restart = "always"; RestartSec = "10s"; }; @@ -85,7 +86,8 @@ in serviceConfig = { ExecStart="${cfg.package}/libexec/xdg-permission-store"; - Type = "simple"; + Type = "dbus"; + BusName = "org.freedesktop.impl.portal.PermissionStore"; Restart = "always"; RestartSec = "10s"; };