1
0
Fork 0
mirror of https://github.com/alacritty/alacritty.git synced 2024-11-18 13:55:23 -05:00

Explicitly detach from the console on exit

Without this cmd won't redraw it's prompt when alacritty exits
This commit is contained in:
Zac Pullar-Strecker 2018-10-27 17:47:01 +13:00 committed by Zac Pullar-Strecker
parent a54cc4ec60
commit df82b5ffbd

View file

@ -43,7 +43,7 @@ use std::os::unix::io::AsRawFd;
#[cfg(windows)] #[cfg(windows)]
extern crate winapi; extern crate winapi;
#[cfg(windows)] #[cfg(windows)]
use winapi::um::wincon::{AttachConsole, ATTACH_PARENT_PROCESS}; use winapi::um::wincon::{AttachConsole, FreeConsole, ATTACH_PARENT_PROCESS};
use alacritty::cli; use alacritty::cli;
use alacritty::config::{self, Config}; use alacritty::config::{self, Config};
@ -63,7 +63,7 @@ fn main() {
// to the console of the parent process, so we do it explicitly. This fails // to the console of the parent process, so we do it explicitly. This fails
// silently if the parent has no console. // silently if the parent has no console.
#[cfg(windows)] #[cfg(windows)]
unsafe {AttachConsole(ATTACH_PARENT_PROCESS);} unsafe { AttachConsole(ATTACH_PARENT_PROCESS); }
// Load command line options and config // Load command line options and config
let options = cli::Options::load(); let options = cli::Options::load();
@ -272,5 +272,9 @@ fn run(mut config: Config, options: &cli::Options) -> Result<(), Box<Error>> {
// FIXME patch notify library to have a shutdown method // FIXME patch notify library to have a shutdown method
// config_reloader.join().ok(); // config_reloader.join().ok();
// Without explicitly detaching the console cmd won't redraw it's prompt
#[cfg(windows)]
unsafe { FreeConsole(); }
Ok(()) Ok(())
} }