From 0659698f193f4e56ce868e150162377d7020a757 Mon Sep 17 00:00:00 2001 From: uku Date: Thu, 22 May 2025 18:14:55 +0200 Subject: [PATCH] feat: add icon on windows too --- Cargo.lock | 17 +++++++++++++++++ Cargo.toml | 3 +++ build.rs | 13 +++++++++++++ res/tyrolienne.ico | Bin 0 -> 38078 bytes src/main.rs | 1 - 5 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 build.rs create mode 100644 res/tyrolienne.ico diff --git a/Cargo.lock b/Cargo.lock index f90879a..911f69f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2224,6 +2224,7 @@ dependencies = [ "tokio-util", "toml", "urlencoding", + "winresource", ] [[package]] @@ -2285,6 +2286,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + [[package]] name = "want" version = "0.3.1" @@ -2700,6 +2707,16 @@ dependencies = [ "memchr", ] +[[package]] +name = "winresource" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba4a67c78ee5782c0c1cb41bebc7e12c6e79644daa1650ebbc1de5d5b08593f7" +dependencies = [ + "toml", + "version_check", +] + [[package]] name = "wit-bindgen-rt" version = "0.39.0" diff --git a/Cargo.toml b/Cargo.toml index 988e650..dd6f1d3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,3 +23,6 @@ opt-level = "z" lto = "thin" strip = true panic = "abort" + +[build-dependencies] +winresource = "0.1.20" diff --git a/build.rs b/build.rs new file mode 100644 index 0000000..52233ae --- /dev/null +++ b/build.rs @@ -0,0 +1,13 @@ +use std::{env, io}; + +use winresource::WindowsResource; + +fn main() -> Result<(), io::Error> { + if env::var_os("CARGO_CFG_WINDOWS").is_some() { + WindowsResource::new() + .set_icon("res/tyrolienne.ico") + .compile()?; + } + + Ok(()) +} diff --git a/res/tyrolienne.ico b/res/tyrolienne.ico new file mode 100644 index 0000000000000000000000000000000000000000..4bbf991cd2c892e31c07f1b9ab77eff9e752d59a GIT binary patch literal 38078 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 literal 0 HcmV?d00001 diff --git a/src/main.rs b/src/main.rs index db9edd2..8879e2c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -391,7 +391,6 @@ impl AsyncComponent for Tyrolienne { } } -// TODO app icon (windows) fn main() { match ffmpeg::check().and_then(|_| get_config()) { Ok(config) => RelmApp::new("net.uku3lig.tyrolienne").run_async::(config),