From 071a3ad4cd588843e73ef66a5c44a32beb4ec75e Mon Sep 17 00:00:00 2001 From: salmonik Date: Fri, 15 May 2026 16:55:50 +0200 Subject: aesthetic changes --- .zed/tasks.json | 12 +++++++++--- Cargo.lock | 2 +- Cargo.toml | 2 +- install.sh | 5 +++-- src/daemon.rs | 7 +++++++ src/notification.rs | 16 ++++++++++++---- 6 files changed, 33 insertions(+), 11 deletions(-) diff --git a/.zed/tasks.json b/.zed/tasks.json index 40c9f3d..9bae85b 100644 --- a/.zed/tasks.json +++ b/.zed/tasks.json @@ -3,12 +3,18 @@ "label": "code coverage", "command": "cargo tarpaulin", "show_command": false, - "show_summary": false + "show_summary": false, }, { "label": "run tests", "command": "cargo test", "show_command": false, - "show_summary": false - } + "show_summary": false, + }, + { + "label": "install", + "command": "./install.sh", + "show_command": false, + "show_summary": false, + }, ] diff --git a/Cargo.lock b/Cargo.lock index 4d6bee2..d4a7870 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1971,7 +1971,7 @@ dependencies = [ [[package]] name = "rsp" -version = "0.1.0" +version = "0.5.0" dependencies = [ "chrono", "clap", diff --git a/Cargo.toml b/Cargo.toml index 33b6b24..afcc9cf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rsp" -version = "0.1.0" +version = "0.5.0" edition = "2024" description = "Rust music player daemon with Unix socket IPC" license = "GPL-3.0 or later" diff --git a/install.sh b/install.sh index a7317e9..3133601 100755 --- a/install.sh +++ b/install.sh @@ -19,7 +19,8 @@ cp rsplayer.service ~/.config/systemd/user/ if systemctl --user is-active default.target &>/dev/null; then systemctl --user daemon-reload - echo "To enable auto-start: systemctl --user enable rsplayer" + echo "Activating the daemon…" + systemctl --user restart --now rsplayer.service else echo "Service installed but not enabled (no user session running)" echo "To enable later when logged in: systemctl --user enable rsplayer" @@ -62,4 +63,4 @@ case "$shell_name" in esac echo "" -echo "Done! Run 'rsp start-daemon' to start the daemon." +echo "Done!" diff --git a/src/daemon.rs b/src/daemon.rs index acc7729..2b38025 100644 --- a/src/daemon.rs +++ b/src/daemon.rs @@ -271,18 +271,22 @@ fn process_command( } "pause" => { audio.pause(); + notification::notify_change("Paused"); "Paused\n".to_string() } "resume" => { audio.resume(); + notification::notify_change("Resumed"); "Resumed\n".to_string() } "toggle" => { if audio.is_playing() { audio.pause(); + notification::notify_change("Paused"); "Paused\n".to_string() } else { audio.resume(); + notification::notify_change("Resumed"); "Resumed\n".to_string() } } @@ -291,6 +295,7 @@ fn process_command( if let Ok(mut q) = queue.lock() { q.clear(); } + notification::notify_change("Stopped"); "Stopped\n".to_string() } "stop_daemon" => { @@ -551,6 +556,8 @@ fn process_command( }; if track_idx == playing_track_idx && is_playing { output.push_str(&format!("> {} (playing)\n", track_str)); + } else if track_idx == playing_track_idx && !is_playing { + output.push_str(&format!("> {} (paused)\n", track_str)); } else { output.push_str(&format!(" {}\n", track_str)); } diff --git a/src/notification.rs b/src/notification.rs index 4947e6f..df9c622 100644 --- a/src/notification.rs +++ b/src/notification.rs @@ -18,7 +18,7 @@ pub fn notify_track(track: &Track, format: Option<&str>) { let _ = notify_rust::Notification::new() .summary("Now Playing") .body(&body) - .appname("rsp") + .appname("RSPlayer") .show(); } @@ -26,14 +26,22 @@ pub fn notify_queue_ended() { let _ = notify_rust::Notification::new() .summary("Playback Ended") .body("The queue is empty") - .appname("rsp") + .appname("RSPlayer") + .show(); +} + +pub fn notify_change(state: &str) { + let _ = notify_rust::Notification::new() + .summary(state) + .body(&format!("Playback {}", state.to_lowercase())) + .appname("RSPlayer") .show(); } pub fn notify_error(context: &str) { let _ = notify_rust::Notification::new() - .summary("rsp Error") + .summary("RSPlayer Error") .body(&format!("{} - Check the logs for details", context)) - .appname("rsp") + .appname("RSPlayer") .show(); } -- cgit v1.2.3