From c2cfe2b4d92bf572f6bc2d10fee0ccdddeb25031 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 23 Oct 2026 11:34:52 +0900 Subject: [PATCH 1/3] fix: handle missing shortcut file --- dzgui/api/shortcuts.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/dzgui/api/shortcuts.py b/dzgui/api/shortcuts.py index 594d1a1..5d76d00 100644 --- a/dzgui/api/shortcuts.py +++ b/dzgui/api/shortcuts.py @@ -10,8 +10,8 @@ from pathlib import Path from typing import Any from dzgui.api.steam import find_user_id_32 -from dzgui.const.constants import APP_NAME, APP_NAME_LOWER, IMAGES_PATH -from dzgui.util.dirs import copy_dzgui_to_xdg_data +from dzgui.const.constants import APP_NAME, APP_NAME_LOWER, GTK_APP_ID, IMAGES_PATH +from dzgui.util.dirs import copy_dzgui_to_xdg_data, make_parents from dzgui.util.strings import unknown logger = logging.getLogger(APP_NAME) @@ -75,6 +75,8 @@ class Shortcuts: shortcuts = vdf.binary_load(f) self.shortcuts = shortcuts logger.debug("Loaded shortcuts file") + except FileNotFoundError: + self.shortcuts = {"shortcuts": {}} except Exception as e: logger.critical(e) raise e @@ -172,6 +174,9 @@ class Shortcuts: try: backup = self.shortcuts_path.with_suffix(".vdf.bak") shutil.copy(self.shortcuts_path, backup) + except Exception as e: + logger.critical(e) + try: with open(self.shortcuts_path, "wb") as f: vdf.binary_dump(self.shortcuts, f) except Exception as e: From 019847dcf96039fb14b0859fedd3d8aa0bec928b Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 23 Oct 2026 11:35:13 +0900 Subject: [PATCH 2/3] fix: handle missing grid directory --- dzgui/api/shortcuts.py | 1 + 1 file changed, 1 insertion(+) diff --git a/dzgui/api/shortcuts.py b/dzgui/api/shortcuts.py index 5d76d00..1a4c4d3 100644 --- a/dzgui/api/shortcuts.py +++ b/dzgui/api/shortcuts.py @@ -111,6 +111,7 @@ class Shortcuts: for img in ("_hero", "p", "_logo"): filename = str(self.bpid) + img dest = grid_path.joinpath(filename).with_suffix(".png") + make_parents(dest) b = images.joinpath(img).with_suffix(".png").read_bytes() dest.write_bytes(b) From 1dcfdda657b6a1e72df5d2da58fd18a0ffce20ae Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 23 Oct 2026 11:36:13 +0900 Subject: [PATCH 3/3] change: allow D-Bus registration when sandboxed --- dzgui/api/shortcuts.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dzgui/api/shortcuts.py b/dzgui/api/shortcuts.py index 1a4c4d3..144bb44 100644 --- a/dzgui/api/shortcuts.py +++ b/dzgui/api/shortcuts.py @@ -158,7 +158,8 @@ class Shortcuts: NEW_ENTRY["DevkitGameID"] = "" NEW_ENTRY["DevkitOverrideAppID"] = 0 NEW_ENTRY["LastPlayTime"] = 0 - NEW_ENTRY["FlatpakAppID"] = "" + NEW_ENTRY["FlatpakAppID"] = GTK_APP_ID + NEW_ENTRY["sortas"] = "" NEW_ENTRY["tags"] = {} return NEW_ENTRY