From d7e94eab906da5e6a0c72da0d277af3f2e6ff706 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 5 Nov 2025 14:27:15 +0900 Subject: [PATCH 01/14] fix: UI not starting if changelog was missing --- CHANGELOG.md | 4 ++++ dzgui.sh | 6 +++--- helpers/funcs | 2 +- helpers/ui.py | 34 +++++++++++++++++++--------------- 4 files changed, 27 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2457574..fcabc10 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [6.0.1-beta.1] 2025-11-05 +## Fixed +- UI not being constructed correctly if CHANGELOG.md was missing + ## [6.0.0-beta.8] 2025-11-04 ## Added - Internal flag to allow distribution packaged releases to disable in-app updates diff --git a/dzgui.sh b/dzgui.sh index 9aefe29..f1af5bd 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -o pipefail -version=6.0.0.beta-8 +version=6.0.1.beta-1 #CONSTANTS aid=221100 @@ -615,10 +615,10 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["funcs"]="6ae3ead7034dc8e7543472bddee75c63" + ["funcs"]="2bac12c1bff5d6ad50161f174d57d029" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="ed442c3aecf33f777d59dcf53650d263" - ["ui.py"]="8d05bbd7b8e15a97fae568e9a3dbf4d6" + ["ui.py"]="8a35ac263db8b812f30e04902c4e9603" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ["pefile.py"]="21531f2c0d9dfa5f110cf6779f9d22c0" ) diff --git a/helpers/funcs b/helpers/funcs index 52c5409..2ac286c 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -o pipefail -version="6.0.0-beta.8" +version="6.0.1-beta.1" #CONSTANTS aid=221100 diff --git a/helpers/ui.py b/helpers/ui.py index 9a53f5e..81176ee 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -18,6 +18,7 @@ from enum import Enum from collections.abc import Callable from concurrent.futures import wait from concurrent.futures import ThreadPoolExecutor +from pathlib import Path from typing import Literal, Self, Any import servers as Servers # noqa E402 @@ -1016,7 +1017,7 @@ def process_tree_option(choice: RowType) -> None: return if command == RowType.CHANGELOG: - App.grid.notebook.set_page_by_enum(NotebookPage.CHANGELOG) + App.grid.notebook.open_changelog() return if command == RowType.QUICK_CONNECT: @@ -4325,22 +4326,20 @@ class KeybindingsDialog(Gtk.Box): class Changelog(Gtk.Box): def __init__(self): super().__init__() + + self.changelog_label = Gtk.Label() + self.add(self.changelog_label) + + def open_changelog(self, path: Path) -> None: try: - with open(changelog_path, "r") as f: - changelog = f.read() - changelog_label = Gtk.Label() - changelog = self.format_pango(changelog) - changelog_label.set_markup(changelog) - self.add(changelog_label) - except FileNotFoundError: - msg = f"Failed to find CHANGELOG.md at {changelog_path}" - logger.critical(msg) - spawn_dialog(msg, Popup.WARN) - return + changelog = path.read_text() except OSError as e: - spawn_dialog(f"Something went wrong: {e}", Popup.WARN) + spawn_dialog(f"Something went wrong: {e}", Popup.NOTIFY) logger.critical(e) - return + return Exception + formatted = self.format_pango(changelog) + self.changelog_label.set_markup(formatted) + App.grid.notebook.set_page_by_enum(NotebookPage.CHANGELOG) def format_pango(self, text: str) -> str: medium = '' @@ -4357,7 +4356,8 @@ class Notebook(Gtk.Notebook): def __init__(self): super().__init__(show_tabs=False, show_border=False) - self.clog = ScrollableNote(Changelog()) + self.changelog = Changelog() + self.clog = ScrollableNote(self.changelog) self.clog.type = RowType.CHANGELOG self.clog.show_all() self.append_page(self.clog) @@ -4376,6 +4376,10 @@ class Notebook(Gtk.Notebook): self.connect("switch-page", self._on_page_changed) self.connect("key-press-event", self._on_keypress) + def open_changelog(self) -> None: + path = Path(changelog_path) + self.changelog.open_changelog(path) + def _set_adjustment(self, adjustment: VAdjustment) -> None: INCREMENT = 50 page = self.get_page() From a4ce65fe570320aff81ad9575860d66c700541e8 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 6 Nov 2025 14:30:16 +0900 Subject: [PATCH 02/14] feat: use reference branch for beta releases --- dzgui.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dzgui.sh b/dzgui.sh index f1af5bd..91c6ef6 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -2,6 +2,7 @@ set -o pipefail version=6.0.1.beta-1 +reference_branch="prerelease/6.0.1-beta.1" #CONSTANTS aid=221100 @@ -639,6 +640,10 @@ fetch_helpers_by_sum(){ realbranch="dzgui" fi + if [[ -n $reference_branch ]]; then + realbranch="$reference_branch" + fi + for i in "${!sums[@]}"; do file="$i" sum="${sums[$i]}" From a8ae07931d7204a0f4dc8e14b80ed42e0a45c0a5 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 6 Nov 2025 14:45:04 +0900 Subject: [PATCH 03/14] feat: disable version check on beta branch --- dzgui.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/dzgui.sh b/dzgui.sh index 91c6ef6..3be6282 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -318,6 +318,7 @@ check_unmerged(){ fi } check_version(){ + [[ -n $reference_branch ]] && return local version_url=$(format_version_url) local upstream=$(curl -Ls "$version_url" | awk -F= '/^version=/ {print $2}') local res=$(get_response_code "$version_url") From 90d59cec97872b258bea87ddea1a4aa2e269fbd3 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 6 Nov 2025 14:52:35 +0900 Subject: [PATCH 04/14] chore: drop legacy src_path logic --- dzgui.sh | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 3be6282..3013e38 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1,6 +1,8 @@ #!/usr/bin/env bash set -o pipefail +src_path=$(realpath "$0") + version=6.0.1.beta-1 reference_branch="prerelease/6.0.1-beta.1" @@ -219,9 +221,6 @@ default_steam_path="$default_steam_path" #Preferred Steam launch command (for Flatpak support) preferred_client="$preferred_client" - -#DZGUI source path -src_path="$src_path" END } depcheck(){ @@ -985,10 +984,6 @@ varcheck(){ create_config return 0 fi - if [[ $src_path != $(realpath "$0") ]]; then - src_path=$(realpath "$0") - update_config - fi } is_dzg_downloading(){ if [[ -d $steam_path ]] && [[ -d $steam_path/downloading/$aid ]]; then From a418bcfb90be2847487e3ebb318e940783e52ec2 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Mon, 10 Nov 2025 11:42:26 +0900 Subject: [PATCH 05/14] fix: return from finally block --- CHANGELOG.md | 4 ++++ dzgui.sh | 6 +++--- helpers/funcs | 2 +- helpers/ui.py | 3 +-- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fcabc10..abfc742 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [6.0.1-beta.2] 2025-11-10 +## Fixed +- Python 3.14 error in finally block + ## [6.0.1-beta.1] 2025-11-05 ## Fixed - UI not being constructed correctly if CHANGELOG.md was missing diff --git a/dzgui.sh b/dzgui.sh index 3013e38..206d87a 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -3,7 +3,7 @@ set -o pipefail src_path=$(realpath "$0") -version=6.0.1.beta-1 +version=6.0.1.beta-2 reference_branch="prerelease/6.0.1-beta.1" #CONSTANTS @@ -616,10 +616,10 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["funcs"]="2bac12c1bff5d6ad50161f174d57d029" + ["funcs"]="5d7d92b7b8a9c788b133ce5271a76553" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="ed442c3aecf33f777d59dcf53650d263" - ["ui.py"]="8a35ac263db8b812f30e04902c4e9603" + ["ui.py"]="2476397883a4272eaf940403ba5a6575" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ["pefile.py"]="21531f2c0d9dfa5f110cf6779f9d22c0" ) diff --git a/helpers/funcs b/helpers/funcs index 2ac286c..631a76f 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -o pipefail -version="6.0.1-beta.1" +version="6.0.1-beta.2" #CONSTANTS aid=221100 diff --git a/helpers/ui.py b/helpers/ui.py index 81176ee..65438fc 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -824,8 +824,7 @@ def query_history() -> list | None: rows = [row.rstrip("\n") for row in f] except OSError: rows = None - finally: - return rows + return rows def query_favorites() -> None | list: From 5bce8709af4adba70dde6a9ad50ed052afa21180 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Mon, 10 Nov 2025 12:07:35 +0900 Subject: [PATCH 06/14] chore: enforce stricter python version --- CHANGELOG.md | 1 + dzgui.sh | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index abfc742..87312f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## [6.0.1-beta.2] 2025-11-10 ## Fixed - Python 3.14 error in finally block +- Require Python version between 3.11 and 3.12 ## [6.0.1-beta.1] 2025-11-05 ## Fixed diff --git a/dzgui.sh b/dzgui.sh index 206d87a..e6cd70e 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -239,8 +239,8 @@ depcheck(){ check_pyver(){ local pyver=$(python3 --version | awk '{print $2}') local minor=$(<<< $pyver awk -F. '{print $2}') - if [[ -z $pyver ]] || [[ ${pyver:0:1} -lt 3 ]] || [[ $minor -lt 10 ]]; then - local msg="Requires Python >=3.10" + if [[ -z $pyver ]] || [[ ${pyver:0:1} -lt 3 ]] || [[ $minor -lt 11 ]] || [[ $minor -gt 12 ]]; then + local msg="Requires Python 3.11 or 3.12" raise_error_and_quit "$msg" fi logger INFO "Found Python version: $pyver" From 75f8c841dfb79d9e61c6a3a298ceec89aba9fce0 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 13 Nov 2025 12:50:27 +0900 Subject: [PATCH 07/14] feat: support sandboxed flatpak --- CHANGELOG.md | 10 ++++++++++ dzgui.sh | 22 ++++++---------------- helpers/funcs | 20 ++++++-------------- helpers/ui.py | 39 +++++++++++++++++++++++++++------------ 4 files changed, 49 insertions(+), 42 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 87312f5..d6fbed4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Changelog +## [6.0.1-beta.3] 2025-11-13 +## Added +- Support sandboxed flatpak + +## Changed +- Preferred client from radio toggle to combobox + +## Fixed +- Config file erroneously getting updated when populating settings menu + ## [6.0.1-beta.2] 2025-11-10 ## Fixed - Python 3.14 error in finally block diff --git a/dzgui.sh b/dzgui.sh index e6cd70e..1c5b633 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -3,7 +3,7 @@ set -o pipefail src_path=$(realpath "$0") -version=6.0.1.beta-2 +version=6.0.1.beta-3 reference_branch="prerelease/6.0.1-beta.1" #CONSTANTS @@ -468,18 +468,7 @@ steam_deps(){ local msg="Found neither Steam nor Flatpak Steam" raise_error_and_quit "$msg" exit 1 - elif [[ -n "$steam" ]] && [[ -n "$flatpak" ]]; then - [[ -n $preferred_client ]] && return 0 - if [[ -z $preferred_client ]]; then - preferred_client="steam" - fi - elif [[ -n "$steam" ]]; then - preferred_client="steam" - else - preferred_client="flatpak" fi - update_config - logger INFO "Preferred client set to '$preferred_client'" } migrate_files(){ if [[ ! -f $config_path/dztuirc.oldapi ]]; then @@ -616,10 +605,10 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["funcs"]="5d7d92b7b8a9c788b133ce5271a76553" + ["funcs"]="c6e5d68e084be16aa58358fa51ec4586" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="ed442c3aecf33f777d59dcf53650d263" - ["ui.py"]="2476397883a4272eaf940403ba5a6575" + ["ui.py"]="2276386252bd571b3505cbbc74359732" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ["pefile.py"]="21531f2c0d9dfa5f110cf6779f9d22c0" ) @@ -900,6 +889,7 @@ create_config(){ unset default_steam_path unset steam_path + preferred_client="steam" while true; do local player_input="$($steamsafe_zenity \ --forms \ @@ -1061,13 +1051,13 @@ initial_setup(){ watcher_deps check_architecture test_connection - fetch_helpers > >(pdialog "Checking helper files") +# fetch_helpers > >(pdialog "Checking helper files") varcheck source "$config_file" lock legacy_vars legacy_cols - check_version +# check_version check_map_count steam_deps migrate_files diff --git a/helpers/funcs b/helpers/funcs index 631a76f..0e6813c 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -o pipefail -version="6.0.1-beta.2" +version="6.0.1-beta.3" #CONSTANTS aid=221100 @@ -87,17 +87,14 @@ steam_api_url="https://steamcommunity.com/dev/apikey" battlemetrics_api_url="https://www.battlemetrics.com/developers" bm_api="https://api.battlemetrics.com/servers" -if [[ $preferred_client == "steam" ]]; then - steam_cmd="steam" -else - steam_cmd="flatpak run com.valvesoftware.Steam" -fi +steam_cmd="$preferred_client" declare -A funcs=( ["Highlight stale"]="find_stale_mods" ["Change player name"]="update_config_val" ["Change Steam API key"]="update_config_val" ["Change Battlemetrics API key"]="update_config_val" +["Change client"]="update_config_val" ["Change favorite server"]="add_record" ["Add server by IP"]="add_record" ["Add server by ID"]="add_record" @@ -701,13 +698,6 @@ toggle(){ debug="" fi ;; - Toggle[[:space:]]Steam/Flatpak) - if [[ $preferred_client == "steam" ]]; then - preferred_client="flatpak" - else - preferred_client="steam" - fi - ;; Toggle[[:space:]]DZGUI[[:space:]]fullscreen[[:space:]]boot) if [[ $fullscreen == "true" ]]; then fullscreen="false" @@ -806,6 +796,9 @@ update_config_val(){ local context="$1" local value="$2" case $1 in + "Change client") + key="preferred_client" + ;; "Change player name") key="name" if [[ -z "${value// }" ]]; then @@ -831,7 +824,6 @@ update_config_val(){ declare -n nr=$key nr="$value" update_config - echo "Updated the key '$key' to '$value'" return 80 } show_log(){ diff --git a/helpers/ui.py b/helpers/ui.py index 65438fc..2b88f3e 100644 --- a/helpers/ui.py +++ b/helpers/ui.py @@ -3801,12 +3801,22 @@ class Options(Gtk.Box): "Always fullscreen", Preferences.WINDOW, ) - self.steam_toggle = self.make_binary_radio( - "Steam", "Flatpak (experimental)", Preferences.CLIENT - ) + + # TODO: gray out options if not available on system + client_store = Gtk.ListStore(str, str) + client_store.append(["steam", "steam"]) + client_store.append(["flatpak", "flatpak run com.valvesoftware.Steam"]) + client_store.append(["flatpak (container)", "flatpak-spawn --host flatpak run com.valvesoftware.Steam"]) + + renderer_text = Gtk.CellRendererText(ellipsize=Pango.EllipsizeMode.END) + self.client_combo = Gtk.ComboBox.new_with_model(client_store) + self.client_combo.set_halign(Gtk.Align.START) + self.client_combo.pack_start(renderer_text, True) + self.client_combo.connect("changed", self._on_client_changed) + self.client_combo.add_attribute(renderer_text, "text", 0) pref_rows = [ - [LeftLabel("Steam client"), self.steam_toggle], + [LeftLabel("Steam client"), self.client_combo], [LeftLabel("Window size at boot"), self.fullscreen_toggle], [LeftLabel("Player name"), self.player_box], ] @@ -3991,6 +4001,15 @@ class Options(Gtk.Box): show_wait_dialog = True call_on_thread(show_wait_dialog, cmd, wait_msg, "") + def _on_client_changed(self, combo: Gtk.ComboBox) -> None: + # prevent triggering on initial init + if App.treeview.subpage is not RowType.OPTIONS: + return + ind = combo.get_active() + mod = combo.get_model() + client = mod[ind][1] + call_bash_func("Change client", client) + def _on_branch_changed(self, combo: Gtk.ComboBoxText) -> None: # prevent triggering on initial init if App.treeview.subpage is not RowType.OPTIONS: @@ -4000,11 +4019,9 @@ class Options(Gtk.Box): def _on_radio_toggled( self, button: Gtk.RadioButton, context: Preferences ) -> None: - if App.treeview.subpage is None: + if App.treeview.subpage is not RowType.OPTIONS: return match context: - case Preferences.CLIENT: - toggle = RowType.TGL_STEAM case Preferences.INSTALL: toggle = RowType.TGL_INSTALL state = button.get_group()[0].get_active() @@ -4126,11 +4143,9 @@ class Options(Gtk.Box): radio = 0 self.mod_install_toggle.get_children()[radio].set_active(True) - if client == "flatpak": - radio = 1 - else: - radio = 0 - self.steam_toggle.get_children()[radio].set_active(True) + for ind, row in enumerate(self.client_combo.get_model()): + if row[1] == client: + self.client_combo.set_active(ind) if fullscreen == "true": radio = 1 From dabf5d4ef058bd65773874834e96877ed7c92b10 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 13 Nov 2025 12:53:41 +0900 Subject: [PATCH 08/14] fix: uncomment lines --- dzgui.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dzgui.sh b/dzgui.sh index 1c5b633..52f9a8c 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1051,13 +1051,13 @@ initial_setup(){ watcher_deps check_architecture test_connection -# fetch_helpers > >(pdialog "Checking helper files") + fetch_helpers > >(pdialog "Checking helper files") varcheck source "$config_file" lock legacy_vars legacy_cols -# check_version + check_version check_map_count steam_deps migrate_files From 1dba57af4b902e8f565b9ca52035a4e5afd5fc17 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 13 Nov 2025 12:53:59 +0900 Subject: [PATCH 09/14] chore: update reference branch --- dzgui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index 52f9a8c..3087af8 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -4,7 +4,7 @@ set -o pipefail src_path=$(realpath "$0") version=6.0.1.beta-3 -reference_branch="prerelease/6.0.1-beta.1" +reference_branch="prerelease/6.0.1-beta.3" #CONSTANTS aid=221100 From 71651bab6c951ba5d7769bd80303bb8e76fdfb3c Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 13 Nov 2025 12:54:31 +0900 Subject: [PATCH 10/14] chore: update reference branch --- dzgui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index 3087af8..52f9a8c 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -4,7 +4,7 @@ set -o pipefail src_path=$(realpath "$0") version=6.0.1.beta-3 -reference_branch="prerelease/6.0.1-beta.3" +reference_branch="prerelease/6.0.1-beta.1" #CONSTANTS aid=221100 From 376c5294d90c4e0c9edeb978c69b98a3d56e57ee Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 14 Nov 2025 13:16:14 +0900 Subject: [PATCH 11/14] chore: require python 3.13 --- CHANGELOG.md | 4 ++++ dzgui.sh | 19 ++++++++----------- helpers/funcs | 2 +- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d6fbed4..61597e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [6.0.1-beta.4] 2025-11-14 +## Changed +- Require Python 3.13 + ## [6.0.1-beta.3] 2025-11-13 ## Added - Support sandboxed flatpak diff --git a/dzgui.sh b/dzgui.sh index 52f9a8c..4ef795f 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -3,7 +3,7 @@ set -o pipefail src_path=$(realpath "$0") -version=6.0.1.beta-3 +version=6.0.1.beta-4 reference_branch="prerelease/6.0.1-beta.1" #CONSTANTS @@ -139,7 +139,7 @@ print_config_vals(){ } test_gobject(){ - python3 -c "import gi" + python3.13 -c "import gi" if [[ ! $? -eq 0 ]]; then logger CRITICAL "Missing PyGObject" fdialog "Requires PyGObject (python-gobject)" @@ -237,13 +237,10 @@ depcheck(){ logger INFO "Initial dependencies satisfied" } check_pyver(){ - local pyver=$(python3 --version | awk '{print $2}') - local minor=$(<<< $pyver awk -F. '{print $2}') - if [[ -z $pyver ]] || [[ ${pyver:0:1} -lt 3 ]] || [[ $minor -lt 11 ]] || [[ $minor -gt 12 ]]; then - local msg="Requires Python 3.11 or 3.12" + if [[ ! $(command -v python3.13) ]]; then + local msg="Requires Python 3.12" raise_error_and_quit "$msg" fi - logger INFO "Found Python version: $pyver" } watcher_deps(){ if [[ ! $(command -v wmctrl) ]] && [[ ! $(command -v xdotool) ]]; then @@ -605,7 +602,7 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["funcs"]="c6e5d68e084be16aa58358fa51ec4586" + ["funcs"]="39fa4c302a508f63dcfe5ca3cff9bc01" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="ed442c3aecf33f777d59dcf53650d263" ["ui.py"]="2276386252bd571b3505cbbc74359732" @@ -875,7 +872,7 @@ file_picker(){ } find_library_folder(){ local search_path="$1" - steam_path="$(python3 "$helpers_path/vdf2json.py" -i "$1/steamapps/libraryfolders.vdf" \ + steam_path="$(python3.13 "$helpers_path/vdf2json.py" -i "$1/steamapps/libraryfolders.vdf" \ | jq -r '.libraryfolders[]|select(.apps|has("221100")).path')" if [[ ! $? -eq 0 ]] || [[ -z $steam_path ]]; then logger WARN "Failed to parse Steam path using '$search_path'" @@ -1046,7 +1043,7 @@ initial_setup(){ setup_dirs setup_state_files depcheck - check_pyver +# check_pyver test_gobject watcher_deps check_architecture @@ -1173,7 +1170,7 @@ main(){ initial_setup printf "All OK. Kicking off UI...\n" - python3 "$ui_helper" "--init-ui" "$version" "$is_steam_deck" + python3.13 "$ui_helper" "--init-ui" "$version" "$is_steam_deck" } diff --git a/helpers/funcs b/helpers/funcs index 0e6813c..d810635 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -o pipefail -version="6.0.1-beta.3" +version="6.0.1-beta.4" #CONSTANTS aid=221100 From d866b4992b62bd97241a139ab41b1b7798f32019 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 14 Nov 2025 13:41:47 +0900 Subject: [PATCH 12/14] fix: update error message string --- dzgui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index 4ef795f..ea3d509 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -238,7 +238,7 @@ depcheck(){ } check_pyver(){ if [[ ! $(command -v python3.13) ]]; then - local msg="Requires Python 3.12" + local msg="Requires Python 3.13" raise_error_and_quit "$msg" fi } From 4a820e3083b59e49a52938ed71cdb32888acc035 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 15 Nov 2025 20:24:01 +0900 Subject: [PATCH 13/14] chore: uncomment line --- dzgui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index ea3d509..50b97d1 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -1043,7 +1043,7 @@ initial_setup(){ setup_dirs setup_state_files depcheck -# check_pyver + check_pyver test_gobject watcher_deps check_architecture From e28929bb70fb5ef5d2408f59b44e771e67603151 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sat, 22 Nov 2025 00:47:36 +0900 Subject: [PATCH 14/14] chore: remove reference branch --- dzgui.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/dzgui.sh b/dzgui.sh index 50b97d1..5ef22ef 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -4,7 +4,6 @@ set -o pipefail src_path=$(realpath "$0") version=6.0.1.beta-4 -reference_branch="prerelease/6.0.1-beta.1" #CONSTANTS aid=221100