From b4cb7da6ad8ad92b2468e857abfad318b3e72841 Mon Sep 17 00:00:00 2001 From: Tim-Paik Date: Fri, 4 Feb 2022 01:08:15 +0800 Subject: [PATCH] add windows icon --- Cargo.lock | 10 ++++++++++ neutauri_runtime/Cargo.toml | 3 +++ neutauri_runtime/build.rs | 12 ++++++++++++ neutauri_runtime/src/main.rs | 4 ++-- neutauri_runtime/wry.ico | Bin 0 -> 41887 bytes 5 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 neutauri_runtime/build.rs create mode 100644 neutauri_runtime/wry.ico diff --git a/Cargo.lock b/Cargo.lock index f766edf..f99d896 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1045,6 +1045,7 @@ dependencies = [ "bincode", "brotli", "serde", + "winres", "wry", ] @@ -1845,6 +1846,15 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "winres" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b68db261ef59e9e52806f688020631e987592bd83619edccda9c47d42cde4f6c" +dependencies = [ + "toml", +] + [[package]] name = "wry" version = "0.12.2" diff --git a/neutauri_runtime/Cargo.toml b/neutauri_runtime/Cargo.toml index c4594a1..9f30ac8 100644 --- a/neutauri_runtime/Cargo.toml +++ b/neutauri_runtime/Cargo.toml @@ -8,3 +8,6 @@ bincode = "1.3" brotli = "3.3" serde = {version = "1.0", features = ["derive"]} wry = "0.12" + +[target.'cfg(windows)'.build-dependencies] +winres = "0.1" diff --git a/neutauri_runtime/build.rs b/neutauri_runtime/build.rs new file mode 100644 index 0000000..4deaec7 --- /dev/null +++ b/neutauri_runtime/build.rs @@ -0,0 +1,12 @@ +#[cfg(windows)] +extern crate winres; + +#[cfg(windows)] +fn main() { + let mut res = winres::WindowsResource::new(); + res.set_icon("wry.ico"); + res.compile().unwrap(); +} + +#[cfg(unix)] +fn main() {} diff --git a/neutauri_runtime/src/main.rs b/neutauri_runtime/src/main.rs index 2de7e88..ae4de7f 100644 --- a/neutauri_runtime/src/main.rs +++ b/neutauri_runtime/src/main.rs @@ -35,7 +35,7 @@ fn custom_protocol_uri_to_path>(protocol: T, uri: T) -> wry::Res fn main() -> wry::Result<()> { let res = match data::load(std::env::current_exe()?.as_path()) { Ok(data) => data, - Err(_) => data::load("app.neu")?, + Err(_) => data::load("data.neu")?, }; let event_loop = EventLoop::new(); @@ -113,7 +113,7 @@ fn main() -> wry::Result<()> { ), }; let path = std::env::current_exe()?; - let path = path.file_name().unwrap_or_else(|| "neutauri_app".as_ref()); + let path = path.file_stem().unwrap_or_else(|| "neutauri_app".as_ref()); let mut web_context = if cfg!(windows) { let config_path = std::env::var("APPDATA").unwrap_or_else(|_| ".".into()); let config_path = path::Path::new(&config_path).join(path); diff --git a/neutauri_runtime/wry.ico b/neutauri_runtime/wry.ico new file mode 100644 index 0000000000000000000000000000000000000000..efae3d03f82f91f45433877ad97f3d0d6dfb450e GIT binary patch literal 41887 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