From 305e533dc6733c5f512ddd644116d59689c64a77 Mon Sep 17 00:00:00 2001 From: Concedo <39025047+LostRuins@users.noreply.github.com> Date: Sat, 19 Apr 2025 13:04:41 +0800 Subject: [PATCH] i already knew zenity would cause issues --- koboldcpp.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/koboldcpp.py b/koboldcpp.py index 91f0b490c..a95cca466 100644 --- a/koboldcpp.py +++ b/koboldcpp.py @@ -3549,9 +3549,9 @@ def zenity(filetypes=None, initialdir="", initialfile="", **kwargs) -> Tuple[int raise Exception("Zenity disabled, attempting to use TK GUI.") if sys.platform != "linux": raise Exception("Zenity GUI is only usable on Linux, attempting to use TK GUI.") - zenity_bin = shutil.which("zenity") + zenity_bin = shutil.which("yad") if not zenity_bin: - zenity_bin = shutil.which("yad") + zenity_bin = shutil.which("zenity") if not zenity_bin: raise Exception("Zenity not present, falling back to TK GUI.") @@ -4922,10 +4922,15 @@ def show_gui(): def load_config_gui(): #this is used to populate the GUI with a config file, whereas load_config_cli simply overwrites cli args file_type = [("KoboldCpp Settings", "*.kcpps *.kcppt")] - global runmode_untouched + global runmode_untouched, zenity_permitted filename = zentk_askopenfilename(filetypes=file_type, defaultextension=".kcppt", initialdir=None) if not filename or filename=="": return + if not os.path.exists(filename) or os.path.getsize(filename)<4 or os.path.getsize(filename)>50000000: #for sanity, check invaid kcpps + print("The selected config file seems to be invalid.") + if zenity_permitted: + print("You can try using the legacy filepicker instead (in Extra).") + return runmode_untouched = False with open(filename, 'r', encoding='utf-8', errors='ignore') as f: dict = json.load(f)