diff -ur xosd-2.2.5.orig/src/xmms_plugin/dlg_config.c xosd-2.2.5/src/xmms_plugin/dlg_config.c --- xosd-2.2.5.orig/src/xmms_plugin/dlg_config.c 2003-09-29 22:48:34.875787152 -0400 +++ xosd-2.2.5/src/xmms_plugin/dlg_config.c 2003-09-29 22:49:59.710890256 -0400 @@ -26,7 +26,7 @@ static GtkToggleButton * vol_on, *bal_on, - *pause_on, *trackname_on, *stop_on, *repeat_on, *shuffle_on; + *pause_on, *trackname_on, *stop_on, *repeat_on, *shuffle_on, *listpos_on; static GtkWidget *configure_win; static GtkObject *timeout_obj, *offset_obj, *h_offset_obj, *shadow_obj, *outline_obj; @@ -58,7 +58,7 @@ show.stop = isactive (stop_on); show.repeat = isactive (repeat_on); show.shuffle = isactive (shuffle_on); - + show.listpos = isactive (listpos_on); if (colour) g_free (colour); @@ -564,11 +564,12 @@ show_item (vbox2, "Balance", show.balance, &bal_on); show_item (vbox2, "Pause", show.pause, &pause_on); show_item (vbox2, "Track Name", show.trackname, &trackname_on); - vbox2 = gtk_vbox_new (FALSE, 5); + vbox2 = gtk_vbox_new (FALSE, 4); gtk_box_pack_start (GTK_BOX (hbox2), vbox2, FALSE, FALSE, 0); show_item (vbox2, "Stop", show.stop, &stop_on); show_item (vbox2, "Repeat", show.repeat, &repeat_on); show_item (vbox2, "Shuffle", show.shuffle, &shuffle_on); + show_item (vbox2, "Playlist Position", show.listpos, &listpos_on); sep = gtk_hseparator_new (); gtk_box_pack_start (GTK_BOX (vbox), sep, FALSE, FALSE, 0); diff -ur xosd-2.2.5.orig/src/xmms_plugin/xmms_osd.c xosd-2.2.5/src/xmms_plugin/xmms_osd.c --- xosd-2.2.5.orig/src/xmms_plugin/xmms_osd.c 2003-09-29 22:48:34.874787304 -0400 +++ xosd-2.2.5/src/xmms_plugin/xmms_osd.c 2003-09-29 22:54:27.111239224 -0400 @@ -175,6 +175,7 @@ show.stop = 1; show.repeat = 1; show.shuffle = 1; + show.listpos = 1; g_free (colour); g_free (font); @@ -207,6 +208,7 @@ xmms_cfg_read_int (cfgfile, "osd", "show_stop", &show.stop); xmms_cfg_read_int (cfgfile, "osd", "show_repeat", &show.repeat); xmms_cfg_read_int (cfgfile, "osd", "show_shuffle", &show.shuffle); + xmms_cfg_read_int (cfgfile, "osd", "show_listpos", &show.listpos); xmms_cfg_free (cfgfile); } @@ -249,6 +251,7 @@ xmms_cfg_write_int (cfgfile, "osd", "show_stop", show.stop); xmms_cfg_write_int (cfgfile, "osd", "show_repeat", show.repeat); xmms_cfg_write_int (cfgfile, "osd", "show_shuffle", show.shuffle); + xmms_cfg_write_int (cfgfile, "osd", "show_listpos", show.listpos); xmms_cfg_write_default_file (cfgfile); xmms_cfg_free (cfgfile); @@ -376,10 +379,13 @@ if (title != NULL) { title2 = malloc (strlen (current.title) + 26); + if (show.listpos) sprintf (title2, "%i/%i: %s", xmms_remote_get_playlist_pos (gp.xmms_session) + 1, xmms_remote_get_playlist_length (gp.xmms_session), current.title); + else + sprintf (title2,"%s",current.title); } } } @@ -400,6 +406,7 @@ if (current.title != NULL) { title2 = malloc (strlen (current.title) + 52); + if (show.listpos) sprintf (title2, "%i/%i: %s (%.2i:%.2i)", xmms_remote_get_playlist_pos (gp.xmms_session) + 1, xmms_remote_get_playlist_length (gp.xmms_session), @@ -408,6 +415,11 @@ 1000 / 60, xmms_remote_get_output_time (gp.xmms_session) / 1000 % 60); + else + sprintf (title2,"%s (%.2i:%.2i)", + current.title, + xmms_remote_get_output_time(gp.xmms_session)/1000/60, + xmms_remote_get_output_time(gp.xmms_session)/1000%60); } } } diff -ur xosd-2.2.5.orig/src/xmms_plugin/xmms_osd.h xosd-2.2.5/src/xmms_plugin/xmms_osd.h --- xosd-2.2.5.orig/src/xmms_plugin/xmms_osd.h 2003-09-29 22:48:34.874787304 -0400 +++ xosd-2.2.5/src/xmms_plugin/xmms_osd.h 2003-09-29 22:54:45.944376152 -0400 @@ -21,6 +21,7 @@ gboolean stop; gboolean repeat; gboolean shuffle; + gboolean listpos; }; extern struct show show;