Index: plugins/xmms/all.h
===================================================================
--- plugins/xmms/all.h	(revision 1106)
+++ plugins/xmms/all.h	(revision 1121)
@@ -30,4 +30,5 @@
 //#include "xmms/i18n.h"
 #include <gtk/gtk.h>
+#include <gdk/gdkkeysyms.h>
 #include <stdio.h>
 #include <string.h>
Index: plugins/xmms/configure
===================================================================
--- plugins/xmms/configure	(revision 1056)
+++ plugins/xmms/configure	(revision 1121)
@@ -43,7 +43,25 @@
 fi
 
+echo -n "checking for pkg-config... "
+PKG_CONFIG=$(which pkg-config false 2> /dev/null | grep ^/ | head -n 1)
+if $PKG_CONFIG --help > /dev/null 2> /dev/null
+then
+ echo $PKG_CONFIG
+else
+ PKG_CONFIG=''
+ echo no
+fi
+
 echo -n 'testing for gtk... '
-GTK_LIBS=`gtk-config --libs 2> /dev/null`
-GTK_CFLAFS=`gtk-config --cflags 2> /dev/null`
+#pkg-config
+
+#if [ "$PKG_CONFIG" != '' ]
+#then
+# GTK_LIBS=`pkg-config --libs gtk+-2.0 2> /dev/null`
+# GTK_CFLAFS=`pkg-config --cflags gtk+-2.0 2> /dev/null`
+#else
+ GTK_LIBS=`gtk-config --libs 2> /dev/null`
+ GTK_CFLAFS=`gtk-config --cflags 2> /dev/null`
+#fi
 
 if [ "$GTK_LIBS" = '' -a "$GTK_CFLAFS" = '' ]
Index: plugins/xmms/gui.c
===================================================================
--- plugins/xmms/gui.c	(revision 1108)
+++ plugins/xmms/gui.c	(revision 1121)
@@ -44,5 +44,293 @@
 // CONFIG:
 
