UI Overhaul

- Windows support: drift now runs natively on Windows, using named pipes instead of Unix sockets.
- Song context menu: press G on any song for quick actions like play, queue, add to playlist, and song info
- Redesined command menu: the : prompt has a new, cleaner design
- Visualizer: a live audio visualizer now sits in the bottomleft corner
- Keybind hints: the most useful shortcuts are showen next to the volume control
This commit is contained in:
socatlolmeow 2026-10-11 17:49:53 +02:00
commit 1d579f5311
12 changed files with 1088 additions and 160 deletions

View file

@ -156,6 +156,7 @@ impl Player {
cmd.stdin(Stdio::null())
.stdout(Stdio::null())
.stderr(Stdio::null());
crate::sys::no_window(&mut cmd);
// Linux only: ask the kernel to SIGTERM mpv if drift dies unexpectedly.
#[cfg(target_os = "linux")]
@ -175,6 +176,9 @@ impl Player {
}
})?;
// Windows: tie mpv's lifetime to ours.
crate::sys::kill_on_exit(&child);
let start = Instant::now();
let (reader, writer) = loop {
match ipc::connect(&sock_path) {