Set play/pause icon depending on state
This commit is contained in:
parent
d28bbe2471
commit
80bfe912aa
1 changed files with 10 additions and 1 deletions
11
src/mpris.rs
11
src/mpris.rs
|
|
@ -219,11 +219,17 @@ impl MprisControls {
|
|||
};
|
||||
|
||||
// XXX status
|
||||
let (_status, metadata) = match (player.playback_status(), player.metadata()) {
|
||||
let (status, metadata) = match (player.playback_status(), player.metadata()) {
|
||||
(Some(status), Some(metadata)) => (status, metadata),
|
||||
_ => return,
|
||||
};
|
||||
|
||||
let play_pause_icon = if status == "Playing" {
|
||||
"media-playback-pause-symbolic"
|
||||
} else {
|
||||
"media-playback-start-symbolic"
|
||||
};
|
||||
|
||||
let title = metadata.title().unwrap_or_else(|| String::new());
|
||||
// XXX correct way to handle multiple?
|
||||
let artist = metadata
|
||||
|
|
@ -238,6 +244,9 @@ impl MprisControls {
|
|||
self_.update_arturl(arturl.as_deref()).await;
|
||||
}));
|
||||
|
||||
self.inner()
|
||||
.play_pause_button
|
||||
.set_icon_name(play_pause_icon);
|
||||
self.inner().title_label.set_label(&title);
|
||||
self.inner().artist_label.set_label(&artist);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue