feat: add portal host override script and update portal configuration
This commit is contained in:
@@ -59,8 +59,9 @@ exec-once = waybar &
|
|||||||
exec-once = wpaperd &
|
exec-once = wpaperd &
|
||||||
exec-once = swaync &
|
exec-once = swaync &
|
||||||
exec-once = hypridle &
|
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 = sh ~/.config/hypr/scripts/portal-host-override.sh
|
||||||
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XDG_SESSION_DESKTOP XDG_SESSION_TYPE XDG_MENU_PREFIX
|
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 gtk-theme "Breeze-Dark" # for GTK3 apps
|
||||||
# exec = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark" # for GTK4 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_CURRENT_DESKTOP,Hyprland
|
||||||
env = XDG_SESSION_DESKTOP,Hyprland
|
env = XDG_SESSION_DESKTOP,Hyprland
|
||||||
env = XDG_SESSION_TYPE,wayland
|
env = XDG_SESSION_TYPE,wayland
|
||||||
env = XDG_MENU_PREFIX,plasma-
|
|
||||||
env = GTK_USE_PORTAL,1
|
env = GTK_USE_PORTAL,1
|
||||||
env = GTK_THEME,Adwaita:dark
|
env = GTK_THEME,Adwaita:dark
|
||||||
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
|
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
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
[preferred]
|
[preferred]
|
||||||
default=hyprland;kde;
|
default=hyprland;gtk;kde;
|
||||||
org.freedesktop.impl.portal.OpenURI=kde;
|
org.freedesktop.impl.portal.OpenURI=gtk;kde;
|
||||||
org.freedesktop.impl.portal.FileChooser=kde;
|
org.freedesktop.impl.portal.FileChooser=gtk;kde;
|
||||||
org.freedesktop.impl.portal.Settings=kde;
|
org.freedesktop.impl.portal.Settings=gtk;kde;
|
||||||
|
|||||||
@@ -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`
|
||||||
Reference in New Issue
Block a user