PeaZip: Qt6 everywhere except GNOME/XFCE (GTK3 build is upstream alpha)

YuKu tested gtk3 on niri: broken UI until a manual swap to qt6 fixed
it. Upstream's own changelog: the GTK3 package is 'for test purpose
only' (Lazarus GTK3 widgetset is alpha) and Qt6 supersedes Qt5.

New mapping: gtk3 ONLY for genuine GTK stacks (gnome, xfce); qt6 for
everything else - plasma, hyprland, niri, mangowc, chadwm (Qt6 handles
Wayland and X11 cleanly).

Harness: full DE/TWM matrix passes (7/7); existing qt5 on niri now
swaps to qt6 (not gtk3); a machine already on qt6 (YuKu's laptop
after the manual swap) is a clean no-op.
This commit is contained in:
Pathfinder
2026-11-11 16:14:53 +01:00
parent ee10829452
commit 88bd9d6a20
+10 -4
View File
@@ -647,11 +647,17 @@ info "Tailoring toolkits for DE=$DE / TWM=$TWM..."
# right flavor -> nothing to do # right flavor -> nothing to do
# OTHER flavor -> dnf SWAP to the wanted one (atomic: on failure the # OTHER flavor -> dnf SWAP to the wanted one (atomic: on failure the
# existing flavor stays, which is the safe outcome) # existing flavor stays, which is the safe outcome)
if [[ "$DE" == "plasma" || "$TWM" == "hyprland" ]]; then #
peazip_wanted="peazip-qt6" # Flavor choice: PeaZip's GTK3 build is ALPHA (Lazarus GTK3 widgetset) —
else # upstream ships it "for test purpose only", and it renders broken on
# XFCE, GNOME, Niri, MangoWC, chadwm: lightweight/generic toolkits # non-GTK Wayland compositors (YuKu-proven on niri: broken UI until a
# manual swap to qt6). GTK3 therefore only for genuine GTK stacks
# (GNOME, XFCE); Qt6 everywhere else — including niri/MangoWC/Hyprland
# and chadwm (Qt6 handles both Wayland and X11 cleanly).
if [[ "$DE" == "gnome" || "$DE" == "xfce" ]]; then
peazip_wanted="peazip-gtk3" peazip_wanted="peazip-gtk3"
else
peazip_wanted="peazip-qt6"
fi fi
peazip_existing="" peazip_existing=""
local_v="" local_v=""