From 674bd33aa9bed2b9125fafc2af1fe1f31b774642 Mon Sep 17 00:00:00 2001 From: ashiven Date: Sun, 11 Jan 2026 23:19:42 +0100 Subject: [PATCH 1/2] fix icon for linux distros --- cs2tracker/app/app.py | 6 +++++- cs2tracker/constants.py | 8 ++++---- cs2tracker/data/icon.png | Bin 0 -> 6514 bytes 3 files changed, 9 insertions(+), 5 deletions(-) create mode 100644 cs2tracker/data/icon.png diff --git a/cs2tracker/app/app.py b/cs2tracker/app/app.py index c6a9eaa..c7fd713 100644 --- a/cs2tracker/app/app.py +++ b/cs2tracker/app/app.py @@ -1,7 +1,7 @@ import ctypes import tkinter as tk from shutil import copy -from tkinter import messagebox, ttk +from tkinter import PhotoImage, messagebox, ttk from tkinter.filedialog import askopenfilename, asksaveasfile import sv_ttk @@ -63,6 +63,10 @@ def _configure_window(self): if OS == OSType.WINDOWS: app_id = "cs2tracker.unique.id" ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(app_id) + window.iconbitmap(default=ICON_FILE) + else: + icon = PhotoImage(file=ICON_FILE) + window.iconphoto(True, icon) window.iconbitmap(default=ICON_FILE) diff --git a/cs2tracker/constants.py b/cs2tracker/constants.py index 0640afd..341917d 100644 --- a/cs2tracker/constants.py +++ b/cs2tracker/constants.py @@ -150,9 +150,9 @@ def copy_initial_files_with_popup(): else: MODULE_DIR = os.path.dirname(os.path.abspath(__file__)) - # The project directory doesn't really exist in this case - # (pip only installs contents of cs2tracker/cs2tracker in site-packages) - PROJECT_DIR = MODULE_DIR + # NOTE: The project directory doesn't really exist in this case when launched via pip + # (pip only installs contents of cs2tracker/cs2tracker in site-packages i.e. PROJECT_DIR = site-packages) + PROJECT_DIR = os.path.dirname(MODULE_DIR) DATA_DIR = os.path.join(MODULE_DIR, "data") CONFIG_FILE = os.path.join(DATA_DIR, "config.ini") @@ -162,7 +162,7 @@ def copy_initial_files_with_popup(): INVENTORY_IMPORT_SCRIPT = os.path.join(DATA_DIR, "get_inventory.js") NODE_MODULES = os.path.join(DATA_DIR, "node_modules") - ICON_FILE = os.path.join(DATA_DIR, "icon.ico") + ICON_FILE = os.path.join(DATA_DIR, "icon.ico" if OS == OSType.WINDOWS else "icon.png") BATCH_FILE = os.path.join(DATA_DIR, "cs2tracker_scraper.bat") INVENTORY_IMPORT_FILE = os.path.join(DATA_DIR, "inventory.json") INVENTORY_IMPORT_SCRIPT_DEPENDENCIES = [ diff --git a/cs2tracker/data/icon.png b/cs2tracker/data/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6d8cfc8df52286e35afb2f74874e77dab67c7cf9 GIT binary patch literal 6514 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

