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 0000000..4bbf991 Binary files /dev/null and b/res/tyrolienne.ico differ 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),