diff --git a/Cargo.lock b/Cargo.lock index 3ae89f0..90b7415 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -46,6 +46,7 @@ dependencies = [ "serde_json", "ureq", "windows", + "winres", ] [[package]] @@ -82,7 +83,7 @@ dependencies = [ "libc", "option-ext", "redox_users", - "windows-sys 0.61.2", + "windows-sys", ] [[package]] @@ -109,7 +110,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys", ] [[package]] @@ -520,7 +521,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys", ] [[package]] @@ -529,7 +530,7 @@ version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1" dependencies = [ - "windows-sys 0.61.2", + "windows-sys", ] [[package]] @@ -654,7 +655,7 @@ dependencies = [ "getrandom 0.4.1", "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys", ] [[package]] @@ -687,6 +688,15 @@ dependencies = [ "zerovec", ] +[[package]] +name = "toml" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +dependencies = [ + "serde", +] + [[package]] name = "unicode-ident" version = "1.0.24" @@ -866,15 +876,6 @@ dependencies = [ "windows-targets", ] -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets", -] - [[package]] name = "windows-sys" version = "0.61.2" @@ -948,6 +949,15 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "winres" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b68db261ef59e9e52806f688020631e987592bd83619edccda9c47d42cde4f6c" +dependencies = [ + "toml", +] + [[package]] name = "wit-bindgen" version = "0.51.0" diff --git a/Cargo.toml b/Cargo.toml index 1b28e37..5530270 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,6 +26,9 @@ features = [ "Win32_UI_Input_KeyboardAndMouse", ] +[build-dependencies] +winres = "0.1" + [profile.release] opt-level = "z" lto = true diff --git a/build.rs b/build.rs index fb6a701..427e8f2 100644 --- a/build.rs +++ b/build.rs @@ -15,4 +15,9 @@ fn main() { let version = version.trim().trim_start_matches('v'); println!("cargo:rustc-env=APP_VERSION={version}"); + + // Embed the application icon into the executable. + let mut res = winres::WindowsResource::new(); + res.set_icon("src/icons/icon.ico"); + res.compile().expect("Failed to compile Windows resources"); } diff --git a/src/icons/16.svg b/src/icons/16.svg new file mode 100644 index 0000000..7984182 --- /dev/null +++ b/src/icons/16.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/icons/16x16.png b/src/icons/16x16.png new file mode 100644 index 0000000..bec1057 Binary files /dev/null and b/src/icons/16x16.png differ diff --git a/src/icons/256.svg b/src/icons/256.svg new file mode 100644 index 0000000..a38ceab --- /dev/null +++ b/src/icons/256.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/icons/256x256.png b/src/icons/256x256.png new file mode 100644 index 0000000..5e25386 Binary files /dev/null and b/src/icons/256x256.png differ diff --git a/src/icons/32.svg b/src/icons/32.svg new file mode 100644 index 0000000..447cddf --- /dev/null +++ b/src/icons/32.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/icons/32x32.png b/src/icons/32x32.png new file mode 100644 index 0000000..f4bcd5f Binary files /dev/null and b/src/icons/32x32.png differ diff --git a/src/icons/48.svg b/src/icons/48.svg new file mode 100644 index 0000000..2f542ac --- /dev/null +++ b/src/icons/48.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/icons/48x48.png b/src/icons/48x48.png new file mode 100644 index 0000000..9f5d19d Binary files /dev/null and b/src/icons/48x48.png differ diff --git a/src/icons/icon.ico b/src/icons/icon.ico new file mode 100644 index 0000000..1c31bae Binary files /dev/null and b/src/icons/icon.ico differ