feat: Adding custom icons for application

This commit is contained in:
gauvainboiche
2026-08-31 18:54:45 +02:00
parent 4640d08f97
commit 715830d8d0
7 changed files with 133 additions and 6 deletions
-1
View File
@@ -12,7 +12,6 @@ node_modules/
__pycache__/
*.py[oc]
*.egg-info
*.py
uv.lock
# Tauri files
+31
View File
@@ -0,0 +1,31 @@
# Source - https://stackoverflow.com/a/36168447
# Posted by Ronan Paixão
# Retrieved 2026-08-31, License - CC BY-SA 3.0
from PIL import Image
ICONS_DIR = 'graphism/icons'
icon_32 = Image.open(f'{ICONS_DIR}/32x32.png')
icon_128 = Image.open(f'{ICONS_DIR}/128x128.png')
icon_256 = Image.open(f'{ICONS_DIR}/128x128@2x.png')
# Use each source PNG at its native resolution instead of resampling
# a single base image, so small sizes stay sharp.
icon_256.save(
f'{ICONS_DIR}/icon.ico',
sizes=[(32, 32), (128, 128), (256, 256)],
append_images=[icon_32, icon_128],
)
# Source - https://pypi.org/project/icnsutil/
import icnsutil
icns = icnsutil.IcnsFile()
icns.add_media(file=f'{ICONS_DIR}/32x32.png')
icns.add_media(file=f'{ICONS_DIR}/128x128.png')
icns.add_media(file=f'{ICONS_DIR}/128x128@2x.png')
icns.write(f'{ICONS_DIR}/icon.icns')
print(f'Generated {ICONS_DIR}/icon.ico and {ICONS_DIR}/icon.icns')
+95
View File
@@ -0,0 +1,95 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="128"
height="128"
viewBox="0 0 128 128"
version="1.1"
id="svg1"
inkscape:version="1.4.2 (f4327f4, 2025-05-13)"
sodipodi:docname="_logo.svg"
xml:space="preserve"
inkscape:export-filename="icons\128x128@2x.png"
inkscape:export-xdpi="192"
inkscape:export-ydpi="192"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"><title
id="title1">KetaPK_logo</title><sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
showgrid="true"
inkscape:zoom="2.8548345"
inkscape:cx="54.81929"
inkscape:cy="85.293911"
inkscape:window-width="1718"
inkscape:window-height="1341"
inkscape:window-x="1712"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="layer1"><inkscape:grid
id="grid1"
units="px"
originx="0"
originy="0"
spacingx="1"
spacingy="1"
empcolor="#0099e5"
empopacity="0.10196078"
color="#0099e5"
opacity="0.05098039"
empspacing="5"
enabled="true"
visible="true" /></sodipodi:namedview><defs
id="defs1" /><g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"><rect
style="opacity:1;fill:#000000;fill-opacity:1;stroke-width:3.77953;paint-order:markers fill stroke"
id="rect3"
width="128"
height="128"
x="0"
y="0"
ry="4.7417274e-07"
inkscape:label="background" /><path
d="m 86.460714,93 v 12.51814 L 111.35402,93 h 10.51777 L 93.630271,107.21688 123,122 H 112.48221 L 86.460714,108.95607 V 122 H 79 V 93 Z"
id="text2-5"
style="font-size:96px;line-height:0.6;font-family:Aldrich;-inkscape-font-specification:Aldrich;fill:#f5b709;stroke-width:2.18743;paint-order:markers fill stroke;fill-opacity:1"
aria-label="K"
inkscape:label="K" /><path
id="text3"
style="font-size:96px;line-height:0.6;font-family:Aldrich;-inkscape-font-specification:Aldrich;fill:#f5b709;stroke-width:4.02465;paint-order:markers fill stroke;fill-opacity:1"
d="m 79,30 v 13 c 0,0 19.980367,0 30,0 2.12297,0 3.70858,0.921188 4.64062,2.460938 0.93204,1.539748 1.39844,4.063106 1.39844,7.570312 v 11.804688 c 0,3.507205 -0.46639,6.032516 -1.39844,7.572265 C 112.70858,73.947952 111.12297,75 109,75 98.974899,74.928176 79,75 79,75 v 13 l 30.48633,-0.130859 C 118.49604,87.869141 123,80.405527 123,65.478516 V 52.390625 C 123,37.463614 118.49604,30 109.48633,30 Z"
sodipodi:nodetypes="ccsssssscccsssc"
inkscape:label="P" /><path
id="rect1"
style="opacity:1;fill:#03a3c5;stroke-width:5.30033;paint-order:markers fill stroke;fill-opacity:1"
d="m 5,5 v 20 h 49 v 97 H 74 V 25 h 49 V 5 Z"
inkscape:highlight-color="#04a2c5"
inkscape:label="T" /><path
d="M 49,69.712688 19.023905,30 H 6.3585649 L 40.366543,75.101809 5,122 H 17.665339 L 49,80.619242 Z"
id="text2"
style="font-size:96px;line-height:0.6;font-family:Aldrich;-inkscape-font-specification:Aldrich;fill:#025caa;stroke-width:4.2754;paint-order:markers fill stroke;fill-opacity:1"
aria-label="K"
sodipodi:nodetypes="cccccccc"
inkscape:label="K" /></g><metadata
id="metadata1"><rdf:RDF><cc:Work
rdf:about=""><dc:title>KetaPK_logo</dc:title><dc:date>31/08/2026</dc:date><dc:creator><cc:Agent><dc:title>Gauvain BOICHE</dc:title></cc:Agent></dc:creator><dc:rights><cc:Agent><dc:title>Public Domain</dc:title></cc:Agent></dc:rights><dc:publisher><cc:Agent><dc:title>/</dc:title></cc:Agent></dc:publisher><dc:identifier>/</dc:identifier><dc:source>/</dc:source><dc:relation>/</dc:relation><dc:language>/</dc:language><dc:subject><rdf:Bag><rdf:li>logo ketapk KétaPK ketamine esketamine geroges mion pr pdh cochin</rdf:li></rdf:Bag></dc:subject><dc:contributor><cc:Agent><dc:title>Gauvain BOICHE, Georges MION</dc:title></cc:Agent></dc:contributor><cc:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" /></cc:Work><cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/"><cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" /><cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" /><cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" /></cc:License></rdf:RDF></metadata></svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

+2
View File
@@ -5,5 +5,7 @@ description = "Add your description here"
readme = "README.md"
requires-python = ">=3.14"
dependencies = [
"icnsutil>=1.1.0",
"oletools>=0.60.2",
"pillow>=12.3.0",
]
+5 -5
View File
@@ -26,11 +26,11 @@
"homepage": "https://georgesmion.com",
"category": "Medical",
"icon": [
"icons/32x32.png",
"icons/128x128.png",
"icons/128x128@2x.png",
"icons/icon.icns",
"icons/icon.ico"
"../graphism/icons/32x32.png",
"../graphism/icons/128x128.png",
"../graphism/icons/128x128@2x.png",
"../graphism/icons/icon.icns",
"../graphism/icons/icon.ico"
]
}
}