summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-10-04 13:18:14 +0200
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-10-04 13:18:14 +0200
commit0be8e0ad7c3671af00efd83101a216b555c52f6d (patch)
tree87c72b60809d323d18aa609d9ec4df5d99ad083d /main.c
parent08e724afb2c7f09e8f7a4b2222694a8d4faffde7 (diff)
M_TRACKCHANGED can now update titlebar and systray tooltip text
Diffstat (limited to 'main.c')
-rw-r--r--main.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/main.c b/main.c
index 3f7f9d74..691c0ae1 100644
--- a/main.c
+++ b/main.c
@@ -321,6 +321,16 @@ server_update (void) {
}
void
+current_track_changed (playItem_t *it) {
+ char str[600];
+ char dname[512];
+ pl_format_item_display_name (it, dname, 512);
+ snprintf (str, 600, "DeaDBeeF - %s", dname);
+ gtk_window_set_title (GTK_WINDOW (mainwin), str);
+ set_tray_tooltip (str);
+}
+
+void
player_thread (uintptr_t ctx) {
prctl (PR_SET_NAME, "deadbeef-player", 0, 0, 0, 0);
for (;;) {
@@ -367,12 +377,7 @@ player_thread (uintptr_t ctx) {
if (to >= 0) {
playItem_t *it = pl_get_for_idx (to);
if (it) { // it might have been deleted after event was sent
- char str[600];
- char dname[512];
- pl_format_item_display_name (it, dname, 512);
- snprintf (str, 600, "DeaDBeeF - %s", dname);
- gtk_window_set_title (GTK_WINDOW (mainwin), str);
- set_tray_tooltip (str);
+ current_track_changed (it);
}
}
else {
@@ -399,6 +404,9 @@ player_thread (uintptr_t ctx) {
if (it) {
GDK_THREADS_ENTER();
gtkpl_redraw_pl_row (&main_playlist, p1, it);
+ if (it == playlist_current_ptr) {
+ current_track_changed (it);
+ }
GDK_THREADS_LEAVE();
}
}