Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > 82b188b3d8ce190858063c6282850d4e > files > 1

gnomeradio-1.8-15.fc16.src.rpm

diff -up gnomeradio-1.8/config.h.in.nogtk2 gnomeradio-1.8/config.h.in
--- gnomeradio-1.8/config.h.in.nogtk2	2008-09-13 11:59:01.000000000 -0400
+++ gnomeradio-1.8/config.h.in	2011-04-25 17:27:53.466923538 -0400
@@ -6,9 +6,6 @@
 /* GETTEXT_PACKAGE */
 #undef GETTEXT_PACKAGE
 
-/* "Is GNOME 2.14 installed" */
-#undef GNOME_14
-
 /* Define to 1 if you have the `bind_textdomain_codeset' function. */
 #undef HAVE_BIND_TEXTDOMAIN_CODESET
 
diff -up gnomeradio-1.8/configure.nogtk2 gnomeradio-1.8/configure
--- gnomeradio-1.8/configure.nogtk2	2011-04-25 17:27:53.454923687 -0400
+++ gnomeradio-1.8/configure	2011-04-25 17:27:53.475923425 -0400
@@ -22936,12 +22936,12 @@ if test -n "$PKG_CONFIG"; then
         pkg_cv_GNOME_CFLAGS="$GNOME_CFLAGS"
     else
         if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libgnomeui-2.0 >= 2.12 gconf-2.0 >= 2.12 gnome-vfs-2.0 >= 2.12 libgnome-media-profiles-3.0 >= 2.12\"") >&5