+void on_button_ok_enter(GtkButton * button, gpointer user_data) {
+}
+
 void roar_configure(void) {
+  GtkWidget *config_win;
+  GtkWidget *vbox_main;
+  GtkWidget *tabs_main;
+  GtkWidget *frame_server;
+  GtkWidget *alignment_server;
+  GtkWidget *table1;
+  GtkWidget *label_server_type;
+  GtkWidget *label_server_host;
+  GtkWidget *label_server_port;
+  GtkObject *input_server_port_adj;
+  GtkWidget *input_server_port;
+  GtkWidget *input_server_host;
+  GtkWidget *input_server_type;
+  GtkWidget *label_host;
+  GtkWidget *label_server;
+  GtkWidget *frame_proxy;
+  GtkWidget *alignment_proxy;
+  GtkWidget *table2;
+  GtkWidget *label_proxy_type;
+  GtkWidget *label_proxy_addr;
+  GtkWidget *input_proxy_host;
+  GtkWidget *input_proxy_type;
+  GtkWidget *label_frame_proxy;
+  GtkWidget *label_proxy;
+  GtkWidget *vbox_meta;
+  GtkWidget *frame_meta_player;
+  GtkWidget *alignment1;
+  GtkWidget *hbox_meta_player;
+  GtkWidget *label_player_name;
+  GtkWidget *input_meta_player_name;
+  GtkWidget *label_player;
+  GtkWidget *frame_meta_title;
+  GtkWidget *alignment2;
+  GtkWidget *hbox_meta_title;
+  GtkWidget *input_meta_send_title;
+  GtkWidget *input_meta_send_filename;
+  GtkWidget *label_meta_title;
+  GtkWidget *label_meta;
+  GtkWidget *hbox_buttons;
+  GtkWidget *button_ok;
+  GtkWidget *button_cancel;
+
+  config_win = gtk_window_new(GTK_WINDOW_DIALOG);
+  gtk_window_set_title(GTK_WINDOW(config_win), _("RoarAudio Plugin - Configuration"));
+//  gtk_window_set_destroy_with_parent(GTK_WINDOW(config_win), TRUE);
+//  gtk_window_set_icon_name(GTK_WINDOW(config_win), "gtk-preferences");
+
+  gtk_widget_show (config_win);
+
+  vbox_main = gtk_vbox_new (FALSE, 0);
+  gtk_widget_show (vbox_main);
+  gtk_container_add (GTK_CONTAINER (config_win), vbox_main);
+
+  tabs_main = gtk_notebook_new ();
+  gtk_widget_show (tabs_main);
+  gtk_box_pack_start (GTK_BOX (vbox_main), tabs_main, TRUE, TRUE, 0);
+
+  frame_server = gtk_frame_new (NULL);
+  gtk_widget_show (frame_server);
+  gtk_container_add (GTK_CONTAINER (tabs_main), frame_server);
+  gtk_frame_set_shadow_type (GTK_FRAME (frame_server), GTK_SHADOW_NONE);
+
+  alignment_server = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_widget_show (alignment_server);
+  gtk_container_add (GTK_CONTAINER (frame_server), alignment_server);
+//  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment_server), 0, 0, 12, 0);
+
+  table1 = gtk_table_new (3, 2, FALSE);
+  gtk_widget_show (table1);
+  gtk_container_add (GTK_CONTAINER (alignment_server), table1);
+
+  label_server_type = gtk_label_new (_("Server Type:"));
+  gtk_widget_show (label_server_type);
+  gtk_table_attach (GTK_TABLE (table1), label_server_type, 0, 1, 0, 1,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (label_server_type), 0, 0.5);
+
+  label_server_host = gtk_label_new (_("Host or Path:"));
+  gtk_widget_show (label_server_host);
+  gtk_table_attach (GTK_TABLE (table1), label_server_host, 0, 1, 1, 2,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (label_server_host), 0, 0.5);
+
+  label_server_port = gtk_label_new (_("Port:"));
+  gtk_widget_show (label_server_port);
+  gtk_table_attach (GTK_TABLE (table1), label_server_port, 0, 1, 2, 3,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (label_server_port), 0, 0.5);
+
+  input_server_port_adj = gtk_adjustment_new (16002, 0, 65535, 1, 10, 10);
+  input_server_port = gtk_spin_button_new (GTK_ADJUSTMENT (input_server_port_adj), 1, 0);
+  gtk_widget_show (input_server_port);
+  gtk_table_attach (GTK_TABLE (table1), input_server_port, 1, 2, 2, 3,
+                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+
+  input_server_host = gtk_entry_new ();
+  gtk_widget_show (input_server_host);
+  gtk_table_attach (GTK_TABLE (table1), input_server_host, 1, 2, 1, 2,
+                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+
+/*
+  input_server_type = gtk_combo_box_entry_new_text ();
+  gtk_widget_show (input_server_type);
+  gtk_table_attach (GTK_TABLE (table1), input_server_type, 1, 2, 0, 1,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (GTK_FILL), 0, 0);
+  gtk_combo_box_append_text (GTK_COMBO_BOX (input_server_type), _("Local"));
+  gtk_combo_box_append_text (GTK_COMBO_BOX (input_server_type), _("TCP/IP"));
+  gtk_combo_box_append_text (GTK_COMBO_BOX (input_server_type), _("DECnet"));
+  gtk_combo_box_append_text (GTK_COMBO_BOX (input_server_type), _("Fork"));
+*/
+  label_host = gtk_label_new (_("<b>Host:</b>"));
+  gtk_widget_show (label_host);
+//  gtk_frame_set_label_widget (GTK_FRAME (frame_server), label_host);
+//  gtk_label_set_use_markup (GTK_LABEL (label_host), TRUE);
+
+  label_server = gtk_label_new (_("Server & Network"));
+  gtk_widget_show (label_server);
+  gtk_notebook_set_tab_label (GTK_NOTEBOOK (tabs_main), gtk_notebook_get_nth_page (GTK_NOTEBOOK (tabs_main), 0), label_server);
+
+  frame_proxy = gtk_frame_new (NULL);
+  gtk_widget_show (frame_proxy);
+  gtk_container_add (GTK_CONTAINER (tabs_main), frame_proxy);
+  gtk_frame_set_shadow_type (GTK_FRAME (frame_proxy), GTK_SHADOW_NONE);
+
+  alignment_proxy = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_widget_show (alignment_proxy);
+  gtk_container_add (GTK_CONTAINER (frame_proxy), alignment_proxy);
+//  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment_proxy), 0, 0, 12, 0);
+
+  table2 = gtk_table_new (2, 2, FALSE);
+  gtk_widget_show (table2);
+  gtk_container_add (GTK_CONTAINER (alignment_proxy), table2);
+
+  label_proxy_type = gtk_label_new (_("Type:"));
+  gtk_widget_show (label_proxy_type);
+  gtk_table_attach (GTK_TABLE (table2), label_proxy_type, 0, 1, 0, 1,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (label_proxy_type), 0, 0.5);
+
+  label_proxy_addr = gtk_label_new (_("Proxy Address"));
+  gtk_widget_show (label_proxy_addr);
+  gtk_table_attach (GTK_TABLE (table2), label_proxy_addr, 0, 1, 1, 2,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (label_proxy_addr), 0, 0.5);
+
+  input_proxy_host = gtk_entry_new ();
+  gtk_widget_show (input_proxy_host);
+  gtk_table_attach (GTK_TABLE (table2), input_proxy_host, 1, 2, 1, 2,
+                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+
+/*
+  input_proxy_type = gtk_combo_box_entry_new_text ();
+  gtk_widget_show (input_proxy_type);
+  gtk_table_attach (GTK_TABLE (table2), input_proxy_type, 1, 2, 0, 1,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (GTK_FILL), 0, 0);
+  gtk_combo_box_append_text (GTK_COMBO_BOX (input_proxy_type), _("None"));
+  gtk_combo_box_append_text (GTK_COMBO_BOX (input_proxy_type), _("SOCKS4"));
+  gtk_combo_box_append_text (GTK_COMBO_BOX (input_proxy_type), _("SOCKS4a"));
+  gtk_combo_box_append_text (GTK_COMBO_BOX (input_proxy_type), _("SOCKS4d"));
+  gtk_combo_box_append_text (GTK_COMBO_BOX (input_proxy_type), _("HTTP Connect"));
+  gtk_combo_box_append_text (GTK_COMBO_BOX (input_proxy_type), _("SSH"));
+*/
+
+  label_frame_proxy = gtk_label_new (_("<b>Proxy</b>"));
+  gtk_widget_show (label_frame_proxy);
+/*
+  gtk_frame_set_label_widget (GTK_FRAME (frame_proxy), label_frame_proxy);
+  gtk_label_set_use_markup (GTK_LABEL (label_frame_proxy), TRUE);
+*/
+
+  label_proxy = gtk_label_new (_("Proxy"));
+  gtk_widget_show (label_proxy);
+  gtk_notebook_set_tab_label (GTK_NOTEBOOK (tabs_main), gtk_notebook_get_nth_page (GTK_NOTEBOOK (tabs_main), 1), label_proxy);
+
+  vbox_meta = gtk_vbox_new (FALSE, 0);
+  gtk_widget_show (vbox_meta);
+  gtk_container_add (GTK_CONTAINER (tabs_main), vbox_meta);
+
+  frame_meta_player = gtk_frame_new (NULL);
+  gtk_widget_show (frame_meta_player);
+  gtk_box_pack_start (GTK_BOX (vbox_meta), frame_meta_player, TRUE, TRUE, 0);
+  gtk_frame_set_shadow_type (GTK_FRAME (frame_meta_player), GTK_SHADOW_NONE);
+
+  alignment1 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_widget_show (alignment1);
+  gtk_container_add (GTK_CONTAINER (frame_meta_player), alignment1);
+//  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment1), 0, 0, 12, 0);
+
+  hbox_meta_player = gtk_hbox_new (FALSE, 0);
+  gtk_widget_show (hbox_meta_player);
+  gtk_container_add (GTK_CONTAINER (alignment1), hbox_meta_player);
+
+  label_player_name = gtk_label_new (_("Player Name:"));
+  gtk_widget_show (label_player_name);
+  gtk_box_pack_start (GTK_BOX (hbox_meta_player), label_player_name, FALSE, FALSE, 0);
+
+  input_meta_player_name = gtk_entry_new ();
+  gtk_widget_show (input_meta_player_name);
+  gtk_box_pack_start (GTK_BOX (hbox_meta_player), input_meta_player_name, TRUE, TRUE, 0);
+  gtk_entry_set_text (GTK_ENTRY (input_meta_player_name), _("XMMS"));
+
+  label_player = gtk_label_new (_("<b>Player</b>"));
+  gtk_widget_show (label_player);
+/*
+  gtk_frame_set_label_widget (GTK_FRAME (frame_meta_player), label_player);
+  gtk_label_set_use_markup (GTK_LABEL (label_player), TRUE);
+*/
+
+  frame_meta_title = gtk_frame_new (NULL);
+  gtk_widget_show (frame_meta_title);
+  gtk_box_pack_start (GTK_BOX (vbox_meta), frame_meta_title, TRUE, TRUE, 0);
+  gtk_frame_set_shadow_type (GTK_FRAME (frame_meta_title), GTK_SHADOW_NONE);
+
+  alignment2 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_widget_show (alignment2);
+  gtk_container_add (GTK_CONTAINER (frame_meta_title), alignment2);
+//  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment2), 0, 0, 12, 0);
+
+  hbox_meta_title = gtk_hbox_new (FALSE, 0);
+  gtk_widget_show (hbox_meta_title);
+  gtk_container_add (GTK_CONTAINER (alignment2), hbox_meta_title);
+
+/*
+  input_meta_send_title = gtk_check_button_new_with_mnemonic (_("Send song title to server"));
+  gtk_widget_show (input_meta_send_title);
+  gtk_box_pack_start (GTK_BOX (hbox_meta_title), input_meta_send_title, FALSE, FALSE, 0);
+  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (input_meta_send_title), TRUE);
+
+  input_meta_send_filename = gtk_check_button_new_with_mnemonic (_("Send song filename to server"));
+  gtk_widget_show (input_meta_send_filename);
+  gtk_box_pack_start (GTK_BOX (hbox_meta_title), input_meta_send_filename, FALSE, FALSE, 0);
+  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (input_meta_send_filename), TRUE);
+*/
+
+  label_meta_title = gtk_label_new (_("<b>Current Song</b>"));
+  gtk_widget_show (label_meta_title);
+/*
+  gtk_frame_set_label_widget (GTK_FRAME (frame_meta_title), label_meta_title);
+  gtk_label_set_use_markup (GTK_LABEL (label_meta_title), TRUE);
+*/
+
+  label_meta = gtk_label_new (_("Meta Data"));
+  gtk_widget_show (label_meta);
+  gtk_notebook_set_tab_label (GTK_NOTEBOOK (tabs_main), gtk_notebook_get_nth_page (GTK_NOTEBOOK (tabs_main), 2), label_meta);
+
+  hbox_buttons = gtk_hbox_new (FALSE, 0);
+  gtk_widget_show (hbox_buttons);
+  gtk_box_pack_start (GTK_BOX (vbox_main), hbox_buttons, TRUE, TRUE, 0);
+
+
+  button_ok = gtk_button_new_with_label(_("OK"));
+  gtk_box_pack_start (GTK_BOX (hbox_buttons), button_ok, FALSE, FALSE, 0);
+
+  button_cancel = gtk_button_new_with_label(_("Cancel"));
+  gtk_signal_connect_object(GTK_OBJECT(button_cancel), "clicked",
+                            GTK_SIGNAL_FUNC(gtk_widget_destroy),
+                            GTK_OBJECT(config_win));
+  gtk_box_pack_start (GTK_BOX (hbox_buttons), button_cancel, FALSE, FALSE, 0);
+
+/*
+  button_ok = gtk_button_new_from_stock ("gtk-ok");
+  gtk_widget_show (button_ok);
+  gtk_box_pack_start (GTK_BOX (hbox_buttons), button_ok, FALSE, FALSE, 0);
+
+  button_cancel = gtk_button_new_from_stock ("gtk-cancel");
+  gtk_widget_show (button_cancel);
+  gtk_box_pack_start (GTK_BOX (hbox_buttons), button_cancel, FALSE, FALSE, 0);
+
+  g_signal_connect_swapped ((gpointer) button_ok, "clicked",
+                            G_CALLBACK (on_button_ok_enter),
+                            GTK_OBJECT (config_win));
+  g_signal_connect_swapped ((gpointer) button_cancel, "clicked",
+                            G_CALLBACK (gtk_widget_destroy),
+                            GTK_OBJECT (config_win));
+*/
 }
 
Index: plugins/xmms/roar.c
===================================================================
--- plugins/xmms/roar.c	(revision 1108)
+++ plugins/xmms/roar.c	(revision 1121)
@@ -151,4 +151,5 @@
   if ( !(g_inst.state & STATE_NORECONNECT) ) {
    g_inst.state |= STATE_NORECONNECT;
+   usleep(100000);
    return roar_open(fmt, rate, nch);
   } else {
