diff options
Diffstat (limited to 'src/notification.rs')
| -rw-r--r-- | src/notification.rs | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/src/notification.rs b/src/notification.rs index 2f7baa2..4947e6f 100644 --- a/src/notification.rs +++ b/src/notification.rs | |||
| @@ -1,15 +1,18 @@ | |||
| 1 | use crate::queue::Track; | 1 | use crate::queue::Track; |
| 2 | 2 | ||
| 3 | pub fn notify_track(track: &Track) { | 3 | pub fn notify_track(track: &Track, format: Option<&str>) { |
| 4 | let body = match (track.artist.as_deref(), track.title.as_deref()) { | 4 | let body = match format { |
| 5 | (Some(a), Some(t)) => format!("{} - {}", a, t), | 5 | Some(fmt) => track.format(fmt), |
| 6 | (_, Some(t)) => t.to_string(), | 6 | None => match (track.artist.as_deref(), track.title.as_deref()) { |
| 7 | _ => track | 7 | (Some(a), Some(t)) => format!("{} - {}", a, t), |
| 8 | .path | 8 | (_, Some(t)) => t.to_string(), |
| 9 | .file_name() | 9 | _ => track |
| 10 | .and_then(|n| n.to_str()) | 10 | .path |
| 11 | .unwrap_or("Unknown") | 11 | .file_name() |
| 12 | .to_string(), | 12 | .and_then(|n| n.to_str()) |
| 13 | .unwrap_or("Unknown") | ||
| 14 | .to_string(), | ||
| 15 | }, | ||
| 13 | }; | 16 | }; |
| 14 | 17 | ||
| 15 | let _ = notify_rust::Notification::new() | 18 | let _ = notify_rust::Notification::new() |
