feat: add portal host override script and update portal configuration

This commit is contained in:
2026-02-28 23:09:29 +01:00
parent e8a548bbad
commit 046f2c3e95
4 changed files with 45 additions and 7 deletions
+3 -3
View File
@@ -59,8 +59,9 @@ exec-once = waybar &
exec-once = wpaperd &
exec-once = swaync &
exec-once = hypridle &
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XDG_SESSION_DESKTOP XDG_SESSION_TYPE XDG_MENU_PREFIX
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XDG_SESSION_DESKTOP XDG_SESSION_TYPE XDG_MENU_PREFIX
exec-once = sh ~/.config/hypr/scripts/portal-host-override.sh
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XDG_SESSION_DESKTOP XDG_SESSION_TYPE
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XDG_SESSION_DESKTOP XDG_SESSION_TYPE
# exec = gsettings set org.gnome.desktop.interface gtk-theme "Breeze-Dark" # for GTK3 apps
# exec = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark" # for GTK4 apps
@@ -79,7 +80,6 @@ env = HYPRCURSOR_SIZE,24
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = XDG_MENU_PREFIX,plasma-
env = GTK_USE_PORTAL,1
env = GTK_THEME,Adwaita:dark
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
@@ -0,0 +1,8 @@
#!/bin/sh
if [ -f /etc/xdg/menus/plasma-applications.menu ] && command -v xdg-desktop-portal-kde >/dev/null 2>&1; then
dbus-update-activation-environment --systemd XDG_MENU_PREFIX=plasma- >/dev/null 2>&1 || true
systemctl --user set-environment XDG_MENU_PREFIX=plasma-
else
systemctl --user unset-environment XDG_MENU_PREFIX >/dev/null 2>&1 || true
fi
+4 -4
View File
@@ -1,5 +1,5 @@
[preferred]
default=hyprland;kde;
org.freedesktop.impl.portal.OpenURI=kde;
org.freedesktop.impl.portal.FileChooser=kde;
org.freedesktop.impl.portal.Settings=kde;
default=hyprland;gtk;kde;
org.freedesktop.impl.portal.OpenURI=gtk;kde;
org.freedesktop.impl.portal.FileChooser=gtk;kde;
org.freedesktop.impl.portal.Settings=gtk;kde;
+30
View File
@@ -0,0 +1,30 @@
# Hyprland Dotfiles (portable portal setup)
Diese Konfiguration ist für den Einsatz via `stow` auf unterschiedlichen Systemen vorbereitet.
## Portal-Backends
Die Portal-Priorität steht in `.config/xdg-desktop-portal/portals.conf` auf:
- `hyprland` für Hyprland-spezifische Portale
- `gtk` als primärer, host-unabhängiger Backend für OpenURI/FileChooser/Settings
- `kde` als Fallback
Damit funktioniert der Dateizuordnungs-Dialog auch ohne komplette GNOME- oder KDE-Session.
## Host-Override
`.config/hypr/scripts/portal-host-override.sh` setzt `XDG_MENU_PREFIX=plasma-` nur dann,
wenn KDE-Portal + Plasma-Menüdatei vorhanden sind. Ohne diese Voraussetzungen wird nichts erzwungen.
## Pakete auf Zielsystemen
Empfohlen (mindestens):
- `xdg-desktop-portal`
- `xdg-desktop-portal-hyprland`
- `xdg-desktop-portal-gtk`
Optional (Fallback):
- `xdg-desktop-portal-kde`