diff --git a/config/hypr/hyprland.lua b/config/hypr/hyprland.lua index 613d5ca..7c8b7d8 100644 --- a/config/hypr/hyprland.lua +++ b/config/hypr/hyprland.lua @@ -19,7 +19,9 @@ hl.monitor({ -- ── Environment Variables ── hl.env("XCURSOR_SIZE", "24") hl.env("XCURSOR_THEME", "Colloid-cursors") -hl.env("QT_QPA_PLATFORM", "wayland") +-- xcb is the fallback for a Qt app whose wayland plugin is not installed +-- (qt5-wayland for Qt5): with "wayland" alone Qt aborts instead. +hl.env("QT_QPA_PLATFORM", "wayland;xcb") -- qt5ct is a Qt5-only platform theme plugin: Qt6 apps (Quickshell, and so -- Noctalia) never load it and end up on "hicolor" for icons. Noctalia's icon -- theme is therefore pinned separately via QS_ICON_THEME in scripts/stoa-bar.sh, diff --git a/config/niri/config.kdl b/config/niri/config.kdl index 3b210df..715f0a8 100644 --- a/config/niri/config.kdl +++ b/config/niri/config.kdl @@ -50,7 +50,9 @@ input { // niri-session already exports XDG_CURRENT_DESKTOP=niri and // XDG_SESSION_TYPE=wayland, so only the toolkit and theme variables go here. environment { - QT_QPA_PLATFORM "wayland" + // xcb (through xwayland-satellite) is the fallback for a Qt app whose + // wayland plugin is not installed: with "wayland" alone Qt aborts. + QT_QPA_PLATFORM "wayland;xcb" // qt5ct is Qt5-only; Noctalia (Qt6) gets its icon theme from // scripts/stoa-bar.sh — see the same note in hyprland.lua. QT_QPA_PLATFORMTHEME "qt5ct" diff --git a/setup/post-install.sh b/setup/post-install.sh index bad4a8e..c498473 100755 --- a/setup/post-install.sh +++ b/setup/post-install.sh @@ -177,8 +177,10 @@ SHELL_PKGS_QS="noctalia" # Fonts and theme FONT_PKGS="ttf-jetbrains-mono ttf-font-awesome" -# Toolkit unification (Qt = GTK appearance) -THEME_PKGS="qt5ct qt6ct" +# Toolkit unification (Qt = GTK appearance). qt5-wayland/qt6-wayland are +# the Qt platform plugins for a Wayland session; without qt5-wayland a +# Qt5 app (bauh, via PyQt5) aborts on start under QT_QPA_PLATFORM=wayland. +THEME_PKGS="qt5ct qt6ct qt5-wayland qt6-wayland" # Firewall FIREWALL_PKGS="nftables"