-  ($PKG_CONFIG --exists --print-errors "libgnomeui-2.0 >= 2.12 gconf-2.0 >= 2.12 gnome-vfs-2.0 >= 2.12 libgnome-media-profiles-3.0 >= 2.12") 2>&5
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"dbus-glib-1 gconf-2.0 >= 2.12 gnome-vfs-2.0 >= 2.12 libgnome-media-profiles-3.0 >= 2.12\"") >&5
+  ($PKG_CONFIG --exists --print-errors "dbus-glib-1 gconf-2.0 >= 2.12 gnome-vfs-2.0 >= 2.12 libgnome-media-profiles-3.0 >= 2.12") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_GNOME_CFLAGS=`$PKG_CONFIG --cflags "libgnomeui-2.0 >= 2.12 gconf-2.0 >= 2.12 gnome-vfs-2.0 >= 2.12 libgnome-media-profiles-3.0 >= 2.12" 2>/dev/null`
+  pkg_cv_GNOME_CFLAGS=`$PKG_CONFIG --cflags "dbus-glib-1 gconf-2.0 >= 2.12 gnome-vfs-2.0 >= 2.12 libgnome-media-profiles-3.0 >= 2.12" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -22954,12 +22954,12 @@ if test -n "$PKG_CONFIG"; then
         pkg_cv_GNOME_LIBS="$GNOME_LIBS"
     else
         if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libgnomeui-2.0 >= 2.12 gconf-2.0 >= 2.12 gnome-vfs-2.0 >= 2.12 libgnome-media-profiles-3.0 >= 2.12\"") >&5
-  ($PKG_CONFIG --exists --print-errors "libgnomeui-2.0 >= 2.12 gconf-2.0 >= 2.12 gnome-vfs-2.0 >= 2.12 libgnome-media-profiles-3.0 >= 2.12") 2>&5
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"dbus-glib-1 gconf-2.0 >= 2.12 gnome-vfs-2.0 >= 2.12 libgnome-media-profiles-3.0 >= 2.12\"") >&5
+  ($PKG_CONFIG --exists --print-errors "dbus-glib-1 gconf-2.0 >= 2.12 gnome-vfs-2.0 >= 2.12 libgnome-media-profiles-3.0 >= 2.12") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_GNOME_LIBS=`$PKG_CONFIG --libs "libgnomeui-2.0 >= 2.12 gconf-2.0 >= 2.12 gnome-vfs-2.0 >= 2.12 libgnome-media-profiles-3.0 >= 2.12" 2>/dev/null`
+  pkg_cv_GNOME_LIBS=`$PKG_CONFIG --libs "dbus-glib-1 gconf-2.0 >= 2.12 gnome-vfs-2.0 >= 2.12 libgnome-media-profiles-3.0 >= 2.12" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -22978,14 +22978,14 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        GNOME_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libgnomeui-2.0 >= 2.12 gconf-2.0 >= 2.12 gnome-vfs-2.0 >= 2.12 libgnome-media-profiles-3.0 >= 2.12"`
+	        GNOME_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "dbus-glib-1 gconf-2.0 >= 2.12 gnome-vfs-2.0 >= 2.12 libgnome-media-profiles-3.0 >= 2.12"`
         else
-	        GNOME_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libgnomeui-2.0 >= 2.12 gconf-2.0 >= 2.12 gnome-vfs-2.0 >= 2.12 libgnome-media-profiles-3.0 >= 2.12"`
+	        GNOME_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "dbus-glib-1 gconf-2.0 >= 2.12 gnome-vfs-2.0 >= 2.12 libgnome-media-profiles-3.0 >= 2.12"`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$GNOME_PKG_ERRORS" >&5
 
-	{ { echo "$as_me:$LINENO: error: Package requirements (libgnomeui-2.0 >= 2.12 gconf-2.0 >= 2.12 gnome-vfs-2.0 >= 2.12 libgnome-media-profiles-3.0 >= 2.12) were not met:
+	{ { echo "$as_me:$LINENO: error: Package requirements (dbus-glib-1 gconf-2.0 >= 2.12 gnome-vfs-2.0 >= 2.12 libgnome-media-profiles-3.0 >= 2.12) were not met:
 
 $GNOME_PKG_ERRORS
 
@@ -22996,7 +22996,7 @@ Alternatively, you may set the environme
 and GNOME_LIBS to avoid the need to call pkg-config.
 See the pkg-config man page for more details.
 " >&5
-echo "$as_me: error: Package requirements (libgnomeui-2.0 >= 2.12 gconf-2.0 >= 2.12 gnome-vfs-2.0 >= 2.12 libgnome-media-profiles-3.0 >= 2.12) were not met:
+echo "$as_me: error: Package requirements (dbus-glib-1 gconf-2.0 >= 2.12 gnome-vfs-2.0 >= 2.12 libgnome-media-profiles-3.0 >= 2.12) were not met:
 
 $GNOME_PKG_ERRORS
 
@@ -23038,86 +23038,6 @@ echo "${ECHO_T}yes" >&6; }
 	:
 fi
 
-pkg_failed=no
-{ echo "$as_me:$LINENO: checking for GNOME14" >&5
-echo $ECHO_N "checking for GNOME14... $ECHO_C" >&6; }
-
-if test -n "$PKG_CONFIG"; then
-    if test -n "$GNOME14_CFLAGS"; then
-        pkg_cv_GNOME14_CFLAGS="$GNOME14_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libgnomeui-2.0 >= 2.14\"") >&5
-  ($PKG_CONFIG --exists --print-errors "libgnomeui-2.0 >= 2.14") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_GNOME14_CFLAGS=`$PKG_CONFIG --cflags "libgnomeui-2.0 >= 2.14" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
-    fi
-else
-	pkg_failed=untried
-fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$GNOME14_LIBS"; then
-        pkg_cv_GNOME14_LIBS="$GNOME14_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libgnomeui-2.0 >= 2.14\"") >&5
-  ($PKG_CONFIG --exists --print-errors "libgnomeui-2.0 >= 2.14") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_GNOME14_LIBS=`$PKG_CONFIG --libs "libgnomeui-2.0 >= 2.14" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
-    fi
-else
-	pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-	        GNOME14_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libgnomeui-2.0 >= 2.14"`
-        else
-	        GNOME14_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libgnomeui-2.0 >= 2.14"`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$GNOME14_PKG_ERRORS" >&5
-
-	{ echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-                GNOME_14="0";echo "no"
-elif test $pkg_failed = untried; then
-	GNOME_14="0";echo "no"
-else
-	GNOME14_CFLAGS=$pkg_cv_GNOME14_CFLAGS
-	GNOME14_LIBS=$pkg_cv_GNOME14_LIBS
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-	GNOME_14="1";echo "yes"
-fi
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define GNOME_14 ${GNOME_14}
-_ACEOF
-
-
-
 
 pkg_failed=no
 { echo "$as_me:$LINENO: checking for GSTREAMER" >&5
diff -up gnomeradio-1.8/src/bacon-volume.c.nogtk2 gnomeradio-1.8/src/bacon-volume.c
--- gnomeradio-1.8/src/bacon-volume.c.nogtk2	2011-04-25 17:27:53.459923625 -0400
+++ gnomeradio-1.8/src/bacon-volume.c	2011-04-25 17:27:53.476923412 -0400
@@ -520,7 +520,7 @@ bacon_volume_scale_new (BaconVolumeButto
 			float step)
 {
   BaconVolumeScale *scale = g_object_new (BACON_TYPE_VOLUME_SCALE, NULL);
-  GtkObject *adj;
+  GObject *adj;
 
   adj = gtk_adjustment_new (min, min, max, step, 10 * step, 0);
   gtk_range_set_adjustment (GTK_RANGE (scale), GTK_ADJUSTMENT (adj));
diff -up gnomeradio-1.8/src/bacon-volume.h.nogtk2 gnomeradio-1.8/src/bacon-volume.h
--- gnomeradio-1.8/src/bacon-volume.h.nogtk2	2007-02-24 18:33:36.000000000 -0500
+++ gnomeradio-1.8/src/bacon-volume.h	2011-04-25 17:27:53.477923399 -0400
@@ -20,8 +20,7 @@
 #ifndef __BACON_VOLUME_BUTTON_H__
 #define __BACON_VOLUME_BUTTON_H__
 
-#include <gtk/gtkbutton.h>
-#include <gtk/gtkicontheme.h>
+#include <gtk/gtk.h>
 
 G_BEGIN_DECLS
 
diff -up gnomeradio-1.8/src/gui.c.nogtk2 gnomeradio-1.8/src/gui.c
--- gnomeradio-1.8/src/gui.c.nogtk2	2011-04-25 17:27:53.460923612 -0400
+++ gnomeradio-1.8/src/gui.c	2011-04-25 17:27:53.478923387 -0400
@@ -21,9 +21,11 @@
 /*** the gui to gnomeradio */
 
 #include <config.h>
-#include <gnome.h>
+#include <glib/gi18n.h>
 #include <libgnome-media-profiles/gnome-media-profiles.h>
 #include <gconf/gconf-client.h>
+#include <dbus/dbus-glib.h>
+#include <dbus/dbus-glib-bindings.h>
 #include <math.h>
 #include "bacon-volume.h"
 #include "gui.h"
@@ -50,7 +52,6 @@
 
 GtkWidget* mute_button, *preset_combo;
 GtkAdjustment *adj;
-GtkTooltips *tooltips;
 
 int mom_ps;
 gnomeradio_settings settings;
@@ -58,12 +59,14 @@ gnomeradio_settings settings;
 gboolean main_visible;
 
 static GtkWidget *drawing_area;
-static GdkPixmap *digits, *signal_s, *stereo;
+static GdkPixbuf *digits, *signal_s, *stereo;
 static GtkWidget *freq_scale;
 static GtkWidget *rec_pixmap;
 
 static int timeout_id, bp_timeout_id = -1, bp_timeout_steps = 0;
 
+static DBusGProxy      * connect_to_session               (void);
+
 static gboolean is_first_start(void)
 {
 	GConfClient *client = gconf_client_get_default();
@@ -132,7 +135,7 @@ static void initial_frequency_scan(GtkWi
 	
 	data.dialog = gtk_dialog_new_with_buttons(_("Scanning"),
 		GTK_WINDOW(app), DIALOG_FLAGS, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL);
-	gtk_dialog_set_has_separator(GTK_DIALOG(data.dialog), FALSE);
+	/* gtk_dialog_set_has_separator(GTK_DIALOG(data.dialog), FALSE); */
 	gtk_window_set_resizable(GTK_WINDOW(data.dialog), FALSE);
 	
 	title_hdr = g_strconcat("<span weight=\"bold\">", _("Scanning for available stations:"), "</span>", NULL);
@@ -153,7 +156,7 @@ static void initial_frequency_scan(GtkWi
 	
 	radio_mute();
 	timeout_id = g_timeout_add(1000/SCAN_SPEED, (GSourceFunc)initial_frequency_scan_cb, (gpointer)&data);	
-	int response = gtk_dialog_run(GTK_DIALOG(data.dialog));
+	gtk_dialog_run(GTK_DIALOG(data.dialog));
 
 	radio_unmute();
 	if (timeout_id) {
@@ -218,7 +221,7 @@ static void prefs_button_clicked_cb(GtkB
 			break;
 			default:
 				/* We need the hide signal to get the value of the device_entry */
-				gtk_widget_hide_all(dialog);
+				gtk_widget_hide(dialog);
 				gtk_widget_destroy(dialog);
 		}
 	}
@@ -306,9 +309,9 @@ GList* get_mixer_recdev_list(void)
 static gboolean redraw_status_window(void)
 {
 
-	GdkWindow *real_window, *window;
-	GdkGC *gc;
-	int win_width, win_height;
+	GdkWindow *real_window;
+	cairo_t *cr;
+	int win_width;
 	int val, freq[5], signal_strength, is_stereo;
 	
 	val = (int)(rint(gtk_adjustment_get_value(adj)/STEPS * 100.0));
@@ -330,32 +333,62 @@ static gboolean redraw_status_window(voi
 	if (real_window == NULL)
 		/* UI has not been realized yet */
 		return TRUE;
-	gc = gdk_gc_new(real_window);
-	gdk_drawable_get_size(real_window, &win_width, &win_height);
+	/* gdk_drawable_get_size(real_window, &win_width, &win_height); */
+	win_width = gdk_window_get_width (real_window);
 	
 	/* use doublebuffering to avoid flickering */
-	window = gdk_pixmap_new(real_window, win_width, win_height, -1);
+	/* window = gdk_pixmap_new(real_window, win_width, win_height, -1); */
 
-	gdk_draw_rectangle(window, gc, TRUE, 0, 0, win_width, win_height);
+	cr = gdk_cairo_create (real_window);
+	cairo_set_source_rgb (cr, 1, 1, 1);
+	cairo_paint (cr);
 	
 	win_width -= 5;
 	
-	if (freq[0])	gdk_draw_drawable(window, gc, digits, freq[0] * DIGIT_WIDTH, 0, win_width - DIGIT_WIDTH*6, 5, DIGIT_WIDTH, DIGIT_HEIGTH);
-	else gdk_draw_rectangle(window, gc, TRUE, win_width - DIGIT_WIDTH*6, 5, DIGIT_WIDTH, DIGIT_HEIGTH);
+	if (freq[0]) {
+		/* gdk_draw_drawable(window, gc, digits, freq[0] * DIGIT_WIDTH, 0, win_width - DIGIT_WIDTH*6, 5, DIGIT_WIDTH, DIGIT_HEIGTH); */
+		gdk_cairo_set_source_pixbuf (cr, digits, win_width - DIGIT_WIDTH*6 - freq[0] * DIGIT_WIDTH, 5);
+		cairo_rectangle (cr, win_width - DIGIT_WIDTH*6, 5, DIGIT_WIDTH, DIGIT_HEIGTH);
+		cairo_fill (cr);
+	} else {
+		cairo_rectangle(cr, win_width - DIGIT_WIDTH*6, 5, DIGIT_WIDTH, DIGIT_HEIGTH);
+		cairo_fill (cr);
+	}
 
-	gdk_draw_drawable(window, gc, digits, freq[1] * DIGIT_WIDTH, 0, win_width - DIGIT_WIDTH*5, 5, DIGIT_WIDTH, DIGIT_HEIGTH);
-	gdk_draw_drawable(window, gc, digits, freq[2] * DIGIT_WIDTH, 0, win_width - DIGIT_WIDTH*4, 5, DIGIT_WIDTH, DIGIT_HEIGTH);
-	gdk_draw_drawable(window, gc, digits, 10 * DIGIT_WIDTH, 0, win_width - DIGIT_WIDTH*3, 5, DIGIT_WIDTH, DIGIT_HEIGTH);
-	gdk_draw_drawable(window, gc, digits, freq[3] * DIGIT_WIDTH, 0, win_width - DIGIT_WIDTH*2, 5, DIGIT_WIDTH, DIGIT_HEIGTH);
-	gdk_draw_drawable(window, gc, digits, freq[4] * DIGIT_WIDTH, 0, win_width - DIGIT_WIDTH*1, 5, DIGIT_WIDTH, DIGIT_HEIGTH);
-	gdk_draw_drawable(window, gc, signal_s, signal_strength * SIGNAL_WIDTH, 0, win_width - DIGIT_WIDTH*6-SIGNAL_WIDTH, 5, SIGNAL_WIDTH, DIGIT_HEIGTH);
-	gdk_draw_drawable(window, gc, stereo, is_stereo * STEREO_WIDTH, 0, win_width - DIGIT_WIDTH*6-SIGNAL_WIDTH-STEREO_WIDTH, 5, STEREO_WIDTH, DIGIT_HEIGTH);
+	/* gdk_draw_drawable(window, gc, digits, freq[1] * DIGIT_WIDTH, 0, win_width - DIGIT_WIDTH*5, 5, DIGIT_WIDTH, DIGIT_HEIGTH); */
+	gdk_cairo_set_source_pixbuf (cr, digits, win_width - DIGIT_WIDTH*5 - freq[1] * DIGIT_WIDTH, 5);
+	cairo_rectangle (cr, win_width - DIGIT_WIDTH*5, 5, DIGIT_WIDTH, DIGIT_HEIGTH);
+	cairo_fill(cr);
+	/* gdk_draw_drawable(window, gc, digits, freq[2] * DIGIT_WIDTH, 0, win_width - DIGIT_WIDTH*4, 5, DIGIT_WIDTH, DIGIT_HEIGTH); */
+	gdk_cairo_set_source_pixbuf (cr, digits, win_width - DIGIT_WIDTH*4 - freq[2] * DIGIT_WIDTH, 5);
+	cairo_rectangle (cr, win_width - DIGIT_WIDTH*4, 5, DIGIT_WIDTH, DIGIT_HEIGTH);
+	cairo_fill(cr);
+	/* gdk_draw_drawable(window, gc, digits, 10 * DIGIT_WIDTH, 0, win_width - DIGIT_WIDTH*3, 5, DIGIT_WIDTH, DIGIT_HEIGTH); */
+	gdk_cairo_set_source_pixbuf (cr, digits, win_width - DIGIT_WIDTH*3 - 10 * DIGIT_WIDTH, 5);
+	cairo_rectangle (cr, win_width - DIGIT_WIDTH*3, 5, DIGIT_WIDTH, DIGIT_HEIGTH);
+	cairo_fill(cr);
+	/* gdk_draw_drawable(window, gc, digits, freq[3] * DIGIT_WIDTH, 0, win_width - DIGIT_WIDTH*2, 5, DIGIT_WIDTH, DIGIT_HEIGTH); */
+	gdk_cairo_set_source_pixbuf (cr, digits, win_width - DIGIT_WIDTH*2 - freq[3] * DIGIT_WIDTH, 5);
+	cairo_rectangle (cr, win_width - DIGIT_WIDTH*2, 5, DIGIT_WIDTH, DIGIT_HEIGTH);
+	cairo_fill(cr);
+	/* gdk_draw_drawable(window, gc, digits, freq[4] * DIGIT_WIDTH, 0, win_width - DIGIT_WIDTH*1, 5, DIGIT_WIDTH, DIGIT_HEIGTH); */
+	gdk_cairo_set_source_pixbuf (cr, digits, win_width - DIGIT_WIDTH*1 - freq[4] * DIGIT_WIDTH, 5);
+	cairo_rectangle (cr, win_width - DIGIT_WIDTH*1, 5, DIGIT_WIDTH, DIGIT_HEIGTH);
+	cairo_fill(cr);
+	/* gdk_draw_drawable(window, gc, signal_s, signal_strength * SIGNAL_WIDTH, 0, win_width - DIGIT_WIDTH*6-SIGNAL_WIDTH, 5, SIGNAL_WIDTH, DIGIT_HEIGTH); */
+	gdk_cairo_set_source_pixbuf (cr, signal_s, win_width - DIGIT_WIDTH*6-SIGNAL_WIDTH - signal_strength * SIGNAL_WIDTH, 5);
+	cairo_rectangle (cr, win_width - DIGIT_WIDTH*6-SIGNAL_WIDTH, 5, SIGNAL_WIDTH, DIGIT_HEIGTH);
+	cairo_fill(cr);
+	/* gdk_draw_drawable(window, gc, stereo, is_stereo * STEREO_WIDTH, 0, win_width - DIGIT_WIDTH*6-SIGNAL_WIDTH-STEREO_WIDTH, 5, STEREO_WIDTH, DIGIT_HEIGTH); */
+	gdk_cairo_set_source_pixbuf (cr, stereo, win_width - DIGIT_WIDTH*6-SIGNAL_WIDTH-STEREO_WIDTH - is_stereo * STEREO_WIDTH, 5);
+	cairo_rectangle (cr, win_width - DIGIT_WIDTH*6-SIGNAL_WIDTH-STEREO_WIDTH, 5, STEREO_WIDTH, DIGIT_HEIGTH);
+	cairo_fill(cr);
 
-	/* draw the pixmap to the real window */	
-	gdk_draw_drawable(real_window, gc, window, 0, 0, 0, 0, win_width + 5, win_height);
+	/* draw the pixmap to the real window */		
+	/* gdk_draw_drawable(real_window, gc, window, 0, 0, 0, 0, win_width + 5, win_height); */
 	
-	g_object_unref(G_OBJECT(gc));
-	g_object_unref(G_OBJECT(window));
+	cairo_destroy (cr);
+	/* g_object_unref(G_OBJECT(window)); */
 	
 	return TRUE;	
 }
@@ -413,11 +446,11 @@ static void adj_value_changed_cb(GtkAdju
 	else
 		buffer = g_strdup_printf(_("Gnomeradio - %.2f MHz"), freq);
 	gtk_window_set_title(GTK_WINDOW(window), buffer);
-	if (tray_icon) gtk_status_icon_set_tooltip(GTK_STATUS_ICON(tray_icon), buffer); //gtk_tooltips_set_tip(tooltips, tray_icon, buffer, NULL);
+	if (tray_icon) gtk_status_icon_set_tooltip_text(GTK_STATUS_ICON(tray_icon), buffer); //gtk_tooltips_set_tip(tooltips, tray_icon, buffer, NULL);
 	g_free(buffer);
 	
 	buffer = g_strdup_printf(_("Frequency: %.2f MHz"), freq);
-	gtk_tooltips_set_tip(tooltips, freq_scale, buffer, NULL);
+	gtk_widget_set_tooltip_text(freq_scale, buffer);	
 	g_free(buffer);
 
 	radio_set_freq(gtk_adjustment_get_value(adj)/STEPS);
@@ -425,13 +458,13 @@ static void adj_value_changed_cb(GtkAdju
 
 static void volume_value_changed_cb(BaconVolumeButton *button, gpointer user_data)
 {
-	char *text;
+	/* char *text; */
 	int vol = (int)(bacon_volume_button_get_value(BACON_VOLUME_BUTTON(mute_button)) + 0.5f);
 	
 	mixer_set_volume(vol);
 	
 /*	text = g_strdup_printf(_("Volume: %d%%"), vol);
-	gtk_tooltips_set_tip(tooltips, vol_scale, text, NULL);
+	gtk_widget_set_tooltip_text(vol_scale, text);
 	g_free(text);*/
 	
     if (tray_menu) {
@@ -484,9 +517,9 @@ static gboolean change_frequency_timeout
 	change_frequency(data);
 	if (bp_timeout_steps < 10)
 	{
-		gtk_timeout_remove(bp_timeout_id);
-		bp_timeout_id = gtk_timeout_add(200 - 20*bp_timeout_steps,
-			(GtkFunction)change_frequency_timeout, data);
+		g_source_remove(bp_timeout_id);
+		bp_timeout_id = g_timeout_add(200 - 20*bp_timeout_steps,
+			(GSourceFunc)change_frequency_timeout, data);
 		bp_timeout_steps++; 
 	}
 	return TRUE;
@@ -494,7 +527,7 @@ static gboolean change_frequency_timeout
 
 static void step_button_pressed_cb(GtkButton *button, gpointer data)
 {
-	bp_timeout_id = gtk_timeout_add(500, (GtkFunction)change_frequency_timeout, data);
+	bp_timeout_id = g_timeout_add(500, (GSourceFunc)change_frequency_timeout, data);
 }
 
 static void step_button_clicked_cb(GtkButton *button, gpointer data)
@@ -505,7 +538,7 @@ static void step_button_clicked_cb(GtkBu
 static void step_button_released_cb(GtkButton *button, gpointer data)
 {
 	if (bp_timeout_id > -1)
-		gtk_timeout_remove(bp_timeout_id);
+		g_source_remove(bp_timeout_id);
 	bp_timeout_id = -1;
 	bp_timeout_steps = 0;
 }
@@ -544,25 +577,25 @@ static gboolean scan_freq(gpointer data)
 void scfw_button_clicked_cb(GtkButton *button, gpointer data)
 {
 	if (timeout_id) {
-		gtk_timeout_remove(timeout_id);
+		g_source_remove(timeout_id);
 		timeout_id = 0;
 		radio_unmute();
 		return;
 	}
 	radio_mute();
-	timeout_id = gtk_timeout_add(1000/SCAN_SPEED, (GtkFunction)scan_freq, (gpointer)1);	
+	timeout_id = g_timeout_add(1000/SCAN_SPEED, (GSourceFunc)scan_freq, (gpointer)1);	
 }
 
 void scbw_button_clicked_cb(GtkButton *button, gpointer data)
 {
 	if (timeout_id) {
-		gtk_timeout_remove(timeout_id);
+		g_source_remove(timeout_id);
 		timeout_id = 0;
 		radio_unmute();
 		return;
 	}
 	radio_mute();
-	timeout_id = gtk_timeout_add(1000/SCAN_SPEED, (GtkFunction)scan_freq, (gpointer)(-1));	
+	timeout_id = g_timeout_add(1000/SCAN_SPEED, (GSourceFunc)scan_freq, (gpointer)(-1));	
 }
 
 void preset_combo_set_item(gint i)
@@ -637,7 +670,6 @@ void tray_icon_items_set_sensible(gboole
 
 static int start_recording(const gchar *destination, const char* station, const char* time)
 {
-	GtkWidget *dialog;
 	Recording* recording;
 	char *filename;
 	
@@ -666,7 +698,7 @@ static int start_recording(const gchar *
 	tray_icon_items_set_sensible(FALSE);
 	
 	recording->station = g_strdup(station);
-	dialog = record_status_window(recording);
+	record_status_window(recording);
 	
 	run_status_window(recording);
 
@@ -675,7 +707,6 @@ static int start_recording(const gchar *
 
 void rec_button_clicked_cb(GtkButton *button, gpointer app)
 {
-	GtkWidget *dialog;
 	char *station;
 	char time_str[100];
 	time_t t;
@@ -721,18 +752,20 @@ void toggle_volume(void)
 	/*gtk_adjustment_set_value(volume, vol);*/
 }	
 
+/*
 static void mute_button_toggled_cb(GtkButton *button, gpointer data)
 {
 	if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(mute_button)))
-	{		
-		gtk_tooltips_set_tip(tooltips, mute_button, _("Unmute"), NULL);
+	{	
+		gtk_widget_set_tooltip_text(mute_button, _("Unmute"));	
 	}
 	else
 	{
-		gtk_tooltips_set_tip(tooltips, mute_button, _("Mute"), NULL);
+		gtk_widget_set_tooltip_text(mute_button, _("Mute"));
 	}
 	toggle_volume();
 }
+*/
 
 static void about_button_clicked_cb(GtkButton *button, gpointer data)
 {
@@ -763,14 +796,22 @@ static void about_button_clicked_cb(GtkB
 							"This version has been compiled without LIRC support.");
 #endif
 	
-	about = gnome_about_new ("Gnomeradio", VERSION, "Copyright 2001 - 2006 Jörgen Scheibengruber",
+	gtk_show_about_dialog(NULL,
+				"program-name", "Gnomeradio",
+				"version", VERSION,
+				"copyright", "Copyright 2001 - 2006 Jörgen Scheibengruber",
+				"comments", text,
+				"authors", (const char **) authors,
+				"translator-credits", strcmp("TRANSLATORS", translators) ? translators : NULL,
+				"logo", app_icon, NULL);
+	/* about = gnome_about_new ("Gnomeradio", VERSION, "Copyright 2001 - 2006 Jörgen Scheibengruber",
 							text, (const char **) authors, NULL, 
 							strcmp("TRANSLATORS", translators) ? translators : NULL, 
 							app_icon);
 
 	gtk_widget_show(about);
 	g_object_add_weak_pointer(G_OBJECT(about), (gpointer)&about);
-	g_object_add_weak_pointer(G_OBJECT(about), (gpointer)&app_icon);
+	g_object_add_weak_pointer(G_OBJECT(about), (gpointer)&app_icon); */
 }
 
 static gint delete_event_cb(GtkWidget* window, GdkEventAny* e, gpointer data)
@@ -783,7 +824,14 @@ void display_help_cb(char *topic)
 {
 	GError *error = NULL;
 
-	gnome_help_display(PACKAGE, topic, &error);
+	char *uri;
+
+	if (topic)
+		uri = g_strdup_printf("ghelp:gnomeradio?%s", topic);
+	else
+		uri = "ghelp:gnomeradio";
+
+	gtk_show_uri (NULL, uri, GDK_CURRENT_TIME, &error);
 	if (error)
 	{
 		GtkWidget *dialog;
@@ -815,20 +863,20 @@ void toggle_mainwindow_visibility(GtkWid
 GtkWidget* gnome_radio_gui(void)
 {
 	GtkWidget *app;
-	GdkWindow *app_window;
 	GtkWidget *prefs_button, *quit_button, *scfw_button, *scbw_button;
 	GtkWidget *stfw_button, *stbw_button, *about_button, *rec_button;
 	GtkWidget *prefs_pixmap, *quit_pixmap, *scfw_pixmap, *scbw_pixmap;
 	GtkWidget *stfw_pixmap, *stbw_pixmap, *about_pixmap;
-	GtkWidget *vol_up_pixmap, *vol_down_pixmap, *freq_up_pixmap, *freq_down_pixmap;
-	GdkPixbuf *vol_up_pixbuf, *vol_down_pixbuf, *freq_up_pixbuf, *freq_down_pixbuf;
+	GtkWidget *freq_up_pixmap, *freq_down_pixmap;
+	GdkPixbuf *freq_up_pixbuf, *freq_down_pixbuf;
 	GtkWidget *hbox1, *hbox2, *vbox, *menubox, *freq_vol_box;
-	GtkWidget *vseparator1, *vseparator2, *vseparator4;
+	GtkWidget *vseparator1, *vseparator4;
 	GtkWidget *label;
 	GtkWidget *frame;
 	gchar *text;
 	
-	app = gnome_app_new(PACKAGE, _("Gnomeradio"));
+	app = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+	/* app = gnome_app_new(PACKAGE, _("Gnomeradio")); */
 
 	gtk_window_set_resizable(GTK_WINDOW(app), FALSE);
 	/*gtk_window_set_policy(GTK_WINDOW(app), FALSE, FALSE, FALSE);*/
@@ -880,8 +928,8 @@ GtkWidget* gnome_radio_gui(void)
 	adj = GTK_ADJUSTMENT(gtk_adjustment_new(SUNSHINE*STEPS, FREQ_MIN*STEPS, FREQ_MAX*STEPS+1, 1, STEPS, 1));
 /*	volume = GTK_ADJUSTMENT(gtk_adjustment_new(100, 0, 101, 1, 10, 1)); */
 	
-	preset_combo = gtk_combo_box_new_text();
-	g_signal_connect(GTK_OBJECT(preset_combo), "changed", GTK_SIGNAL_FUNC(preset_combo_change_cb), NULL);
+	preset_combo = gtk_combo_box_text_new();
+	g_signal_connect(G_OBJECT(preset_combo), "changed", G_CALLBACK(preset_combo_change_cb), NULL);
 	
 	gtk_widget_set_size_request(preset_combo, 10, -1);
 	label = gtk_label_new(_("Presets:"));
@@ -904,14 +952,15 @@ GtkWidget* gnome_radio_gui(void)
 	/*gtk_widget_set_size_request(freq_scale, 160, -1);*/
 
 	gtk_widget_realize(app);
-	app_window = gtk_widget_get_window(app);
+	gtk_widget_get_window(app);
 	drawing_area = gtk_drawing_area_new();
-	digits = gdk_pixmap_create_from_xpm_d (app_window, NULL, NULL, digits_xpm);
-	signal_s = gdk_pixmap_create_from_xpm_d (app_window, NULL, NULL, signal_xpm);
-	stereo = gdk_pixmap_create_from_xpm_d (app_window, NULL, NULL, stereo_xpm);
+	
+	digits = gdk_pixbuf_new_from_xpm_data((const char**)digits_xpm);
+	signal_s = gdk_pixbuf_new_from_xpm_data((const char**)signal_xpm);
+	stereo = gdk_pixbuf_new_from_xpm_data((const char**)stereo_xpm);
 	
 	vseparator1 = gtk_vseparator_new();
-	vseparator2 = gtk_vseparator_new();
+	/*vseparator2 = gtk_vseparator_new();*/
 	/*vseparator3 = gtk_vseparator_new();*/
 	vseparator4 = gtk_vseparator_new();
 	
@@ -963,52 +1012,52 @@ GtkWidget* gnome_radio_gui(void)
 	gtk_container_set_border_width(GTK_CONTAINER(vbox), 3);
 	gtk_container_set_border_width(GTK_CONTAINER(frame), 2);
 
-	gnome_app_set_contents(GNOME_APP(app), vbox);
+	/* gnome_app_set_contents(GNOME_APP(app), vbox); */
 
 	/*status = gnome_appbar_new(FALSE, TRUE, GNOME_PREFERENCES_NEVER);*/
 
 	/*gnome_app_set_statusbar(GNOME_APP(app), status);*/
 
-	tooltips = gtk_tooltips_new();
-
-	g_signal_connect(GTK_OBJECT(app), "delete_event", GTK_SIGNAL_FUNC(delete_event_cb), NULL);
-	g_signal_connect(GTK_OBJECT(quit_button), "clicked", GTK_SIGNAL_FUNC(quit_button_clicked_cb), NULL);
-	g_signal_connect(GTK_OBJECT(adj), "value-changed", GTK_SIGNAL_FUNC(adj_value_changed_cb), (gpointer) app);
-	g_signal_connect(GTK_OBJECT(mute_button), "value-changed", GTK_SIGNAL_FUNC(volume_value_changed_cb), NULL);
-	g_signal_connect(GTK_OBJECT(stfw_button), "pressed", GTK_SIGNAL_FUNC(step_button_pressed_cb), (gpointer)TRUE);
-	g_signal_connect(GTK_OBJECT(stbw_button), "pressed", GTK_SIGNAL_FUNC(step_button_pressed_cb), (gpointer)FALSE);
-	g_signal_connect(GTK_OBJECT(stfw_button), "clicked", GTK_SIGNAL_FUNC(step_button_clicked_cb), (gpointer)TRUE);
-	g_signal_connect(GTK_OBJECT(stbw_button), "clicked", GTK_SIGNAL_FUNC(step_button_clicked_cb), (gpointer)FALSE);
-	g_signal_connect(GTK_OBJECT(stfw_button), "released", GTK_SIGNAL_FUNC(step_button_released_cb), NULL);
-	g_signal_connect(GTK_OBJECT(stbw_button), "released", GTK_SIGNAL_FUNC(step_button_released_cb), NULL);
-	g_signal_connect(GTK_OBJECT(scfw_button), "clicked", GTK_SIGNAL_FUNC(scfw_button_clicked_cb), NULL);
-	g_signal_connect(GTK_OBJECT(scbw_button), "clicked", GTK_SIGNAL_FUNC(scbw_button_clicked_cb), NULL);
-	g_signal_connect(GTK_OBJECT(about_button), "clicked", GTK_SIGNAL_FUNC(about_button_clicked_cb), NULL);
-	g_signal_connect(GTK_OBJECT(rec_button), "clicked", GTK_SIGNAL_FUNC(rec_button_clicked_cb), (gpointer) app);
-	g_signal_connect(GTK_OBJECT(prefs_button), "clicked", GTK_SIGNAL_FUNC(prefs_button_clicked_cb), (gpointer) app);
-	g_signal_connect(GTK_OBJECT(drawing_area), "expose-event", GTK_SIGNAL_FUNC(expose_event_cb), NULL);
-
-	gtk_tooltips_set_tip(tooltips, scbw_button, _("Scan Backwards"), NULL);
-	gtk_tooltips_set_tip(tooltips, scfw_button, _("Scan Forwards"), NULL);
-	gtk_tooltips_set_tip(tooltips, stbw_button, _("0.05 MHz Backwards"), NULL);
-	gtk_tooltips_set_tip(tooltips, stfw_button, _("0.05 MHz Forwards"), NULL);
-	gtk_tooltips_set_tip(tooltips, about_button, _("About Gnomeradio"), NULL);
-	gtk_tooltips_set_tip(tooltips, rec_button, _("Record radio as Wave, OGG or MP3"), NULL);
-	gtk_tooltips_set_tip(tooltips, prefs_button, _("Edit your Preferences"), NULL);
-	gtk_tooltips_set_tip(tooltips, mute_button, _("Adjust the Volume"), NULL);
-	gtk_tooltips_set_tip(tooltips, quit_button, _("Quit"), NULL);
+	g_signal_connect(G_OBJECT(app), "delete_event", G_CALLBACK(delete_event_cb), NULL);
+	g_signal_connect(G_OBJECT(quit_button), "clicked", G_CALLBACK(quit_button_clicked_cb), NULL);
+	g_signal_connect(G_OBJECT(adj), "value-changed", G_CALLBACK(adj_value_changed_cb), (gpointer) app);
+	g_signal_connect(G_OBJECT(mute_button), "value-changed", G_CALLBACK(volume_value_changed_cb), NULL);
+	g_signal_connect(G_OBJECT(stfw_button), "pressed", G_CALLBACK(step_button_pressed_cb), (gpointer)TRUE);
+	g_signal_connect(G_OBJECT(stbw_button), "pressed", G_CALLBACK(step_button_pressed_cb), (gpointer)FALSE);
+	g_signal_connect(G_OBJECT(stfw_button), "clicked", G_CALLBACK(step_button_clicked_cb), (gpointer)TRUE);
+	g_signal_connect(G_OBJECT(stbw_button), "clicked", G_CALLBACK(step_button_clicked_cb), (gpointer)FALSE);
+	g_signal_connect(G_OBJECT(stfw_button), "released", G_CALLBACK(step_button_released_cb), NULL);
+	g_signal_connect(G_OBJECT(stbw_button), "released", G_CALLBACK(step_button_released_cb), NULL);
+	g_signal_connect(G_OBJECT(scfw_button), "clicked", G_CALLBACK(scfw_button_clicked_cb), NULL);
+	g_signal_connect(G_OBJECT(scbw_button), "clicked", G_CALLBACK(scbw_button_clicked_cb), NULL);
+	g_signal_connect(G_OBJECT(about_button), "clicked", G_CALLBACK(about_button_clicked_cb), NULL);
+	g_signal_connect(G_OBJECT(rec_button), "clicked", G_CALLBACK(rec_button_clicked_cb), (gpointer) app);
+	g_signal_connect(G_OBJECT(prefs_button), "clicked", G_CALLBACK(prefs_button_clicked_cb), (gpointer) app);
+	g_signal_connect(G_OBJECT(drawing_area), "expose-event", G_CALLBACK(expose_event_cb), NULL);
+
+	gtk_widget_set_tooltip_text(scbw_button, _("Scan Backwards"));
+	gtk_widget_set_tooltip_text(scfw_button, _("Scan Forwards"));
+	gtk_widget_set_tooltip_text(stbw_button, _("0.05 MHz Backwards"));
+	gtk_widget_set_tooltip_text(stfw_button, _("0.05 MHz Forwards"));
+	gtk_widget_set_tooltip_text(about_button, _("About Gnomeradio"));
+	gtk_widget_set_tooltip_text(rec_button, _("Record radio as Wave, OGG or MP3"));
+	gtk_widget_set_tooltip_text(prefs_button, _("Edit your Preferences"));
+	gtk_widget_set_tooltip_text(mute_button, _("Adjust the Volume"));
+	gtk_widget_set_tooltip_text(quit_button, _("Quit"));
 	text = g_strdup_printf(_("Frequency: %.2f MHz"), gtk_adjustment_get_value(adj)/STEPS);
-	gtk_tooltips_set_tip(tooltips, freq_scale, text, NULL);
+	gtk_widget_set_tooltip_text(freq_scale, text);
 	g_free(text);
 /*	text = g_strdup_printf(_("Volume: %d%%"), (gint)volume->value);
-	gtk_tooltips_set_tip(tooltips, vol_scale, text, NULL);
+	gtk_widget_set_tooltip_text(vol_scale, text);
 	g_free(text);*/
 	
+	gtk_widget_show_all (vbox);
+
 	return app;
 }
 
 static void
-session_die_cb(GnomeClient* client, gpointer client_data)
+session_die_cb(void)
 {
 	if (settings.mute_on_exit)
 	{
@@ -1020,13 +1069,15 @@ session_die_cb(GnomeClient* client, gpoi
 	exit (0);
 }
 
+/*
 static void 
-save_session_cb(GnomeClient *client, gint phase, GnomeSaveStyle save_style,
+save_session_cb(gint phase, GnomeSaveStyle save_style,
 						gint is_shutdown, GnomeInteractStyle interact_style,
 						gint is_fast, gpointer client_data)
 {
 	save_settings();
 }
+*/
 
 static void
 gconf_error_handler(GConfClient *client, GError *error)
@@ -1041,36 +1092,36 @@ key_press_event_cb(GtkWidget *app, GdkEv
 	
 	switch (event->keyval)
 	{
-		case GDK_F1: display_help_cb(NULL);
+		case GDK_KEY_F1: display_help_cb(NULL);
 				break;
-		case GDK_m: 
+		case GDK_KEY_m: 
 				toggle_volume();
 				break;
-		case GDK_q: 
+		case GDK_KEY_q: 
 				exit_gnome_radio();
 				break;
-		case GDK_r: 
+		case GDK_KEY_r: 
 				rec_button_clicked_cb(NULL, app);
 				break;
-		case GDK_f: 
+		case GDK_KEY_f: 
 				scfw_button_clicked_cb(NULL, NULL);
 				break;
-		case GDK_b: 
+		case GDK_KEY_b: 
 				scbw_button_clicked_cb(NULL, NULL);
 				break;
-		case GDK_n: 
+		case GDK_KEY_n: 
 				change_preset(TRUE);
 				break;
-		case GDK_p: 
+		case GDK_KEY_p: 
 				change_preset(FALSE);
 				break;
-		case GDK_KP_Add:
-		case GDK_plus:	
+		case GDK_KEY_KP_Add:
+		case GDK_KEY_plus:	
 				bacon_volume_button_set_value(BACON_VOLUME_BUTTON(mute_button), vol > 95 ? 100 : vol + 5);
 				/*gtk_adjustment_set_value(volume, (volume->value > 95) ? 100 : volume->value+5);*/
 				break;
-		case GDK_minus:
-		case GDK_KP_Subtract: 
+		case GDK_KEY_minus:
+		case GDK_KEY_KP_Subtract: 
 				bacon_volume_button_set_value(BACON_VOLUME_BUTTON(mute_button), vol < 5 ? 0 : vol - 5);
 				/*gtk_adjustment_set_value(volume,(volume->value < 5) ? 0 : volume->value-5);*/
 				break;
@@ -1082,38 +1133,27 @@ int main(int argc, char* argv[])
 {
 	GtkWidget* app;
 	GList *ptr;
-	GnomeClient *client;
+	DBusGProxy *proxy;
 	GError *err = NULL;
-	int redraw_timeout_id;
 	gboolean do_scan = FALSE;
-#if GNOME_14 
 	GOptionContext *ctx;
 	const GOptionEntry entries[] = {
 		{ "scan", 0, 0, G_OPTION_ARG_NONE, &do_scan, N_("Scan for stations"), NULL },
 		{ NULL }
 	};
-#endif	
 	bindtextdomain(PACKAGE, GNOMELOCALEDIR);  
 	bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
 	textdomain(PACKAGE);
 
 	g_set_application_name(_("Gnomeradio"));
 	
-#if GNOME_14
     if (!g_thread_supported ()) g_thread_init(NULL);
 	ctx = g_option_context_new("- Gnomeradio");
 	g_option_context_add_main_entries(ctx, entries, GETTEXT_PACKAGE);  
 	g_option_context_add_group(ctx, gst_init_get_option_group());
 	g_option_context_set_ignore_unknown_options(ctx, TRUE);	
-#endif	
 
-	gnome_program_init(PACKAGE, VERSION, 
-					LIBGNOMEUI_MODULE, argc, argv, 
-					GNOME_PROGRAM_STANDARD_PROPERTIES,
-#if GNOME_14
-					GNOME_PARAM_GOPTION_CONTEXT, ctx,
-#endif
-					NULL);
+	gtk_init(&argc, &argv);
 	gtk_window_set_default_icon_name("gnomeradio");
 	/* Main app */
 	main_visible = FALSE;
@@ -1149,10 +1189,10 @@ int main(int argc, char* argv[])
 	}
 	create_tray_menu(app);
 	
-	gtk_combo_box_append_text(GTK_COMBO_BOX(preset_combo), _("manual"));
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(preset_combo), _("manual"));
 	for (ptr = settings.presets; ptr; ptr = g_list_next(ptr)) {
 		preset *ps = (preset*)ptr->data;
-		gtk_combo_box_append_text(GTK_COMBO_BOX(preset_combo), ps->title);
+		gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(preset_combo), ps->title);
 	}
 	preset_combo_set_item(mom_ps);
 
@@ -1182,24 +1222,21 @@ int main(int argc, char* argv[])
 	
 /* Connect the Session Management signals
  */
-	client = gnome_master_client();
-	g_signal_connect(GTK_OBJECT(client), "save_yourself",
-						GTK_SIGNAL_FUNC(save_session_cb), NULL);
-	g_signal_connect(GTK_OBJECT(client), "die",
-						GTK_SIGNAL_FUNC(session_die_cb), NULL);
-	g_signal_connect(GTK_OBJECT(app), "key-press-event",
-						GTK_SIGNAL_FUNC(key_press_event_cb), NULL);
+
+	proxy = connect_to_session ();
+	g_signal_connect(G_OBJECT(app), "key-press-event",
+						G_CALLBACK(key_press_event_cb), NULL);
 
 	/* Redraw the status window every 3 seconds
 	 * Necessary, because the mono/stereo reception
 	 * needs some time to be correctly detected
 	 */
-	redraw_timeout_id = gtk_timeout_add(3000, (GtkFunction)redraw_status_window, NULL);	
+	g_timeout_add(3000, (GSourceFunc)redraw_status_window, NULL);	
 
 	/* Checks if the volume has been changed by an 
 	 * external app
 	 */
-	/*gtk_timeout_add(100, (GtkFunction)poll_volume_change, NULL);*/
+	/*gtk_timeout_add(100, (GSourceFunc)poll_volume_change, NULL);*/
 
 	gtk_main();
 		
@@ -1207,9 +1244,50 @@ int main(int argc, char* argv[])
 	my_lirc_deinit();
 #endif
 
+	if (proxy) {
+		DBusGConnection *conn;
+		conn = (DBusGConnection *)g_object_get_data (G_OBJECT (proxy), "connection");
+		if (conn)
+			dbus_g_connection_unref (conn);
+
+		g_object_unref (proxy);
+	}
+
 	return 0;
 }
 
+static DBusGProxy * connect_to_session (void) 
+{
+	DBusGConnection *connection;
+	DBusGProxy      *proxy;
+	GError          *error = NULL;
+
+	connection = dbus_g_bus_get (DBUS_BUS_SYSTEM, &error);
+
+	if (error) {
+		g_warning ("%s", error->message);
+		g_error_free(error);
+		return NULL;
+	}
+	/* Get the current session object */
+	proxy = dbus_g_proxy_new_for_name (connection,
+					"org.gnome.SessionManager",
+					"/org/gnome/SessionManager",
+					"org.gnome.SessionManager");
+
+	if (!proxy) {
+		g_warning ("Unable to get the SessionManager.");
+		dbus_g_connection_unref (connection);
+		return NULL;
+	}
+
+	dbus_g_proxy_add_signal (proxy, "SessionOver", G_TYPE_INVALID, G_TYPE_INVALID);
+	dbus_g_proxy_connect_signal (proxy, "SessionOver", G_CALLBACK (session_die_cb), NULL, NULL);
+
+	g_object_set_data (G_OBJECT (proxy), "connection", connection);
+	return proxy;
+}
+
 static void show_message(GtkMessageType type, const char* text, const char* details)
 {
 	GtkWidget *dialog;
diff -up gnomeradio-1.8/src/lirc.c.nogtk2 gnomeradio-1.8/src/lirc.c
--- gnomeradio-1.8/src/lirc.c.nogtk2	2007-11-12 13:27:45.000000000 -0500
+++ gnomeradio-1.8/src/lirc.c	2011-04-25 17:27:53.478923387 -0400
@@ -20,7 +20,8 @@
 
 #include <string.h>
 #include <fcntl.h>
-#include <gnome.h>
+#include <stdlib.h>
+#include <gtk/gtk.h>
 
 #ifdef HAVE_LIRC
 
@@ -34,7 +35,6 @@
 
 extern GtkWidget* mute_button, *preset_combo;
 extern GtkAdjustment *adj;
-extern GtkTooltips *tooltips;
 
 extern int mom_ps;
 extern gnomeradio_settings settings;
@@ -71,8 +71,12 @@ static void execute_lirc_command (char *
 	}
 	else if (strcasecmp (cmd, "tv") == 0)
 	{
+		gchar **argv;
 		exit_gnome_radio();
-		gnome_execute_shell(NULL, "xawtv"); 
+		g_shell_parse_argv ("xawtv", NULL, &argv, NULL);
+		g_spawn_async (NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL);
+		g_strfreev (argv);
+		/* gnome_execute_shell(NULL, "xawtv"); */
 	}
 	else if (strcasecmp (cmd, "quit") == 0)
 	{
diff -up gnomeradio-1.8/src/prefs.c.nogtk2 gnomeradio-1.8/src/prefs.c
--- gnomeradio-1.8/src/prefs.c.nogtk2	2011-04-25 17:27:53.461923599 -0400
+++ gnomeradio-1.8/src/prefs.c	2011-04-25 17:27:53.479923375 -0400
@@ -15,6 +15,7 @@
  */
 
 #include <gconf/gconf-client.h>
+#include <glib/gi18n.h>
 #include <libgnome-media-profiles/audio-profile-choose.h>
 #include <string.h>
 #include "config.h"
@@ -25,7 +26,6 @@
 
 extern GtkWidget* mute_button, *preset_combo;
 extern GtkAdjustment *adj;
-extern GtkTooltips *tooltips;
 
 extern int mom_ps;
 extern gnomeradio_settings settings;
@@ -313,7 +313,7 @@ static void add_button_clicked_cb(GtkWid
 	gtk_adjustment_set_value(v_scb, gtk_adjustment_get_upper(v_scb));
 	
 	if (main_visible) {
-		gtk_combo_box_append_text(GTK_COMBO_BOX(preset_combo), ps->title);
+		gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(preset_combo), ps->title);
 		mom_ps = g_list_length(settings.presets) - 1;
 		preset_combo_set_item(mom_ps);
 
@@ -361,7 +361,7 @@ static void del_button_clicked_cb(GtkWid
 	gtk_list_store_remove(list_store, &iter);
 
 	if (main_visible) {
-		gtk_combo_box_remove_text(GTK_COMBO_BOX(preset_combo), *row + 1);
+		gtk_combo_box_text_remove(GTK_COMBO_BOX_TEXT(preset_combo), *row + 1);
 		if (--mom_ps < 0) mom_ps = 0;
 		if (!g_list_length(settings.presets)) mom_ps = -1;
 		preset_combo_set_item(mom_ps);
@@ -398,9 +398,9 @@ static void destination_button_clicked_c
 
 static gboolean list_view_key_press_event_cb(GtkWidget *widget, GdkEventKey *event, gpointer user_data)
 {
-	if (event->keyval == GDK_Delete)
+	if (event->keyval == GDK_KEY_Delete)
 		del_button_clicked_cb(widget, user_data);
-	if (event->keyval == GDK_Insert)
+	if (event->keyval == GDK_KEY_Insert)
 		add_button_clicked_cb(widget, user_data);
 	
 	return FALSE;
@@ -427,8 +427,8 @@ static void name_cell_edited_cb(GtkCellR
 	ps->title = g_strdup(new_val);
 
 	if (main_visible) {
-		gtk_combo_box_remove_text(GTK_COMBO_BOX(preset_combo), *row + 1);
-		gtk_combo_box_insert_text(GTK_COMBO_BOX(preset_combo), *row + 1, ps->title);
+		gtk_combo_box_text_remove(GTK_COMBO_BOX_TEXT(preset_combo), *row + 1);
+		gtk_combo_box_text_insert_text(GTK_COMBO_BOX_TEXT(preset_combo), *row + 1, ps->title);
 		mom_ps = *row;
 		preset_combo_set_item(mom_ps);
 
@@ -536,7 +536,7 @@ GtkWidget* prefs_window(GtkWidget *app)
 	preset* ps;
 	
 	dialog = gtk_dialog_new_with_buttons(_("Gnomeradio Settings"), GTK_WINDOW(app), 
-			GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_NO_SEPARATOR,
+			GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
 			GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, 
 			GTK_STOCK_HELP, GTK_RESPONSE_HELP,
 			NULL);
@@ -599,11 +599,11 @@ GtkWidget* prefs_window(GtkWidget *app)
 	mixer_label = gtk_label_new(_("Mixer Source:"));
 	gtk_misc_set_alignment(GTK_MISC(mixer_label), 0.0f, 0.5f);
 	mixer_eb = gtk_event_box_new();
-	mixer_combo = gtk_combo_box_new_text();
+	mixer_combo = gtk_combo_box_text_new();
 	gtk_container_add(GTK_CONTAINER(mixer_eb), mixer_combo);
 	ptr = mixer_devs = get_mixer_recdev_list();
 	for (i = 0, active = 0; ptr; ptr = g_list_next(ptr)) {
-		gtk_combo_box_append_text(GTK_COMBO_BOX(mixer_combo), ptr->data);
+		gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(mixer_combo), ptr->data);
 		if (g_str_equal(ptr->data, settings.mixer)) active = i;
 		++i;
 	}
@@ -618,15 +618,15 @@ GtkWidget* prefs_window(GtkWidget *app)
 
 	gtk_table_attach_defaults(GTK_TABLE(settings_table), mute_on_exit_cb, 0, 2, 2, 3);
 
-	g_signal_connect(GTK_OBJECT(device_entry), "hide", GTK_SIGNAL_FUNC(device_entry_activate_cb), app);
-	g_signal_connect(GTK_OBJECT(device_entry), "activate", GTK_SIGNAL_FUNC(device_entry_activate_cb), NULL);
-	g_signal_connect(GTK_OBJECT(mixer_combo), "changed", GTK_SIGNAL_FUNC(mixer_combo_change_cb), app);
-	g_signal_connect(GTK_OBJECT(mute_on_exit_cb), "toggled", GTK_SIGNAL_FUNC(mute_on_exit_toggled_cb), NULL);
-
-	gtk_tooltips_set_tip(tooltips, device_entry, _("Specify the radio-device (in most cases /dev/radio)"), NULL);
-	gtk_tooltips_set_tip(tooltips, mixer_eb, 
-	_("Choose the mixer source (line, line1, etc.) that is able to control the volume of your radio"), NULL);
-	gtk_tooltips_set_tip(tooltips, mute_on_exit_cb, _("If unchecked, gnomeradio won't mute after exiting"), NULL);
+	g_signal_connect(G_OBJECT(device_entry), "hide", G_CALLBACK(device_entry_activate_cb), app);
+	g_signal_connect(G_OBJECT(device_entry), "activate", G_CALLBACK(device_entry_activate_cb), NULL);
+	g_signal_connect(G_OBJECT(mixer_combo), "changed", G_CALLBACK(mixer_combo_change_cb), app);
+	g_signal_connect(G_OBJECT(mute_on_exit_cb), "toggled", G_CALLBACK(mute_on_exit_toggled_cb), NULL);
+
+	gtk_widget_set_tooltip_text(device_entry, _("Specify the radio-device (in most cases /dev/radio)"));
+	gtk_widget_set_tooltip_text(mixer_eb, 
+	_("Choose the mixer source (line, line1, etc.) that is able to control the volume of your radio"));
+	gtk_widget_set_tooltip_text(mute_on_exit_cb, _("If unchecked, gnomeradio won't mute after exiting"));
 
 	
 	/* The presets part */
@@ -653,20 +653,20 @@ GtkWidget* prefs_window(GtkWidget *app)
 	gtk_tree_selection_set_select_function(selection, (GtkTreeSelectionFunc)list_view_select_cb, NULL, NULL);*/
 	
 	cellrenderer = gtk_cell_renderer_text_new();
-	g_object_set(GTK_OBJECT(cellrenderer), "mode", GTK_CELL_RENDERER_MODE_EDITABLE, NULL);
-	g_object_set(GTK_OBJECT(GTK_CELL_RENDERER_TEXT(cellrenderer)), "editable", TRUE, NULL);
+	g_object_set(G_OBJECT(cellrenderer), "mode", GTK_CELL_RENDERER_MODE_EDITABLE, NULL);
+	g_object_set(G_OBJECT(GTK_CELL_RENDERER_TEXT(cellrenderer)), "editable", TRUE, NULL);
 	list_column = gtk_tree_view_column_new_with_attributes(NULL, cellrenderer, "text", 0, NULL);
 	gtk_tree_view_column_set_min_width(list_column, 150);
 	gtk_tree_view_append_column(GTK_TREE_VIEW(list_view), list_column);
-	g_signal_connect(GTK_OBJECT(cellrenderer), "edited", GTK_SIGNAL_FUNC(name_cell_edited_cb), NULL);
+	g_signal_connect(G_OBJECT(cellrenderer), "edited", G_CALLBACK(name_cell_edited_cb), NULL);
 
 	cellrenderer = gtk_cell_renderer_text_new();
-	g_object_set(GTK_OBJECT(cellrenderer), "mode", GTK_CELL_RENDERER_MODE_EDITABLE, NULL);
-	g_object_set(GTK_OBJECT(cellrenderer), "xalign", 1.0f, NULL);
-	g_object_set(GTK_OBJECT(GTK_CELL_RENDERER_TEXT(cellrenderer)), "editable", TRUE, NULL);
+	g_object_set(G_OBJECT(cellrenderer), "mode", GTK_CELL_RENDERER_MODE_EDITABLE, NULL);
+	g_object_set(G_OBJECT(cellrenderer), "xalign", 1.0f, NULL);
+	g_object_set(G_OBJECT(GTK_CELL_RENDERER_TEXT(cellrenderer)), "editable", TRUE, NULL);
 	list_column = gtk_tree_view_column_new_with_attributes(NULL, cellrenderer, "text", 1, NULL);
 	gtk_tree_view_append_column(GTK_TREE_VIEW(list_view), list_column);
-	g_signal_connect(GTK_OBJECT(cellrenderer), "edited", GTK_SIGNAL_FUNC(freq_cell_edited_cb), NULL);
+	g_signal_connect(G_OBJECT(cellrenderer), "edited", G_CALLBACK(freq_cell_edited_cb), NULL);
 
 	button_box = gtk_hbox_new(FALSE, 12);
 
@@ -689,13 +689,13 @@ GtkWidget* prefs_window(GtkWidget *app)
 		g_free(buffer);
 	}
 
-	g_signal_connect(GTK_OBJECT(add_button), "clicked", GTK_SIGNAL_FUNC(add_button_clicked_cb), NULL);
-	g_signal_connect(GTK_OBJECT(del_button), "clicked", GTK_SIGNAL_FUNC(del_button_clicked_cb), NULL);
-	g_signal_connect(GTK_OBJECT(list_view), "key-press-event", GTK_SIGNAL_FUNC(list_view_key_press_event_cb), NULL);
-	g_signal_connect(GTK_OBJECT(list_view), "cursor-changed", GTK_SIGNAL_FUNC(list_view_cursor_changed_cb), NULL);
+	g_signal_connect(G_OBJECT(add_button), "clicked", G_CALLBACK(add_button_clicked_cb), NULL);
+	g_signal_connect(G_OBJECT(del_button), "clicked", G_CALLBACK(del_button_clicked_cb), NULL);
+	g_signal_connect(G_OBJECT(list_view), "key-press-event", G_CALLBACK(list_view_key_press_event_cb), NULL);
+	g_signal_connect(G_OBJECT(list_view), "cursor-changed", G_CALLBACK(list_view_cursor_changed_cb), NULL);
 
-	gtk_tooltips_set_tip(tooltips, add_button, _("Add a new preset"), NULL);
-	gtk_tooltips_set_tip(tooltips, del_button, _("Remove preset from List"), NULL);
+	gtk_widget_set_tooltip_text(add_button, _("Add a new preset"));
+	gtk_widget_set_tooltip_text(del_button, _("Remove preset from List"));
 
 
 	/* The record settings part */
@@ -723,10 +723,10 @@ GtkWidget* prefs_window(GtkWidget *app)
 	gtk_table_attach_defaults(GTK_TABLE(record_table), destination_button, 1, 2, 0, 1);
 	gtk_table_attach_defaults(GTK_TABLE(record_table), profile_eb, 0, 2, 1, 2);
 
-	g_signal_connect(GTK_OBJECT(destination_button), "clicked", GTK_SIGNAL_FUNC(destination_button_clicked_cb), NULL);
-	g_signal_connect(GTK_OBJECT(profile_combo), "changed", GTK_SIGNAL_FUNC(profile_combo_change_cb), NULL);
+	g_signal_connect(G_OBJECT(destination_button), "clicked", G_CALLBACK(destination_button_clicked_cb), NULL);
+	g_signal_connect(G_OBJECT(profile_combo), "changed", G_CALLBACK(profile_combo_change_cb), NULL);
 
-	gtk_tooltips_set_tip(tooltips, profile_eb, _("Choose the Media Profile that should be used to record."), NULL);
+	gtk_widget_set_tooltip_text(profile_eb, _("Choose the Media Profile that should be used to record."));
 	
 	gtk_box_pack_start(GTK_BOX(rbox), record_table, TRUE, TRUE, 0);
 
diff -up gnomeradio-1.8/src/prefs.h.nogtk2 gnomeradio-1.8/src/prefs.h
--- gnomeradio-1.8/src/prefs.h.nogtk2	2007-02-24 18:33:36.000000000 -0500
+++ gnomeradio-1.8/src/prefs.h	2011-04-25 17:27:53.480923363 -0400
@@ -18,7 +18,6 @@
 #define _PREFS_H
 
 #include <math.h>
-#include <gnome.h>
 
 gboolean save_settings(void);
 gboolean load_settings(void);
diff -up gnomeradio-1.8/src/record.c.nogtk2 gnomeradio-1.8/src/record.c
--- gnomeradio-1.8/src/record.c.nogtk2	2011-04-25 17:27:53.461923599 -0400
+++ gnomeradio-1.8/src/record.c	2011-04-25 17:27:53.480923363 -0400
@@ -24,7 +24,8 @@
 
 #include <sys/types.h>
 #include <signal.h>
-#include <gnome.h>
+#include <gtk/gtk.h>
+#include <glib/gi18n.h>
 #include "gui.h"
 #include "tech.h"
 #include "rec_tech.h"
@@ -38,7 +39,7 @@ void close_status_window(void)
 {
 	if (timeout_id >= 0)
 	{
-		gtk_timeout_remove(timeout_id);
+		g_source_remove(timeout_id);
 		timeout_id = -1;
 	}
 
@@ -80,7 +81,7 @@ static gboolean timeout_cb(gpointer data
 	
 void run_status_window(Recording *recording)
 {
-	timeout_id = gtk_timeout_add(500, (GtkFunction) timeout_cb, recording);
+	timeout_id = g_timeout_add(500, (GSourceFunc) timeout_cb, recording);
 }
 
 static void button_clicked_cb(GtkButton *button, gpointer data)
@@ -169,8 +170,8 @@ GtkWidget* record_status_window(Recordin
 
 	gtk_container_add(GTK_CONTAINER(status_dialog), vbox);
 
-	g_signal_connect(GTK_OBJECT(status_dialog), "delete_event", GTK_SIGNAL_FUNC(delete_event_cb), recording);
-	g_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(button_clicked_cb), recording);
+	g_signal_connect(G_OBJECT(status_dialog), "delete_event", G_CALLBACK(delete_event_cb), recording);
+	g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(button_clicked_cb), recording);
 
 	gtk_window_set_modal(GTK_WINDOW(status_dialog), TRUE);
 
diff -up gnomeradio-1.8/src/record.h.nogtk2 gnomeradio-1.8/src/record.h
--- gnomeradio-1.8/src/record.h.nogtk2	2007-02-24 18:33:36.000000000 -0500
+++ gnomeradio-1.8/src/record.h	2011-04-25 17:27:53.481923351 -0400
@@ -17,8 +17,6 @@
 #ifndef _RECORD_H
 #define _RECORD_H
 
-#include <gnome.h>
-
 void run_status_window(Recording *recording);
 
 GtkWidget* record_status_window(Recording *recording);	
diff -up gnomeradio-1.8/src/rec_tech.c.nogtk2 gnomeradio-1.8/src/rec_tech.c
--- gnomeradio-1.8/src/rec_tech.c.nogtk2	2011-04-25 17:27:53.456923663 -0400
+++ gnomeradio-1.8/src/rec_tech.c	2011-04-25 17:27:53.481923351 -0400
@@ -16,7 +16,8 @@
 
 
 #include "rec_tech.h"
-#include <gnome.h>
+#include <gtk/gtk.h>
+#include <glib/gi18n.h>
 #include <libgnome-media-profiles/audio-profile.h>
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -39,7 +40,7 @@ static void error_cb(GstBus *bus, GstMes
 	gst_element_set_state (pipeline, GST_STATE_NULL);
 	
 	gst_message_parse_error(message, &error, NULL);
-	show_error_message(_("GStreamer runtime error."), error->message);
+	g_warning(_("GStreamer runtime error: %s\n"), error->message);
 	g_error_free(error);
 }
 
@@ -55,15 +56,13 @@ recording_start(const char* filename)
 	
 	pipeline = gst_pipeline_new("gnomeradio-record-pipeline");
 	if (!pipeline) {
-		show_error_message(_("Could not create GStreamer pipeline."),
-		_("Check your Gstreamer installation!"));
+		g_warning(_("Could not create GStreamer pipeline. Check your Gstreamer installation!\n"));
 		goto error;
 	}		
 	
 	oss_src = gst_element_factory_make("osssrc", "oss-source");
 	if (!oss_src) {
-		show_error_message(_("Could not open Gstreamer OSS Source."),
-		_("Verify your Gstreamer OSS subsystem installation!"));
+		g_warning(_("Could not open Gstreamer OSS Source. Verify your Gstreamer OSS subsystem installation!\n"));
 		goto error;
 	}
 	
@@ -76,8 +75,7 @@ recording_start(const char* filename)
 	g_free(pipeline_str);
 	if (!encoder) {
 		char *caption = g_strdup_printf(_("Could not create encoder \"%s\"."), gm_audio_profile_get_name (profile));
-		show_error_message(caption,
-		_("Verify your Gstreamer plugins installation!"));
+		g_warning(_("%s Verify your Gstreamer plugins installation!\n"), caption);
 		g_free(caption);
 		goto error;
 	}
@@ -85,8 +83,7 @@ recording_start(const char* filename)
 	/* Write to disk */
 	filesink = gst_element_factory_make("filesink", "file-sink");
 	if (!filesink) {	
-		show_error_message(_("Could not create Gstreamer filesink."),
-		_("Check your Gstreamer installation!"));
+		g_warning(_("Could not create Gstreamer filesink. Check your Gstreamer installation!"));
 		goto error;
 	}
 	
diff -up gnomeradio-1.8/src/trayicon.c.nogtk2 gnomeradio-1.8/src/trayicon.c
--- gnomeradio-1.8/src/trayicon.c.nogtk2	2011-04-25 17:28:19.056604285 -0400
+++ gnomeradio-1.8/src/trayicon.c	2011-04-25 17:29:04.189041224 -0400
@@ -19,13 +19,13 @@
  */
 
 #include <config.h>
-#include <gnome.h>
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
 #include "gui.h"
 #include "trayicon.h"
 #include "tech.h"
 
 extern GtkAdjustment *adj;
-extern GtkTooltips *tooltips;
 
 extern int mom_ps;
 extern gnomeradio_settings settings;
@@ -143,6 +143,6 @@ void create_tray_icon(GtkWidget *app)
 		G_CALLBACK(tray_popup_menu), (gpointer)app);
 	
 	text = g_strdup_printf(_("Gnomeradio - %.2f MHz"), gtk_adjustment_get_value(adj)/STEPS);
-        gtk_status_icon_set_tooltip(GTK_STATUS_ICON(tray_icon), text);
+        gtk_status_icon_set_tooltip_text(GTK_STATUS_ICON(tray_icon), text);
 	g_free(text);
 }