app name and no terminal

This commit is contained in:
2025-07-23 19:00:21 +02:00
parent de0a8dc342
commit 96e4081bff
6 changed files with 43 additions and 12 deletions

View File

@@ -54,17 +54,19 @@ fn main() -> iced::Result {
},
)
};
iced::application("My App", MyApp::update, MyApp::view)
#[cfg(windows)]
hide_console_window();
iced::application("Polymusic", Polymusic::update, Polymusic::view)
.theme(move |_| polytheme.clone())
.font(iced_fonts::REQUIRED_FONT_BYTES)
.font(FONT_BYTES)
.default_font(FONT)
.antialiasing(true)
.subscription(MyApp::subscription)
.run_with(MyApp::new)
.subscription(Polymusic::subscription)
.run_with(Polymusic::new)
}
struct MyApp {
struct Polymusic {
music: Music,
time_last_frame: Instant,
paused: bool,
@@ -82,7 +84,7 @@ struct MyApp {
historic: Historic,
}
impl MyApp {
impl Polymusic {
fn new() -> (Self, Task<Message>) {
let manager = AudioManager::<DefaultBackend>::new(AudioManagerSettings::default())
.expect("Error to load AudioManager");
@@ -474,3 +476,17 @@ fn load_path_saves() -> Vec<String> {
saves.sort();
saves
}
#[cfg(windows)]
fn hide_console_window() {
use std::ptr;
use winapi::um::wincon::GetConsoleWindow;
use winapi::um::winuser::{SW_HIDE, ShowWindow};
let window = unsafe { GetConsoleWindow() };
// https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-showwindow
if window != ptr::null_mut() {
unsafe {
ShowWindow(window, SW_HIDE);
}
}
}