mirror of
https://github.com/theupriser/steamify-cachyos.git
synced 2026-10-15 21:15:24 +02:00
Install qt6-svg with PySide6: without Qt's SVG plugin the app's logo doesn't show
This commit is contained in:
1 parent
0c46b209b9
commit
7b751ab726
4 files changed
+11
-4
No files matched your search
@@ -10,6 +10,7 @@ one per merged pull request.
|
|||||||
- **feat: GNOME support (the "SteamOS theme for GNOME" option, GDM session switching, the GNOME launcher/notifier/tray behaviour): the Vapor colors, the Steam Deck wallpaper, Ubuntu Dock, Tiling Assistant, Desktop Icons NG, AppIndicator and Steamify's own Vapor shell extension, with Switch to Desktop remembering KDE or GNOME. Prototype work since 2.12.0: `5dfc916`, `fc28ea4`, `ae12c1b`, `2b84e6a`, `c5b59d9`, `62a30e6`, `039f269`, `12eb562`, `c7f5f51`, `7904833`, `ce1aa1b`, `ab3b581`, `eaa3f28`, `4221ae6`, `8432f63`, `09ef0b1`, `68342e7`, `0e0bf57`, `7a84b0d`, `dbaeaa1`**
|
- **feat: GNOME support (the "SteamOS theme for GNOME" option, GDM session switching, the GNOME launcher/notifier/tray behaviour): the Vapor colors, the Steam Deck wallpaper, Ubuntu Dock, Tiling Assistant, Desktop Icons NG, AppIndicator and Steamify's own Vapor shell extension, with Switch to Desktop remembering KDE or GNOME. Prototype work since 2.12.0: `5dfc916`, `fc28ea4`, `ae12c1b`, `2b84e6a`, `c5b59d9`, `62a30e6`, `039f269`, `12eb562`, `c7f5f51`, `7904833`, `ce1aa1b`, `ab3b581`, `eaa3f28`, `4221ae6`, `8432f63`, `09ef0b1`, `68342e7`, `0e0bf57`, `7a84b0d`, `dbaeaa1`**
|
||||||
- `2ca288d` **fix: the NVIDIA gaming mode setup no longer fails with "the patched gamescope doesn't start" on a gamescope that works: the smoke test judged gamescope's exit status through a pipe into `grep -q` under `pipefail`, so gamescope's crash on the closed pipe (or a hung shutdown) counted as a failed test, intermittently, for the CPU-specific and the generic build alike (seen on an RTX 5080). The test now reads gamescope's output from a file and kills a hung shutdown (`timeout -k`)**
|
- `2ca288d` **fix: the NVIDIA gaming mode setup no longer fails with "the patched gamescope doesn't start" on a gamescope that works: the smoke test judged gamescope's exit status through a pipe into `grep -q` under `pipefail`, so gamescope's crash on the closed pipe (or a hung shutdown) counted as a failed test, intermittently, for the CPU-specific and the generic build alike (seen on an RTX 5080). The test now reads gamescope's output from a file and kills a hung shutdown (`timeout -k`)**
|
||||||
- `645b331` **feat: the GNOME theme installs GNOME Settings with the "GNOME Desktop" panel (dock, desktop icons, tiling) as a prebuilt package, downloaded from the `settings` release of steamify-gnome-theme (built by GitHub Actions on current Arch, rebuilt weekly) and checked against its `.sha256`; a failure keeps the stock Settings. Turning the theme off puts the stock `gnome-control-center` back. Installs with the GNOME theme on re-apply it (feature version 2.13.0)**
|
- `645b331` **feat: the GNOME theme installs GNOME Settings with the "GNOME Desktop" panel (dock, desktop icons, tiling) as a prebuilt package, downloaded from the `settings` release of steamify-gnome-theme (built by GitHub Actions on current Arch, rebuilt weekly) and checked against its `.sha256`; a failure keeps the stock Settings. Turning the theme off puts the stock `gnome-control-center` back. Installs with the GNOME theme on re-apply it (feature version 2.13.0)**
|
||||||
|
- **fix: the app's logo (an SVG) shows on a fresh install: `pyside6` doesn't depend on `qt6-svg`, Qt's SVG plugin, so without it the header logo was empty and the window had no icon of its own; it is installed with PySide6 (the app's installer, the launcher, the update notifier)**
|
||||||
|
|
||||||
## 2.12.0 - 2026-10-13
|
## 2.12.0 - 2026-10-13
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,8 @@ notify_enable() {
|
|||||||
info "Adding update notifications..."
|
info "Adding update notifications..."
|
||||||
# PySide6 for the tray icon, notify-send for the notification's buttons.
|
# PySide6 for the tray icon, notify-send for the notification's buttons.
|
||||||
python3 -c 'import PySide6.QtWidgets' 2>/dev/null || missing+=(pyside6)
|
python3 -c 'import PySide6.QtWidgets' 2>/dev/null || missing+=(pyside6)
|
||||||
|
# (Its icons are SVGs, and Qt needs its SVG plugin for those.)
|
||||||
|
pacman -Q qt6-svg >/dev/null 2>&1 || missing+=(qt6-svg)
|
||||||
command -v notify-send >/dev/null || missing+=(libnotify)
|
command -v notify-send >/dev/null || missing+=(libnotify)
|
||||||
if ((${#missing[@]})); then
|
if ((${#missing[@]})); then
|
||||||
sudo pacman -S --needed --noconfirm "${missing[@]}" ||
|
sudo pacman -S --needed --noconfirm "${missing[@]}" ||
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ EOF
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Installed by Steamify CachyOS: start the newest release of its app.
|
# Installed by Steamify CachyOS: start the newest release of its app.
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
if [[ "\${1:-}" != --in-terminal ]] && ! python3 -c 'import PySide6.QtQml' 2>/dev/null; then
|
if [[ "\${1:-}" != --in-terminal ]] && { ! python3 -c 'import PySide6.QtQml' 2>/dev/null || ! pacman -Q qt6-svg >/dev/null 2>&1; }; then
|
||||||
exec $terminal "\$0" --in-terminal
|
exec $terminal "\$0" --in-terminal
|
||||||
fi
|
fi
|
||||||
if ! curl -fsSL --max-time 30 "$WIZARD_APP_URL" | bash; then
|
if ! curl -fsSL --max-time 30 "$WIZARD_APP_URL" | bash; then
|
||||||
|
|||||||
+7
-3
@@ -47,10 +47,14 @@ rm -rf "$DEST.new"; mv "$tmp/app" "$DEST.new"
|
|||||||
rm -rf "$DEST"; mv "$DEST.new" "$DEST"
|
rm -rf "$DEST"; mv "$DEST.new" "$DEST"
|
||||||
say "Installed to $DEST ($(grep -m1 -oP '^VERSION=\K.*' "$DEST/steamify.sh"))."
|
say "Installed to $DEST ($(grep -m1 -oP '^VERSION=\K.*' "$DEST/steamify.sh"))."
|
||||||
|
|
||||||
if ! python3 -c 'import PySide6.QtQml' 2>/dev/null; then
|
missing=()
|
||||||
say "The app needs PySide6 (Qt for Python); installing it..."
|
python3 -c 'import PySide6.QtQml' 2>/dev/null || missing+=(pyside6)
|
||||||
|
# The app's logo is an SVG: Qt needs its SVG plugin for it, and pyside6 doesn't pull it in.
|
||||||
|
pacman -Q qt6-svg >/dev/null 2>&1 || missing+=(qt6-svg)
|
||||||
|
if ((${#missing[@]})); then
|
||||||
|
say "The app needs ${missing[*]} (Qt for Python and its SVG support); installing..."
|
||||||
# Piped in via curl, stdin isn't the terminal: sudo asks on it anyway.
|
# Piped in via curl, stdin isn't the terminal: sudo asks on it anyway.
|
||||||
sudo pacman -S --needed --noconfirm pyside6 </dev/tty || die "Installing pyside6 failed."
|
sudo pacman -S --needed --noconfirm "${missing[@]}" </dev/tty || die "Installing ${missing[*]} failed."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Launcher entry (its id also names the app to the desktop portal). The
|
# Launcher entry (its id also names the app to the desktop portal). The
|
||||||
|
|||||||
Reference in new issue
Block a user