diff --git a/assets/favicon.png b/assets/favicon.png new file mode 100644 index 0000000..ae37da1 Binary files /dev/null and b/assets/favicon.png differ diff --git a/classes/app.py b/classes/app.py index 16c34a5..d11f342 100644 --- a/classes/app.py +++ b/classes/app.py @@ -1,5 +1,5 @@ from os import path -from tkinter import NSEW, NW, E, N, S, W, messagebox, ttk +from tkinter import NSEW, NW, E, N, S, W, PhotoImage, messagebox, ttk import requests import sv_ttk @@ -13,7 +13,7 @@ from classes.frames.saves import FrameSaves from classes.frames.settings import FrameSettings from classes.toplevel.welcome import ToplevelWelcome from modules.theme_titlebar import theme_title_bar -from modules.utils import configGet, get_string_mode, use_dark_mode +from modules.utils import configGet, get_string_mode, set_icon, use_dark_mode class App(ThemedTk): @@ -44,8 +44,8 @@ class App(ThemedTk): theme_title_bar(self, mode="dark") self.update() + set_icon(self) - self.iconbitmap(path.join("assets", "favicon.ico")) self.focus_set() self.draw_main() diff --git a/classes/toplevel/welcome.py b/classes/toplevel/welcome.py index 61cf162..8b9f612 100644 --- a/classes/toplevel/welcome.py +++ b/classes/toplevel/welcome.py @@ -8,7 +8,7 @@ from classes.custom.image_label import ImageLabel from classes.custom.themed_toplevel import ThemedToplevel from modules.logger import logger from modules.theme_titlebar import theme_title_bar -from modules.utils import configGet, configSet, use_dark_mode +from modules.utils import configGet, configSet, set_icon, use_dark_mode class ToplevelWelcome(ThemedToplevel): @@ -37,7 +37,8 @@ class ToplevelWelcome(ThemedToplevel): theme_title_bar(self, mode="dark") self.update() - self.iconbitmap(path.join("assets", "favicon.ico")) + set_icon(self) + self.focus_set() self.grid_columnconfigure(0, weight=1) diff --git a/modules/utils.py b/modules/utils.py index 9576082..05c98ce 100644 --- a/modules/utils.py +++ b/modules/utils.py @@ -1,4 +1,7 @@ from json import JSONDecodeError, dumps, loads +from os import path +from os import name as osname +from tkinter import Misc, PhotoImage from typing import Any, Literal import darkdetect @@ -91,4 +94,10 @@ def get_string_mode() -> Literal["dark", "light"]: * `Literal["dark", "light"]` """ - return "dark" if use_dark_mode() is True else "light" \ No newline at end of file + return "dark" if use_dark_mode() is True else "light" + +def set_icon(me: Misc) -> None: + if osname == "nt": + me.iconbitmap(path.join("assets", "favicon.ico")) + else: + me.iconphoto(True, PhotoImage(file=path.join("assets", "favicon.png"))) \ No newline at end of file