From ba6c6a83e9cb46a60fe95329fa10aa2e8e6e2eaa Mon Sep 17 00:00:00 2001 From: Nate Marti Date: Mon, 21 Oct 2024 18:43:41 +0100 Subject: [PATCH] fix #171; add placeholder icon --- ou_dedetai.spec | 4 +- ou_dedetai/gui_app.py | 4 +- ou_dedetai/img/icon.png | Bin 0 -> 65544 bytes ou_dedetai/img/icon.svg | 125 ++++++++++++++++++++++++++++++++++++++++ ou_dedetai/installer.py | 35 +++++++---- scripts/build-binary.sh | 2 +- scripts/run_app.py | 4 +- 7 files changed, 157 insertions(+), 17 deletions(-) create mode 100644 ou_dedetai/img/icon.png create mode 100644 ou_dedetai/img/icon.svg diff --git a/ou_dedetai.spec b/ou_dedetai.spec index 7626d5d1..6ac1c253 100644 --- a/ou_dedetai.spec +++ b/ou_dedetai.spec @@ -6,8 +6,8 @@ a = Analysis( pathex=[], #binaries=[('/usr/bin/tclsh8.6', '.')], binaries=[], - datas=[('ou_dedetai/img/*-128-icon.png', 'img')], - hiddenimports=[], + datas=[('ou_dedetai/img/*icon.png', 'img')], + hiddenimports=['ou_dedetai'], hookspath=[], hooksconfig={}, runtime_hooks=[], diff --git a/ou_dedetai/gui_app.py b/ou_dedetai/gui_app.py index 4cd60f71..2757f31a 100644 --- a/ou_dedetai/gui_app.py +++ b/ou_dedetai/gui_app.py @@ -77,7 +77,7 @@ def __init__(self, *args, **kwargs): # Set panel icon. app_dir = Path(__file__).parent - self.icon = app_dir / 'img' / 'logos4-128-icon.png' + self.icon = app_dir / 'img' / 'icon.png' self.pi = PhotoImage(file=f'{self.icon}') self.iconphoto(False, self.pi) @@ -913,7 +913,7 @@ def stop_indeterminate_progress(self, evt=None): def control_panel_app(): utils.set_debug() - classname = "LogosLinuxControlPanel" + classname = config.name_binary root = Root(className=classname) ControlWindow(root, class_=classname) root.mainloop() diff --git a/ou_dedetai/img/icon.png b/ou_dedetai/img/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..01261242e933e1041edf62d8b368d99b0b3fbb63 GIT binary patch literal 65544 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 + + + + Ou Dedetai + + + + + + + + + + + + + + + + + + + + + Ou Dedetai + + + + diff --git a/ou_dedetai/installer.py b/ou_dedetai/installer.py index 857c8e92..11ba5270 100644 --- a/ou_dedetai/installer.py +++ b/ou_dedetai/installer.py @@ -796,6 +796,7 @@ def create_launcher_shortcuts(): flproducti = get_flproducti_name(flproduct) src_dir = Path(__file__).parent logos_icon_src = src_dir / 'img' / f"{flproducti}-128-icon.png" + app_icon_src = src_dir / 'img' / 'icon.png' if installdir is None: reason = "because the installation folder is not defined." @@ -807,23 +808,31 @@ def create_launcher_shortcuts(): return app_dir = Path(installdir) / 'data' logos_icon_path = app_dir / logos_icon_src.name + app_icon_path = app_dir / app_icon_src.name if system.get_runmode() == 'binary': lli_executable = f"{installdir}/{config.name_binary}" else: script = Path(sys.argv[0]).expanduser().resolve() + repo_dir = None + for p in script.parents: + for c in p.iterdir(): + if c.name == '.git': + repo_dir = p + break # Find python in virtual environment. - py_bin = next(script.parent.glob('*/bin/python')) + py_bin = next(repo_dir.glob('*/bin/python')) if not py_bin.is_file(): msg.logos_warning("Could not locate python binary in virtual environment.") # noqa: E501 return - lli_executable = f"{py_bin} {script}" + lli_executable = f"env DIALOG=tk {py_bin} {script}" - if not logos_icon_path.is_file(): - app_dir.mkdir(exist_ok=True) - shutil.copy(logos_icon_src, logos_icon_path) - else: - logging.info(f"Icon found at {logos_icon_path}.") + for (src, path) in [(app_icon_src, app_icon_path), (logos_icon_src, logos_icon_path)]: # noqa: E501 + if not path.is_file(): + app_dir.mkdir(exist_ok=True) + shutil.copy(src, path) + else: + logging.info(f"Icon found at {path}.") # Set launcher file names and content. desktop_files = [ @@ -836,19 +845,23 @@ def create_launcher_shortcuts(): Icon={logos_icon_path} Terminal=false Type=Application +StartupWMClass={flproduct.lower()}.exe Categories=Education; +Keywords={flproduct};Logos;Bible;Control; """ ), ( - f"{flproduct}Bible-ControlPanel.desktop", + f"{config.name_binary}.desktop", f"""[Desktop Entry] -Name={flproduct}Bible Control Panel -Comment=Perform various tasks for {flproduct} app +Name={config.name_app} +Comment=Manages FaithLife Bible Software Exec={lli_executable} -Icon={logos_icon_path} +Icon={app_icon_path} Terminal=false Type=Application +StartupWMClass={config.name_binary} Categories=Education; +Keywords={flproduct};Logos;Bible;Control; """ ), ] diff --git a/scripts/build-binary.sh b/scripts/build-binary.sh index 9efa669d..217cc15f 100755 --- a/scripts/build-binary.sh +++ b/scripts/build-binary.sh @@ -3,7 +3,7 @@ start_dir="$PWD" script_dir="$(dirname "$0")" repo_root="$(dirname "$script_dir")" cd "$repo_root" -if ! which pyinstaller >/dev/null 2>&1; then +if ! which pyinstaller >/dev/null 2>&1 || ! which oudedetai >/dev/null; then # Install build deps. python3 -m pip install .[build] fi diff --git a/scripts/run_app.py b/scripts/run_app.py index e1b8bfab..1247ef89 100755 --- a/scripts/run_app.py +++ b/scripts/run_app.py @@ -6,7 +6,9 @@ """ import re import sys -import ou_dedetai.main +from pathlib import Path +sys.path.insert(0, str(Path(__file__).parents[1])) +import ou_dedetai.main # noqa: E402 if __name__ == '__main__': sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) sys.exit(ou_dedetai.main.main())