6b1^sx{b6E4l-4yPL8J@Y} za)ckmzTdM0+h{&d&CZ6{`81Ft2MiyD{Nqmuh=-)p;i|hI$Bdirh08%R0NI0kyr2ZB z=8Pbn$gF$yk63a4@37`cp+|gu4p#4jSgZxFmkxr)w9r&2V7}n%9JCM}Dej+9=Yu64 zONo>EC|hCLO$QFySBj309aD_MHT#2zL8C`w_$iYpoJv8Yk--Pg9WoSs1`G-w#5kAf zYGMge$cSll$g_rd3kdhjduVl#DRXe|fE+qwI!*XRs000RaNkliPa<7>^$wpT^6Fv4q*Ia6Cr9C~tFFe76N;6*dc#&cmAP!YlpsuPaPOzeS>lW-QEy0YNLcj9Zx48s0ySKq| z%s|qep|z<2Kf7o)vS@xMK-Akv=K`I-hk9veBl=}#md|(r;-abNAuT-vyT1MkLEWse z^%Hbr!L}Vff~i-`_lpwJ{n=}1e>0FznFpo0O!#-5BDo?eN8BgO>fRMY%zAcGoAChFBPEr2pi8NGw}$V_Hm z`Y!JE4NTzxqcH_(bdMBH$0Qwoz2pV_e8wD@&Dk;a3g|7`P<+NOu<*IJl(vP-3(qs) zpW)?1^GP|Nwe<4iJ%go9`L^dSDrov6hSx7fp5t9G?rl?_fu@L4esL)-z3o9&Hz#2QwDl6H~8%-l7dBpFcA=H3lS+!2?;4zFczSUqL_;nS>p{H(zPe z$=<(#N#g?Y8O_r<%^#spi}(Xb!06hI)RwXUy4`6dea{s)k0$@krOVcYzWK+(Oj}4T zq5TFQ2N&&E^LREzx`41S*jdpixNN9?un= zv7t&KBFb^DRYpPH_t&9c&0K`{jtJ6(iW1$~D}>ZaXWb#RHq^&i0D%#-6%}Uy7xj9X zb}ZTb27$4TYNBWX#1SKbtwuW^DN#Pgx#n*|bi5gQIw05O+>1lGOT6VN(_^1LYcA#P>ydD=)GI}9}_WI_${`l*&OR@5S zTTp*6bXOF`+YtcO%Q$a$qe$vq`+}Csh2O~to^-T$ZazMn1oc51!C^E?XOlw zfrCD_3%Xcg%xP!f;+yZnlv#6e%K4X|Z|(q?Oc}@t+R(4ftc9EKW%1y8(!>GOVvbFaM-^B;Xl z^Yj}o*_fJ!;%OJqhxuzU?WzTs|JX9zzT$n{^rtr=oD)vlCePZGk|}H`9Au8Y$Rr>w zX$M5g95dK_kb&PD32$H7XN}&u{c+OtOEBre*~lL?HaSr~5y|l+OU=2L$(T=_MNXDA zlD@+Z5CZoMGC#|~JAMMA1xCp0$`Iur8otTa$2t2`;j!lOWck$SJH-Jr8S~OAa3whR z{ftemrcQ%}n=m||SOrn`))Em#=#wvVY~?AYJAI{&$DQH;p~kp;%T_M28$`ZSLzE%H z0pWSATD2^!Mem2JuyGED#Q4nO{;bnFTBkWcs9iM3{2J{EUK9CF3o3?4PIe+rN=zbS zSTH`{65NI-#ub~YQyn0x^46K=b0)77`Ttjev%AOVn^(Cv&A!7^GJB6}<7KPG1!YIu z*y#=^E@p17x6GhLIpP1A)6qtB8o%aX;V+CYF#VymeD)|XJWOOmn8Yu2d))InT6d>A zKqw^UNRN*Hf~KQyM7c{gH)I7xc4tPa(;a`2_WReXS3@mSMKbo9CEGYLQ=SEE@P;Yt{4b3eYP;pemy?lyqKzJ^BRiZdPHBedWdnto3q6I zSQ}(J3SH^|p^sP-3iB=V>5MRg%8e9$TyKO2saPpXx}O&om|i{_igvjJ0*x47V0l;P zl_vuHs{pLMY1kCeUJ)Tazc9MlrENZz)3@ZY#RJoQYgdS>%W_A}0ip$C2WRZ01#J@L zucp@4(tJwU*gmK8G<}gId#Z;|G~un9P{(r*z2(?IhYRbHF8Q*60>5 zFQ2w(WodCNT}KVfJW`ZzxsQ6`F|_lTPPA{+g56AM^c(8R(YQDea)NO1Ghl2&ae;Ys z;UM#Ju|bH#*5&9fbHK5Vp>NQF`wvNG8yBxA`%S!-h+bG&VET|o#jF;cIh*LuV4Och zqvK05UeePP@sPpgwT$C7nX{ttgG~KM_Dz(k|NRnG*d1?|IN-kfxFj(a`u|@%^q+JS zX{7l5DH-dt!UD@(G&&{~<(o4kNg6;qm8sxtE)9g6Ib(N`tfl_2m~i4I_G(#@PSV4Z zMLfCV^E1vXEHFP_Twp3?{=*c}|ES(BasZP#*cXA8a$tQR-`;fG!1S7;0?R+g7noix z%r`$>G|2Q2Icc#!EG68tlwT>fkSFB#3jAobz11Bxz9bxwoK9YeUBEczG0rYtdUfH0 z$#MU5sJqMok6$&`@yIoWFFkV2xc6w`qe1Y~F={d`?J@@>qr^{{w#Nb8?EM}G^f;iK zEzr%?_l$rZ2XwOqy1DwE5zym+Zni)-SKl)N;y9qI(fK>z>%07*qoM6N<$g5qC};Q#;t literal 0 HcmV?d00001 From f854fee83d02079f9d8146f327817b9344a961ac Mon Sep 17 00:00:00 2001 From: ashiven Date: Sun, 11 Jan 2026 23:24:16 +0100 Subject: [PATCH 2/2] delete duplicate line --- cs2tracker/app/app.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/cs2tracker/app/app.py b/cs2tracker/app/app.py index c7fd713..4e4b4db 100644 --- a/cs2tracker/app/app.py +++ b/cs2tracker/app/app.py @@ -68,8 +68,6 @@ def _configure_window(self): icon = PhotoImage(file=ICON_FILE) window.iconphoto(True, icon) - window.iconbitmap(default=ICON_FILE) - main_frame = MainFrame(window, self.scraper) main_frame.pack(expand=True, fill="both")