Stop using libglade
authorgaltgendo <galtgendo>
Sat, 17 Aug 2013 18:25:07 +0000 (20:25 +0200)
committerDana Jansens <danakj@orodu.net>
Sun, 8 Sep 2013 16:11:08 +0000 (12:11 -0400)
GtkOptionMenu -> GtkComboBoxText move is to make porting
to gtk3 easier (this needs gtk+ 2.24), most of the pixbuf
changes in src/preview.c for the same reason. Other changes
should not go beyond 2.18.

The changes in packing in glade file are also for the sake
of gtk3 - they shouldn't affect gtk2 (hbox51 removal was
mostly to make things cleaner - there didn't seem to be a
reason for extra container there).

The added catch is that http://savannah.gnu.org/bugs/?34506
was only fixed in gettext 0.18.3 (just a few weeks old) and
there's a little problem with gtk2 version of glade
(http://bugzilla.gnome.org/show_bug.cgi?id=689667). The ui
file itself nevertheless works.

18 files changed:
.gitignore
Makefile.am
NEWS [deleted file]
TODO [deleted file]
configure.ac
src/about.c
src/desktops.c
src/dock.c
src/main.c
src/main.h
src/mouse.c
src/moveresize.c
src/obconf.gladep [deleted file]
src/obconf.ui [moved from src/obconf.glade with 75% similarity]
src/preview.c
src/preview_update.c
src/tree.c
src/windows.c

index a8279e8..9e0b24d 100644 (file)
@@ -30,6 +30,7 @@ po/en@quot.header
 po/en@quot.insert-header
 po/en@quot.po
 po/insert-header.sin
+po/obconf.pot
 po/quot.sed
 po/remove-potcdate.sed
 po/remove-potcdate.sin
index 369ec3d..61c3805 100644 (file)
@@ -1,7 +1,7 @@
 SUBDIRS = po
 
 localedir       = $(datadir)/locale
-gladedir        = $(datadir)/obconf
+resourcedir     = $(datadir)/obconf
 pixmapdir       = $(datadir)/pixmaps
 themedir        = $(datadir)/openbox/themes
 desktopdir      = $(datadir)/applications
@@ -19,7 +19,6 @@ src_obconf_CPPFLAGS = \
        $(OPENBOX_CFLAGS) \
        $(LIBSTARTUPNOTIFICATION_CFLAGS) \
        $(GTK_CFLAGS) \
-       $(GLADE_CFLAGS) \
        $(GDK_PIXBUF_CFLAGS) \
        $(XML_CFLAGS) \
        -DLOCALEDIR=\"$(localedir)\" \
@@ -31,7 +30,6 @@ src_obconf_LDADD = \
        $(OPENBOX_LIBS) \
        $(LIBSTARTUPNOTIFICATION_LIBS) \
        $(GTK_LIBS) \
-       $(GLADE_LIBS) \
        $(GDK_PIXBUF_LIBS) \
        $(LIBINTL) \
        $(ZLIB_LIBS) \
@@ -66,13 +64,10 @@ src_obconf_SOURCES = \
        src/tree.c \
        src/tree.h
 
-dist_glade_DATA = \
-       src/obconf.glade \
+dist_resource_DATA = \
+       src/obconf.ui \
        pixmaps/video-display.png
 
-dist_noinst_DATA = \
-       src/obconf.gladep
-
 dist_desktop_DATA = \
        obconf.desktop
 
@@ -121,8 +116,7 @@ EXTRA_DIST = \
        m4/wchar_t.m4 \
        m4/wint_t.m4 \
        m4/xsize.m4 \
-       data/video-display.svg \
-       config.rpath
+       data/video-display.svg
 
 # Packages need to run these...
 
diff --git a/NEWS b/NEWS
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/TODO b/TODO
deleted file mode 100644 (file)
index e69de29..0000000
index f9b0775..b99620f 100644 (file)
@@ -1,6 +1,6 @@
 AC_PREREQ([2.54])
 AC_INIT([obconf], [2.0.4], [http://bugzilla.icculus.org])
-AM_INIT_AUTOMAKE
+AM_INIT_AUTOMAKE([subdir-objects foreign dist-xz])
 AC_CONFIG_SRCDIR([src/main.c])
 
 AC_PREFIX_DEFAULT([/usr/local])
@@ -16,7 +16,6 @@ AC_PROG_INSTALL
 CHECK_EXPORT_DYNAMIC
 LDFLAGS="$LDFLAGS $EXPORT_DYNAMIC_FLAGS"
 
-ALL_LINGUAS=""
 AM_GNU_GETTEXT_VERSION(0.15)
 AM_GNU_GETTEXT([external])
 
@@ -28,7 +27,7 @@ PKG_CHECK_MODULES(LIBSTARTUPNOTIFICATION, [libstartup-notification-1.0])
 AC_SUBST(LIBSTARTUPNOTIFICATION_CFLAGS)
 AC_SUBST(LIBSTARTUPNOTIFICATION_LIBS)
 
-PKG_CHECK_MODULES(GTK, [gtk+-2.0])
+PKG_CHECK_MODULES(GTK, [gtk+-2.0 >= 2.24.0])
 AC_SUBST(GTK_CFLAGS)
 AC_SUBST(GTK_LIBS)
 
@@ -36,10 +35,6 @@ PKG_CHECK_MODULES(GDK_PIXBUF, [gdk-pixbuf-2.0])
 AC_SUBST(GDK_PIXBUF_CFLAGS)
 AC_SUBST(GDK_PIXBUF_LIBS)
 
-PKG_CHECK_MODULES(GLADE, [libglade-2.0])
-AC_SUBST(GLADE_CFLAGS)
-AC_SUBST(GLADE_LIBS)
-
 AC_CHECK_PROG(TAR, [tar], [yes], [no])
 if test "$TAR" = "no"; then
   AC_MSG_ERROR([Unable to find the tar command.])
index c56eb26..5fed1a9 100644 (file)
@@ -10,7 +10,8 @@ void on_about_close_clicked()
     gtk_widget_hide(get_widget("about_window"));
 }
 
-void on_about_window_delete_event()
+gboolean on_about_window_delete_event()
 {
     gtk_widget_hide(get_widget("about_window"));
+    return TRUE;
 }
index 6f205c4..8297f00 100644 (file)
@@ -212,7 +212,7 @@ static void desktops_write_names()
     tree_apply();
 
     /* make openbox re-set the property */
-    XDeleteProperty(GDK_DISPLAY(), GDK_ROOT_WINDOW(),
+    XDeleteProperty(gdk_x11_get_default_xdisplay(), GDK_ROOT_WINDOW(),
                     gdk_x11_get_xatom_by_name("_NET_DESKTOP_NAMES"));
 }
 
@@ -225,7 +225,7 @@ static void desktops_write_number()
     ce.xclient.type = ClientMessage;
     ce.xclient.message_type =
         gdk_x11_get_xatom_by_name("_NET_NUMBER_OF_DESKTOPS");
-    ce.xclient.display = GDK_DISPLAY();
+    ce.xclient.display = gdk_x11_get_default_xdisplay();
     ce.xclient.window = GDK_ROOT_WINDOW();
     ce.xclient.format = 32;
     ce.xclient.data.l[0] = num_desktops;
@@ -233,7 +233,7 @@ static void desktops_write_number()
     ce.xclient.data.l[2] = 0;
     ce.xclient.data.l[3] = 0;
     ce.xclient.data.l[4] = 0;
-    XSendEvent(GDK_DISPLAY(), GDK_ROOT_WINDOW(), FALSE,
+    XSendEvent(gdk_x11_get_default_xdisplay(), GDK_ROOT_WINDOW(), FALSE,
                SubstructureNotifyMask | SubstructureRedirectMask,
                &ce);
 }
index c1b8d54..4055524 100644 (file)
@@ -82,7 +82,7 @@ void dock_setup_tab()
     else if (!strcasecmp(s, "Floating"))    pos = POSITION_FLOATING;
     else                                    pos = POSITION_TOPLEFT;
     g_free(s);
-    gtk_option_menu_set_history(GTK_OPTION_MENU(w), pos);
+    gtk_combo_box_set_active(GTK_COMBO_BOX(w), pos);
 
     w = get_widget("dock_float_x");
     gtk_spin_button_set_value(GTK_SPIN_BUTTON(w),
@@ -107,7 +107,7 @@ void dock_setup_tab()
     if (!strcasecmp(s, "Horizontal")) pos = DIRECTION_HORIZONTAL;
     else                              pos = DIRECTION_VERTICAL;
     g_free(s);
-    gtk_option_menu_set_history(GTK_OPTION_MENU(w), pos);
+    gtk_combo_box_set_active(GTK_COMBO_BOX(w), pos);
 
     w = get_widget("dock_nostrut");
     gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
@@ -136,7 +136,7 @@ static void dock_enable_stuff()
     gboolean b;
 
     w = get_widget("dock_position");
-    b = gtk_option_menu_get_history(GTK_OPTION_MENU(w)) == POSITION_FLOATING;
+    b = gtk_combo_box_get_active(GTK_COMBO_BOX(w)) == POSITION_FLOATING;
 
     s = get_widget("dock_float_x");
     gtk_widget_set_sensitive(s, b);
@@ -166,75 +166,39 @@ static void dock_enable_stuff()
     gtk_widget_set_sensitive(s, b);
 }
 
-void on_dock_top_left_activate(GtkMenuItem *w, gpointer data)
+void on_dock_position_changed(GtkComboBox *w, gpointer data)
 {
     if (mapping) return;
 
-    tree_set_string("dock/position", "TopLeft");
-    dock_enable_stuff();
-}
-
-void on_dock_top_activate(GtkMenuItem *w, gpointer data)
-{
-    if (mapping) return;
-
-    tree_set_string("dock/position", "Top");
-    dock_enable_stuff();
-}
-
-void on_dock_top_right_activate(GtkMenuItem *w, gpointer data)
-{
-    if (mapping) return;
-
-    tree_set_string("dock/position", "TopRight");
-    dock_enable_stuff();
-}
-
-void on_dock_left_activate(GtkMenuItem *w, gpointer data)
-{
-    if (mapping) return;
-
-    tree_set_string("dock/position", "Left");
-    dock_enable_stuff();
-}
-
-void on_dock_right_activate(GtkMenuItem *w, gpointer data)
-{
-    if (mapping) return;
-
-    tree_set_string("dock/position", "Right");
-    dock_enable_stuff();
-}
-
-void on_dock_bottom_left_activate(GtkMenuItem *w, gpointer data)
-{
-    if (mapping) return;
-
-    tree_set_string("dock/position", "BottomLeft");
-    dock_enable_stuff();
-}
-
-void on_dock_bottom_activate(GtkMenuItem *w, gpointer data)
-{
-    if (mapping) return;
-
-    tree_set_string("dock/position", "Bottom");
-    dock_enable_stuff();
-}
-
-void on_dock_bottom_right_activate(GtkMenuItem *w, gpointer data)
-{
-    if (mapping) return;
-
-    tree_set_string("dock/position", "BottomRight");
-    dock_enable_stuff();
-}
-
-void on_dock_floating_activate(GtkMenuItem *w, gpointer data)
-{
-    if (mapping) return;
-
-    tree_set_string("dock/position", "Floating");
+    switch (gtk_combo_box_get_active(w)) {
+    case 0:
+      tree_set_string("dock/position", "TopLeft");
+      break;
+    case 1:
+      tree_set_string("dock/position", "Top");
+      break;
+    case 2:
+      tree_set_string("dock/position", "TopRight");
+      break;
+    case 3:
+      tree_set_string("dock/position", "Left");
+      break;
+    case 4:
+      tree_set_string("dock/position", "Right");
+      break;
+    case 5:
+      tree_set_string("dock/position", "BottomLeft");
+      break;
+    case 6:
+      tree_set_string("dock/position", "Bottom");
+      break;
+    case 7:
+      tree_set_string("dock/position", "BottomRight");
+      break;
+    case 8:
+      tree_set_string("dock/position", "Floating");
+      break;
+    }
     dock_enable_stuff();
 }
 
@@ -276,18 +240,18 @@ void on_dock_stacking_bottom_toggled(GtkToggleButton *w, gpointer data)
         tree_set_string("dock/stacking", "Below");
 }
 
-void on_dock_horizontal_activate(GtkMenuItem *w, gpointer data)
-{
-    if (mapping) return;
-
-    tree_set_string("dock/direction", "Horizontal");
-}
-
-void on_dock_vertical_activate(GtkMenuItem *w, gpointer data)
+void on_dock_direction_changed(GtkComboBox *w, gpointer data)
 {
     if (mapping) return;
 
-    tree_set_string("dock/direction", "Vertical");
+    switch (gtk_combo_box_get_active(w)) {
+    case 0:
+      tree_set_string("dock/direction", "Vertical");
+      break;
+    case 1:
+      tree_set_string("dock/direction", "Horizontal");
+      break;
+    }
 }
 
 void on_dock_nostrut_toggled(GtkToggleButton *w, gpointer data)
index 7acc3ec..ff11ef9 100644 (file)
@@ -38,7 +38,7 @@
 GtkWidget *mainwin = NULL;
 GtkWidget *tabstrip = NULL;
 
-GladeXML *glade;
+GtkBuilder *builder;
 xmlDocPtr doc;
 xmlNodePtr root;
 RrInstance *rrinst;
@@ -63,9 +63,9 @@ void obconf_error(gchar *msg, gboolean modal)
     if (modal)
         gtk_dialog_run(GTK_DIALOG(d));
     else {
-        g_signal_connect_swapped(GTK_OBJECT(d), "response",
+        g_signal_connect_swapped(G_OBJECT(d), "response",
                                  G_CALLBACK(gtk_widget_destroy),
-                                 GTK_OBJECT(d));
+                                 G_OBJECT(d));
         gtk_widget_show(d);
     }
 }
@@ -149,7 +149,7 @@ static gboolean get_all(Window win, Atom prop, Atom type, gint size,
     gint ret_size;
     gulong ret_items, bytes_left;
 
-    res = XGetWindowProperty(GDK_DISPLAY(), win, prop, 0l, G_MAXLONG,
+    res = XGetWindowProperty(gdk_x11_get_default_xdisplay(), win, prop, 0l, G_MAXLONG,
                              FALSE, type, &ret_type, &ret_size,
                              &ret_items, &bytes_left, &xdata);
     if (res == Success) {
@@ -203,6 +203,7 @@ static gboolean prop_get_string_utf8(Window win, Atom prop, gchar **ret)
 int main(int argc, char **argv)
 {
     gchar *p;
+    GError *error = NULL;
     gboolean exit_with_error = FALSE;
 
     bindtextdomain(PACKAGE_NAME, LOCALEDIR);
@@ -217,18 +218,21 @@ int main(int argc, char **argv)
         return 0;
     }
 
-    p = g_build_filename(GLADEDIR, "obconf.glade", NULL);
-    glade = glade_xml_new(p, NULL, NULL);
+    p = g_build_filename(GLADEDIR, "obconf.ui", NULL);
+    builder = gtk_builder_new();
+    gtk_builder_add_from_file(builder, p, &error);
     g_free(p);
 
-    if (!glade) {
-        obconf_error(_("Failed to load the obconf.glade interface file. You have probably failed to install ObConf properly."), TRUE);
+    if (error) {
+        obconf_error(_("Failed to load the obconf.ui interface file. You have probably failed to install ObConf properly."), TRUE);
+        g_printerr("%s\n", error->message);
+        g_error_free(error);
         exit_with_error = TRUE;
     }
 
     paths = obt_paths_new();
     parse_i = obt_xml_instance_new();
-    rrinst = RrInstanceNew(GDK_DISPLAY(), gdk_x11_get_default_screen());
+    rrinst = RrInstanceNew(gdk_x11_get_default_xdisplay(), gdk_x11_get_default_screen());
 
     if (!obc_config_file) {
         gchar *p;
@@ -270,14 +274,14 @@ int main(int argc, char **argv)
     }
 
     if (!exit_with_error) {
-        glade_xml_signal_autoconnect(glade);
+        gtk_builder_connect_signals(builder, NULL);
 
         {
             gchar *s = g_strdup_printf
                 ("<span weight=\"bold\" size=\"xx-large\">ObConf %s</span>",
                  PACKAGE_VERSION);
             gtk_label_set_markup(GTK_LABEL
-                                 (glade_xml_get_widget(glade, "title_label")),
+                                 (gtk_builder_get_object(builder, "title_label")),
                                  s);
             g_free(s);
         }
@@ -292,7 +296,7 @@ int main(int argc, char **argv)
         dock_setup_tab();
 
         mainwin = get_widget("main_window");
-        tabstrip = glade_xml_get_widget(glade, "tabstrip");
+        tabstrip = get_widget("tabstrip");
 
         if (obc_theme_install)
             theme_install(obc_theme_install);
@@ -336,7 +340,7 @@ void obconf_show_main()
     SnDisplay *sn_d;
     SnLauncheeContext *sn_cx;
 
-    if (GTK_WIDGET_VISIBLE(mainwin)) return;
+    if (gtk_widget_get_visible(mainwin)) return;
 
     gtk_widget_show_all(mainwin);
 
@@ -354,7 +358,7 @@ void obconf_show_main()
 
     if (sn_cx)
         sn_launchee_context_setup_window
-            (sn_cx, GDK_WINDOW_XWINDOW(GDK_WINDOW(mainwin->window)));
+            (sn_cx, GDK_WINDOW_XID(gtk_widget_get_window(mainwin)));
 
     if (sn_cx)
         sn_launchee_context_complete(sn_cx);
index 4f3213b..23852d3 100644 (file)
 #include <obt/paths.h>
 
 #include <gtk/gtk.h>
-#include <glade/glade-xml.h>
 
-extern GladeXML *glade;
+extern GtkBuilder *builder;
 extern RrInstance *rrinst;
 extern GtkWidget *mainwin;
 extern gchar *obc_config_file;
 extern ObtPaths *paths;
 extern ObtXmlInst *parse_i;
 
-#define get_widget(s) glade_xml_get_widget(glade, s)
+#define get_widget(s) GTK_WIDGET(gtk_builder_get_object(builder, s))
 
 void obconf_error(gchar *msg, gboolean model);
 void obconf_show_main();
index 88f13d9..ce9059a 100644 (file)
@@ -30,8 +30,6 @@ static xmlNodePtr saved_custom = NULL;
 
 static gint read_doubleclick_action();
 static void write_doubleclick_action(gint a);
-static void on_titlebar_doubleclick_custom_activate(GtkMenuItem *w,
-                                                    gpointer data);
 static void enable_stuff();
 
 void mouse_setup_tab()
@@ -69,16 +67,10 @@ void mouse_setup_tab()
     w = get_widget("titlebar_doubleclick");
     a = read_doubleclick_action();
     if (a == TITLEBAR_CUSTOM) {
-        GtkWidget *i = gtk_menu_item_new_with_label(_("Custom actions"));
-        g_signal_connect(i, "activate",
-                         G_CALLBACK (on_titlebar_doubleclick_custom_activate),
-                         NULL);
-        gtk_menu_shell_append
-            (GTK_MENU_SHELL
-             (gtk_option_menu_get_menu
-              (GTK_OPTION_MENU(w))), i);
+        gtk_combo_box_text_append_text
+            (GTK_COMBO_BOX_TEXT(w), _("Custom actions"));
     }
-    gtk_option_menu_set_history(GTK_OPTION_MENU(w), a);
+    gtk_combo_box_set_active(GTK_COMBO_BOX(w), a);
 
     enable_stuff();
 
@@ -147,26 +139,21 @@ void on_focus_under_mouse_toggled(GtkToggleButton *w, gpointer data)
     tree_set_bool("focus/underMouse", gtk_toggle_button_get_active(w));
 }
 
-void on_titlebar_doubleclick_maximize_activate(GtkMenuItem *w, gpointer data)
+void on_titlebar_doubleclick_changed(GtkComboBox *w, gpointer data)
 {
     if (mapping) return;
 
-    write_doubleclick_action(TITLEBAR_MAXIMIZE);
-}
-
-void on_titlebar_doubleclick_shade_activate(GtkMenuItem *w, gpointer data)
-{
-    if (mapping) return;
-
-    write_doubleclick_action(TITLEBAR_SHADE);
-}
-
-static void on_titlebar_doubleclick_custom_activate(GtkMenuItem *w,
-                                                    gpointer data)
-{
-    if (mapping) return;
-
-    write_doubleclick_action(TITLEBAR_CUSTOM);
+    switch (gtk_combo_box_get_active(w)) {
+    case 0:
+      write_doubleclick_action(TITLEBAR_MAXIMIZE);
+      break;
+    case 1:
+      write_doubleclick_action(TITLEBAR_SHADE);
+      break;
+    case 2:
+      write_doubleclick_action(TITLEBAR_CUSTOM);
+      break;
+    }
 }
 
 void on_doubleclick_time_value_changed(GtkSpinButton *w, gpointer data)
index 6048a37..c6fb3dd 100644 (file)
@@ -82,7 +82,7 @@ void moveresize_setup_tab()
     else if (!strcasecmp(s, "Never")) pos = POPUP_NEVER;
     else                              pos = POPUP_NONPIXEL;
     g_free(s);
-    gtk_option_menu_set_history(GTK_OPTION_MENU(w), pos);
+    gtk_combo_box_set_active(GTK_COMBO_BOX(w), pos);
 
     w = get_widget("drag_threshold");
     gtk_spin_button_set_value(GTK_SPIN_BUTTON(w),
@@ -94,7 +94,7 @@ void moveresize_setup_tab()
     if (!strcasecmp(s, "Fixed")) pos = POSITION_FIXED;
     else                         pos = POSITION_CENTER;
     g_free(s);
-    gtk_option_menu_set_history(GTK_OPTION_MENU(w), pos);
+    gtk_combo_box_set_active(GTK_COMBO_BOX(w), pos);
 
     w = get_widget("fixed_x_popup");
     s = tree_get_string("resize/popupFixedPosition/x", "0");
@@ -103,7 +103,7 @@ void moveresize_setup_tab()
     if (!strcasecmp(s, "Center")) pos = EDGE_CENTER;
     else if (opp) pos = EDGE_RIGHT;
     else pos = EDGE_LEFT;
-    gtk_option_menu_set_history(GTK_OPTION_MENU(w), pos);
+    gtk_combo_box_set_active(GTK_COMBO_BOX(w), pos);
 
     w = get_widget("fixed_x_pos");
     gtk_spin_button_set_value(GTK_SPIN_BUTTON(w), MAX(atoi(s), 0));
@@ -115,7 +115,7 @@ void moveresize_setup_tab()
     if (!strcasecmp(s, "Center")) pos = EDGE_CENTER;
     else if (opp) pos = EDGE_RIGHT;
     else pos = EDGE_LEFT;
-    gtk_option_menu_set_history(GTK_OPTION_MENU(w), pos);
+    gtk_combo_box_set_active(GTK_COMBO_BOX(w), pos);
 
     w = get_widget("fixed_y_pos");
     gtk_spin_button_set_value(GTK_SPIN_BUTTON(w), MAX(atoi(s), 0));
@@ -140,7 +140,7 @@ static void enable_stuff()
     gboolean b;
 
     w = get_widget("resize_popup");
-    b = gtk_option_menu_get_history(GTK_OPTION_MENU(w)) != POPUP_NEVER;
+    b = gtk_combo_box_get_active(GTK_COMBO_BOX(w)) != POPUP_NEVER;
     w = get_widget("resize_position");
     gtk_widget_set_sensitive(w, b);
 
@@ -150,7 +150,7 @@ static void enable_stuff()
     gtk_widget_set_sensitive(w, b);
 
     w = get_widget("resize_position");
-    b = gtk_option_menu_get_history(GTK_OPTION_MENU(w)) == POSITION_FIXED;
+    b = gtk_combo_box_get_active(GTK_COMBO_BOX(w)) == POSITION_FIXED;
     w = get_widget("fixed_x_popup");
     gtk_widget_set_sensitive(w, b);
     w = get_widget("fixed_y_popup");
@@ -163,12 +163,12 @@ static void enable_stuff()
     }
     else {
         w = get_widget("fixed_x_popup");
-        b = gtk_option_menu_get_history(GTK_OPTION_MENU(w)) != EDGE_CENTER;
+        b = gtk_combo_box_get_active(GTK_COMBO_BOX(w)) != EDGE_CENTER;
         w = get_widget("fixed_x_pos");
         gtk_widget_set_sensitive(w, b);
 
         w = get_widget("fixed_y_popup");
-        b = gtk_option_menu_get_history(GTK_OPTION_MENU(w)) != EDGE_CENTER;
+        b = gtk_combo_box_get_active(GTK_COMBO_BOX(w)) != EDGE_CENTER;
         w = get_widget("fixed_y_pos");
         gtk_widget_set_sensitive(w, b);
     }
@@ -196,27 +196,21 @@ void on_resize_contents_toggled(GtkToggleButton *w, gpointer data)
     tree_set_bool("resize/drawContents", gtk_toggle_button_get_active(w));
 }
 
-void on_resize_popup_nonpixel_activate(GtkMenuItem *w, gpointer data)
+void on_resize_popup_changed(GtkComboBox *w, gpointer data)
 {
     if (mapping) return;
 
-    tree_set_string("resize/popupShow", "NonPixel");
-    enable_stuff();
-}
-
-void on_resize_popup_always_activate(GtkMenuItem *w, gpointer data)
-{
-    if (mapping) return;
-
-    tree_set_string("resize/popupShow", "Always");
-    enable_stuff();
-}
-
-void on_resize_popup_never_activate(GtkMenuItem *w, gpointer data)
-{
-    if (mapping) return;
-
-    tree_set_string("resize/popupShow", "Never");
+    switch(gtk_combo_box_get_active(w)) {
+    case 0:
+      tree_set_string("resize/popupShow", "NonPixel");
+      break;
+    case 1:
+      tree_set_string("resize/popupShow", "Always");
+      break;
+    case 2:
+      tree_set_string("resize/popupShow", "Never");
+      break;
+    }
     enable_stuff();
 }
 
@@ -228,27 +222,21 @@ void on_drag_threshold_value_changed(GtkSpinButton *w, gpointer data)
                  gtk_spin_button_get_value_as_int(w));
 }
 
-void on_resize_position_center_activate(GtkMenuItem *w, gpointer data)
+void on_resize_position_changed(GtkComboBox *w, gpointer data)
 {
     if (mapping) return;
 
-    tree_set_string("resize/popupPosition", "Center");
-    enable_stuff();
-}
-
-void on_resize_position_top_activate(GtkMenuItem *w, gpointer data)
-{
-    if (mapping) return;
-
-    tree_set_string("resize/popupPosition", "Top");
-    enable_stuff();
-}
-
-void on_resize_position_fixed_activate(GtkMenuItem *w, gpointer data)
-{
-    if (mapping) return;
-
-    tree_set_string("resize/popupPosition", "Fixed");
+    switch(gtk_combo_box_get_active(w)) {
+    case 0:
+      tree_set_string("resize/popupPosition", "Center");
+      break;
+    case 1:
+      tree_set_string("resize/popupPosition", "Top");
+      break;
+    case 2:
+      tree_set_string("resize/popupPosition", "Fixed");
+      break;
+    }
     enable_stuff();
 }
 
@@ -266,7 +254,7 @@ static void write_fixed_position(const gchar *coord)
     popup = get_widget(popupname);
     g_free(popupname);
 
-    edge = gtk_option_menu_get_history(GTK_OPTION_MENU(popup));
+    edge = gtk_combo_box_get_active(GTK_COMBO_BOX(popup));
     g_assert(edge == EDGE_CENTER || edge == EDGE_LEFT || edge == EDGE_RIGHT);
 
     if (edge == EDGE_CENTER)
@@ -295,23 +283,7 @@ static void write_fixed_position(const gchar *coord)
 }
 
 
-void on_fixed_x_position_left_activate(GtkMenuItem *w, gpointer data)
-{
-    if (mapping) return;
-
-    write_fixed_position("x");
-    enable_stuff();
-}
-
-void on_fixed_x_position_right_activate(GtkMenuItem *w, gpointer data)
-{
-    if (mapping) return;
-
-    write_fixed_position("x");
-    enable_stuff();
-}
-
-void on_fixed_x_position_center_activate(GtkMenuItem *w, gpointer data)
+void on_fixed_x_position_changed(GtkComboBox *w, gpointer data)
 {
     if (mapping) return;
 
@@ -319,23 +291,7 @@ void on_fixed_x_position_center_activate(GtkMenuItem *w, gpointer data)
     enable_stuff();
 }
 
-void on_fixed_y_position_top_activate(GtkMenuItem *w, gpointer data)
-{
-    if (mapping) return;
-
-    write_fixed_position("y");
-    enable_stuff();
-}
-
-void on_fixed_y_position_bottom_activate(GtkMenuItem *w, gpointer data)
-{
-    if (mapping) return;
-
-    write_fixed_position("y");
-    enable_stuff();
-}
-
-void on_fixed_y_position_center_activate(GtkMenuItem *w, gpointer data)
+void on_fixed_y_position_changed(GtkComboBox *w, gpointer data)
 {
     if (mapping) return;
 
diff --git a/src/obconf.gladep b/src/obconf.gladep
deleted file mode 100644 (file)
index 5bcc940..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-project SYSTEM "http://glade.gnome.org/glade-project-2.0.dtd">
-
-<glade-project>
-  <name>ObConf</name>
-  <program_name>obconf</program_name>
-  <directory>../</directory>
-  <source_directory></source_directory>
-  <pixmaps_directory>../pixmaps</pixmaps_directory>
-  <gnome_support>FALSE</gnome_support>
-  <output_translatable_strings>TRUE</output_translatable_strings>
-  <translatable_strings_file>strings.c</translatable_strings_file>
-</glade-project>
similarity index 75%
rename from src/obconf.glade
rename to src/obconf.ui
index faf98e0..b2efefb 100644 (file)
-<?xml version="1.0" encoding="UTF-8"?>
-<glade-interface>
+<?xml version="1.0"?>
+<interface>
+  <object class="GtkAdjustment" id="adjustment1">
+    <property name="upper">100</property>
+    <property name="lower">1</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">1</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment10">
+    <property name="upper">10000</property>
+    <property name="lower">1</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">10</property>
+    <property name="page_size">0</property>
+    <property name="value">1</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment11">
+    <property name="upper">100</property>
+    <property name="lower">1</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">1</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment12">
+    <property name="upper">10000</property>
+    <property name="lower">0</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">20</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment13">
+    <property name="upper">10000</property>
+    <property name="lower">0</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">20</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment14">
+    <property name="upper">10000</property>
+    <property name="lower">0</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">20</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment15">
+    <property name="upper">10000</property>
+    <property name="lower">0</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">20</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment16">
+    <property name="upper">10000</property>
+    <property name="lower">0</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">1</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment17">
+    <property name="upper">10000</property>
+    <property name="lower">0</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">1</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment18">
+    <property name="upper">10000</property>
+    <property name="lower">0</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">10</property>
+    <property name="page_size">0</property>
+    <property name="value">300</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment19">
+    <property name="upper">10000</property>
+    <property name="lower">0</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">10</property>
+    <property name="page_size">0</property>
+    <property name="value">300</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment2">
+    <property name="upper">100</property>
+    <property name="lower">1</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">1</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment3">
+    <property name="upper">100</property>
+    <property name="lower">0</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">20</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment4">
+    <property name="upper">100</property>
+    <property name="lower">0</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">1</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment5">
+    <property name="upper">10000</property>
+    <property name="lower">100</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">10</property>
+    <property name="page_size">0</property>
+    <property name="value">100</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment6">
+    <property name="upper">1000</property>
+    <property name="lower">0</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">1</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment7">
+    <property name="upper">1000</property>
+    <property name="lower">0</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">1</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment8">
+    <property name="upper">10000</property>
+    <property name="lower">0</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">10</property>
+    <property name="page_size">0</property>
+    <property name="value">0</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment9">
+    <property name="upper">10000</property>
+    <property name="lower">0</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">10</property>
+    <property name="page_size">0</property>
+    <property name="value">0</property>
+  </object>
   <!-- interface-requires gtk+ 2.6 -->
   <!-- interface-naming-policy toplevel-contextual -->
-  <widget class="GtkWindow" id="about_window">
+  <object class="GtkDialog" id="about_window">
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">About ObConf</property>
-    <property name="type_hint">dialog</property>
-    <signal name="delete_event" handler="on_about_window_delete_event"/>
-    <child>
-      <widget class="GtkVBox" id="vbox33">
+    <signal handler="on_about_window_delete_event" name="delete_event"/>
+    <child internal-child="vbox">
+      <object class="GtkVBox" id="vbox33">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">12</property>
         <property name="spacing">12</property>
         <child>
-          <widget class="GtkVBox" id="vbox1">
+          <object class="GtkVBox" id="vbox1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="spacing">6</property>
             <child>
-              <widget class="GtkLabel" id="title_label">
+              <object class="GtkLabel" id="title_label">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="label" translatable="yes">&lt;span weight="bold" size="xx-large"&gt;ObConf VERSION&lt;/span&gt;</property>
                 <property name="use_markup">True</property>
                 <property name="selectable">True</property>
-              </widget>
+              </object>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkLabel" id="label81">
+              <object class="GtkLabel" id="label81">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="label" translatable="yes">A preferences manager for Openbox</property>
                 <property name="selectable">True</property>
-              </widget>
+              </object>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkLabel" id="label80">
+              <object class="GtkLabel" id="label80">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="label">Copyright (c) 2003-2008
@@ -55,27 +206,27 @@ Tim Riley &lt;tr@slackzone.org&gt;
 Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</property>
                 <property name="justify">center</property>
                 <property name="selectable">True</property>
-              </widget>
+              </object>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
                 <property name="position">2</property>
               </packing>
             </child>
-          </widget>
+          </object>
           <packing>
             <property name="expand">True</property>
             <property name="fill">True</property>
             <property name="position">0</property>
           </packing>
         </child>
-        <child>
-          <widget class="GtkHButtonBox" id="hbuttonbox2">
+        <child internal-child="action_area">
+          <object class="GtkHButtonBox" id="hbuttonbox2">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
-              <widget class="GtkButton" id="about_close">
+              <object class="GtkButton" id="about_close">
                 <property name="label">gtk-close</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
@@ -85,41 +236,39 @@ Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</property>
                 <property name="receives_default">False</property>
                 <property name="use_action_appearance">False</property>
                 <property name="use_stock">True</property>
-                <signal name="clicked" handler="on_about_close_clicked" after="yes"/>
-              </widget>
+                <signal after="yes" handler="on_about_close_clicked" name="clicked"/>
+              </object>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
-          </widget>
-          <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-            <property name="position">1</property>
-          </packing>
+          </object>
         </child>
-      </widget>
+      </object>
     </child>
-  </widget>
-  <widget class="GtkWindow" id="key_prompt">
+    <action-widgets>
+      <action-widget response="-5">about_close</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkWindow" id="key_prompt">
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">window1</property>
     <child>
-      <widget class="GtkVBox" id="vbox49">
+      <object class="GtkVBox" id="vbox49">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="border_width">12</property>
         <property name="spacing">18</property>
         <child>
-          <widget class="GtkLabel" id="label117">
+          <object class="GtkLabel" id="label117">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="xalign">0</property>
             <property name="label" translatable="yes">&lt;span weight="bold"&gt;Press the key you wish to bind...&lt;/span&gt;</property>
             <property name="use_markup">True</property>
-          </widget>
+          </object>
           <packing>
             <property name="expand">False</property>
             <property name="fill">False</property>
@@ -127,61 +276,61 @@ Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</property>
           </packing>
         </child>
         <child>
-          <widget class="GtkEntry" id="entry2">
+          <object class="GtkEntry" id="entry2">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <property name="has_focus">True</property>
-            <property name="invisible_char"></property>
+            <property name="invisible_char">&#x25CF;</property>
             <property name="primary_icon_activatable">False</property>
             <property name="secondary_icon_activatable">False</property>
             <property name="primary_icon_sensitive">True</property>
             <property name="secondary_icon_sensitive">True</property>
-          </widget>
+          </object>
           <packing>
             <property name="expand">False</property>
             <property name="fill">False</property>
             <property name="position">1</property>
           </packing>
         </child>
-      </widget>
+      </object>
     </child>
-  </widget>
-  <widget class="GtkWindow" id="main_window">
+  </object>
+  <object class="GtkWindow" id="main_window">
     <property name="can_focus">False</property>
     <property name="border_width">6</property>
     <property name="title" translatable="yes">Openbox Configuration Manager</property>
     <property name="icon_name">preferences-system-windows</property>
-    <signal name="delete_event" handler="on_main_window_delete_event"/>
+    <signal handler="on_main_window_delete_event" name="delete_event"/>
     <child>
-      <widget class="GtkVBox" id="vbox8">
+      <object class="GtkVBox" id="vbox8">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="spacing">6</property>
         <child>
-          <widget class="GtkNotebook" id="tabstrip">
+          <object class="GtkNotebook" id="tabstrip">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <property name="tab_pos">left</property>
             <property name="scrollable">True</property>
             <child>
-              <widget class="GtkVBox" id="vbox20">
+              <object class="GtkVBox" id="vbox20">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">12</property>
                 <property name="spacing">6</property>
                 <child>
-                  <widget class="GtkVBox" id="vbox21">
+                  <object class="GtkVBox" id="vbox21">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="spacing">6</property>
                     <child>
-                      <widget class="GtkLabel" id="label59">
+                      <object class="GtkLabel" id="label59">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">&lt;span weight="bold"&gt;Theme&lt;/span&gt;</property>
                         <property name="use_markup">True</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
@@ -189,15 +338,15 @@ Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkHBox" id="hbox29">
+                      <object class="GtkHBox" id="hbox29">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <child>
-                          <widget class="GtkLabel" id="label60">
+                          <object class="GtkLabel" id="label60">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="label">    </property>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
@@ -205,46 +354,46 @@ Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkVBox" id="vbox22">
+                          <object class="GtkVBox" id="vbox22">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="spacing">6</property>
                             <child>
-                              <widget class="GtkScrolledWindow" id="scrolledwindow3">
+                              <object class="GtkScrolledWindow" id="scrolledwindow3">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="hscrollbar_policy">never</property>
                                 <property name="vscrollbar_policy">automatic</property>
                                 <property name="shadow_type">in</property>
                                 <child>
-                                  <widget class="GtkTreeView" id="theme_names">
+                                  <object class="GtkTreeView" id="theme_names">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="headers_visible">False</property>
-                                  </widget>
+                                  </object>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">True</property>
                                 <property name="fill">True</property>
                                 <property name="position">0</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">True</property>
                             <property name="fill">True</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">True</property>
                         <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">True</property>
                     <property name="fill">True</property>
@@ -252,34 +401,34 @@ Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkVBox" id="vbox41">
+                  <object class="GtkVBox" id="vbox41">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
-                      <widget class="GtkButton" id="install_theme">
+                      <object class="GtkButton" id="install_theme">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
                         <property name="use_action_appearance">False</property>
-                        <signal name="clicked" handler="on_install_theme_clicked"/>
+                        <signal handler="on_install_theme_clicked" name="clicked"/>
                         <child>
-                          <widget class="GtkAlignment" id="alignment1">
+                          <object class="GtkAlignment" id="alignment1">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="xalign">0</property>
                             <property name="xscale">0</property>
                             <property name="yscale">0</property>
                             <child>
-                              <widget class="GtkHBox" id="hbox53">
+                              <object class="GtkHBox" id="hbox53">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="spacing">2</property>
                                 <child>
-                                  <widget class="GtkImage" id="image1">
+                                  <object class="GtkImage" id="image1">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="stock">gtk-open</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
@@ -287,30 +436,30 @@ Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkLabel" id="label103">
+                                  <object class="GtkLabel" id="label103">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="label" translatable="yes">_Install a new theme...</property>
                                     <property name="use_underline">True</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                             </child>
-                          </widget>
+                          </object>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
                         <property name="position">0</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">True</property>
@@ -318,34 +467,34 @@ Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkVBox" id="vbox42">
+                  <object class="GtkVBox" id="vbox42">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
-                      <widget class="GtkButton" id="theme_archive">
+                      <object class="GtkButton" id="theme_archive">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
                         <property name="use_action_appearance">False</property>
-                        <signal name="clicked" handler="on_theme_archive_clicked"/>
+                        <signal handler="on_theme_archive_clicked" name="clicked"/>
                         <child>
-                          <widget class="GtkAlignment" id="alignment2">
+                          <object class="GtkAlignment" id="alignment2">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="xalign">0</property>
                             <property name="xscale">0</property>
                             <property name="yscale">0</property>
                             <child>
-                              <widget class="GtkHBox" id="hbox55">
+                              <object class="GtkHBox" id="hbox55">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="spacing">2</property>
                                 <child>
-                                  <widget class="GtkImage" id="image2">
+                                  <object class="GtkImage" id="image2">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="stock">gtk-save</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
@@ -353,71 +502,70 @@ Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkLabel" id="label106">
+                                  <object class="GtkLabel" id="label106">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="label" translatable="yes">Create a theme _archive (.obt)...</property>
                                     <property name="use_underline">True</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                             </child>
-                          </widget>
+                          </object>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
                         <property name="position">0</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">True</property>
                     <property name="position">2</property>
                   </packing>
                 </child>
-              </widget>
+              </object>
             </child>
-            <child>
-              <widget class="GtkLabel" id="label3">
+            <child type="tab">
+              <object class="GtkLabel" id="label3">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="xalign">0</property>
                 <property name="xpad">6</property>
                 <property name="ypad">8</property>
                 <property name="label" translatable="yes">Theme</property>
-              </widget>
+              </object>
               <packing>
                 <property name="tab_fill">False</property>
-                <property name="type">tab</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkVBox" id="vbox36">
+              <object class="GtkVBox" id="vbox36">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">12</property>
                 <property name="spacing">18</property>
                 <child>
-                  <widget class="GtkVBox" id="vbox40">
+                  <object class="GtkVBox" id="vbox40">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="spacing">6</property>
                     <child>
-                      <widget class="GtkLabel" id="label99">
+                      <object class="GtkLabel" id="label99">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">&lt;span weight="bold"&gt;Windows&lt;/span&gt;</property>
                         <property name="use_markup">True</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
@@ -425,23 +573,23 @@ Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkHBox" id="hbox50">
+                      <object class="GtkHBox" id="hbox50">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <child>
-                          <widget class="GtkVBox" id="vbox69">
+                          <object class="GtkVBox" id="vbox69">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <child>
-                              <widget class="GtkHBox" id="hbox93">
+                              <object class="GtkHBox" id="hbox93">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label171">
+                                  <object class="GtkLabel" id="label171">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="label">    </property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
@@ -449,40 +597,29 @@ Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkVBox" id="vbox70">
+                                  <object class="GtkVBox" id="vbox70">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="spacing">6</property>
                                     <child>
-                                      <widget class="GtkHBox" id="hbox51">
+                                      <object class="GtkCheckButton" id="window_border">
+                                        <property name="label" translatable="yes">_Windows retain a border when undecorated</property>
                                         <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <child>
-                                          <widget class="GtkCheckButton" id="window_border">
-                                            <property name="label" translatable="yes">_Windows retain a border when undecorated</property>
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">True</property>
-                                            <property name="receives_default">False</property>
-                                            <property name="use_action_appearance">False</property>
-                                            <property name="use_underline">True</property>
-                                            <property name="draw_indicator">True</property>
-                                            <signal name="toggled" handler="on_window_border_toggled" after="yes"/>
-                                          </widget>
-                                          <packing>
-                                            <property name="expand">False</property>
-                                            <property name="fill">False</property>
-                                            <property name="position">0</property>
-                                          </packing>
-                                        </child>
-                                      </widget>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">False</property>
+                                        <property name="use_action_appearance">False</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="draw_indicator">True</property>
+                                        <signal after="yes" handler="on_window_border_toggled" name="toggled"/>
+                                      </object>
                                       <packing>
-                                        <property name="expand">True</property>
-                                        <property name="fill">True</property>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
                                         <property name="position">0</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkCheckButton" id="animate_iconify">
+                                      <object class="GtkCheckButton" id="animate_iconify">
                                         <property name="label" translatable="yes">A_nimate iconify and restore</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
@@ -490,43 +627,43 @@ Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</property>
                                         <property name="use_action_appearance">False</property>
                                         <property name="use_underline">True</property>
                                         <property name="draw_indicator">True</property>
-                                        <signal name="toggled" handler="on_animate_iconify_toggled" after="yes"/>
-                                      </widget>
+                                        <signal after="yes" handler="on_animate_iconify_toggled" name="toggled"/>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
                                         <property name="position">1</property>
                                       </packing>
                                     </child>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">True</property>
                                     <property name="fill">True</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">True</property>
                                 <property name="fill">True</property>
                                 <property name="position">0</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">True</property>
                             <property name="fill">True</property>
                             <property name="position">0</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">True</property>
@@ -534,18 +671,18 @@ Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkVBox" id="vbox38">
+                  <object class="GtkVBox" id="vbox38">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="spacing">6</property>
                     <child>
-                      <widget class="GtkLabel" id="label88">
+                      <object class="GtkLabel" id="label88">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">&lt;span weight="bold"&gt;Window Titles&lt;/span&gt;</property>
                         <property name="use_markup">True</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
@@ -553,15 +690,15 @@ Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkHBox" id="hbox43">
+                      <object class="GtkHBox" id="hbox43">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <child>
-                          <widget class="GtkLabel" id="label89">
+                          <object class="GtkLabel" id="label89">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="label">    </property>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
@@ -569,23 +706,23 @@ Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkVBox" id="vbox83">
+                          <object class="GtkVBox" id="vbox83">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="spacing">6</property>
                             <child>
-                              <widget class="GtkHBox" id="hbox44">
+                              <object class="GtkHBox" id="hbox44">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="spacing">6</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label90">
+                                  <object class="GtkLabel" id="label90">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="label" translatable="yes">_Button order:</property>
                                     <property name="use_underline">True</property>
                                     <property name="mnemonic_widget">title_layout</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
@@ -593,10 +730,10 @@ Javeed Shaikh &lt;syscrash2k@gmail.com&gt;</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkEntry" id="title_layout">
+                                  <object class="GtkEntry" id="title_layout">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="tooltip" translatable="yes">N - The window's icon
+                                    <property name="tooltip-text" translatable="yes">N - The window's icon
 D - The all-desktops (sticky) button
 S - The shade (roll up) button
 L - The label (window title)
@@ -607,15 +744,15 @@ C - The close button</property>
                                     <property name="secondary_icon_activatable">False</property>
                                     <property name="primary_icon_sensitive">True</property>
                                     <property name="secondary_icon_sensitive">True</property>
-                                    <signal name="changed" handler="on_title_layout_changed" after="yes"/>
-                                  </widget>
+                                    <signal after="yes" handler="on_title_layout_changed" name="changed"/>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">True</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">True</property>
                                 <property name="fill">True</property>
@@ -623,16 +760,16 @@ C - The close button</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkHBox" id="hbox114">
+                              <object class="GtkHBox" id="hbox114">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="spacing">6</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label233">
+                                  <object class="GtkLabel" id="label233">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="label">    </property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
@@ -640,12 +777,12 @@ C - The close button</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkHBox" id="hbox115">
+                                  <object class="GtkHBox" id="hbox115">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="spacing">6</property>
                                     <child>
-                                      <widget class="GtkLabel" id="label229">
+                                      <object class="GtkLabel" id="label229">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
                                         <property name="xalign">0</property>
@@ -654,7 +791,7 @@ C - The close button</property>
 L:
 I:
 M:</property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
@@ -662,7 +799,7 @@ M:</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkLabel" id="label230">
+                                      <object class="GtkLabel" id="label230">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
                                         <property name="xalign">0</property>
@@ -671,7 +808,7 @@ M:</property>
 Window label (Title)
 Iconify (Minimize)
 Maximize</property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
@@ -679,10 +816,10 @@ Maximize</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkVSeparator" id="vseparator1">
+                                      <object class="GtkVSeparator" id="vseparator1">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
@@ -690,7 +827,7 @@ Maximize</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkLabel" id="label231">
+                                      <object class="GtkLabel" id="label231">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
                                         <property name="xalign">0</property>
@@ -698,7 +835,7 @@ Maximize</property>
                                         <property name="label" translatable="yes">C:
 S:
 D:</property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
@@ -706,7 +843,7 @@ D:</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkLabel" id="label232">
+                                      <object class="GtkLabel" id="label232">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
                                         <property name="xalign">0</property>
@@ -714,42 +851,42 @@ D:</property>
                                         <property name="label" translatable="yes">Close
 Shade (Roll up)
 Omnipresent (On all desktops)</property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
                                         <property name="position">4</property>
                                       </packing>
                                     </child>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">True</property>
                                     <property name="fill">True</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">True</property>
                                 <property name="fill">True</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">True</property>
                             <property name="fill">True</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">True</property>
                         <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">True</property>
@@ -757,18 +894,18 @@ Omnipresent (On all desktops)</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkVBox" id="vbox39">
+                  <object class="GtkVBox" id="vbox39">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="spacing">6</property>
                     <child>
-                      <widget class="GtkLabel" id="label91">
+                      <object class="GtkLabel" id="label91">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">&lt;span weight="bold"&gt;Fonts&lt;/span&gt;</property>
                         <property name="use_markup">True</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
@@ -776,15 +913,15 @@ Omnipresent (On all desktops)</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkHBox" id="hbox45">
+                      <object class="GtkHBox" id="hbox45">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <child>
-                          <widget class="GtkLabel" id="label92">
+                          <object class="GtkLabel" id="label92">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="label">    </property>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
@@ -792,21 +929,21 @@ Omnipresent (On all desktops)</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkTable" id="table1">
+                          <object class="GtkTable" id="table1">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="n_rows">6</property>
                             <property name="n_columns">2</property>
                             <property name="row_spacing">3</property>
                             <child>
-                              <widget class="GtkFontButton" id="font_inactive">
+                              <object class="GtkFontButton" id="font_inactive">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
                                 <property name="use_action_appearance">False</property>
                                 <property name="use_font">True</property>
-                                <signal name="font_set" handler="on_font_inactive_font_set"/>
-                              </widget>
+                                <signal handler="on_font_inactive_font_set" name="font_set"/>
+                              </object>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
@@ -817,14 +954,14 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkFontButton" id="font_menu_header">
+                              <object class="GtkFontButton" id="font_menu_header">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
                                 <property name="use_action_appearance">False</property>
                                 <property name="use_font">True</property>
-                                <signal name="font_set" handler="on_font_menu_header_font_set"/>
-                              </widget>
+                                <signal handler="on_font_menu_header_font_set" name="font_set"/>
+                              </object>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
@@ -835,14 +972,14 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkFontButton" id="font_menu_item">
+                              <object class="GtkFontButton" id="font_menu_item">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
                                 <property name="use_action_appearance">False</property>
                                 <property name="use_font">True</property>
-                                <signal name="font_set" handler="on_font_menu_item_font_set"/>
-                              </widget>
+                                <signal handler="on_font_menu_item_font_set" name="font_set"/>
+                              </object>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
@@ -853,28 +990,28 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label94">
+                              <object class="GtkLabel" id="label94">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="xalign">1</property>
                                 <property name="label" translatable="yes">_Active window title: </property>
                                 <property name="use_underline">True</property>
                                 <property name="mnemonic_widget">font_active</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"/>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label95">
+                              <object class="GtkLabel" id="label95">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="xalign">1</property>
                                 <property name="label" translatable="yes">_Inactive window title: </property>
                                 <property name="use_underline">True</property>
                                 <property name="mnemonic_widget">font_inactive</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="top_attach">1</property>
                                 <property name="bottom_attach">2</property>
@@ -883,14 +1020,14 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label96">
+                              <object class="GtkLabel" id="label96">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="xalign">1</property>
                                 <property name="label" translatable="yes">Menu _header: </property>
                                 <property name="use_underline">True</property>
                                 <property name="mnemonic_widget">font_menu_header</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="top_attach">2</property>
                                 <property name="bottom_attach">3</property>
@@ -899,14 +1036,14 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label97">
+                              <object class="GtkLabel" id="label97">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="xalign">1</property>
                                 <property name="label" translatable="yes">_Menu Item: </property>
                                 <property name="use_underline">True</property>
                                 <property name="mnemonic_widget">font_menu_item</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="top_attach">3</property>
                                 <property name="bottom_attach">4</property>
@@ -915,13 +1052,13 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label98">
+                              <object class="GtkLabel" id="label98">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="xalign">1</property>
                                 <property name="label" translatable="yes">Active _On-screen display: </property>
                                 <property name="use_underline">True</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="top_attach">4</property>
                                 <property name="bottom_attach">5</property>
@@ -930,14 +1067,14 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkFontButton" id="font_active">
+                              <object class="GtkFontButton" id="font_active">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
                                 <property name="use_action_appearance">False</property>
                                 <property name="use_font">True</property>
-                                <signal name="font_set" handler="on_font_active_font_set"/>
-                              </widget>
+                                <signal handler="on_font_active_font_set" name="font_set"/>
+                              </object>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
@@ -945,13 +1082,13 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label240">
+                              <object class="GtkLabel" id="label240">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="xalign">1</property>
                                 <property name="label" translatable="yes">Inactive O_n-screen display: </property>
                                 <property name="use_underline">True</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="top_attach">5</property>
                                 <property name="bottom_attach">6</property>
@@ -960,14 +1097,14 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkFontButton" id="font_active_display">
+                              <object class="GtkFontButton" id="font_active_display">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
                                 <property name="use_action_appearance">False</property>
                                 <property name="use_font">True</property>
-                                <signal name="font_set" handler="on_font_active_display_font_set"/>
-                              </widget>
+                                <signal handler="on_font_active_display_font_set" name="font_set"/>
+                              </object>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
@@ -978,14 +1115,14 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkFontButton" id="font_inactive_display">
+                              <object class="GtkFontButton" id="font_inactive_display">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
                                 <property name="use_action_appearance">False</property>
                                 <property name="use_font">True</property>
-                                <signal name="font_set" handler="on_font_inactive_display_font_set"/>
-                              </widget>
+                                <signal handler="on_font_inactive_display_font_set" name="font_set"/>
+                              </object>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
@@ -995,66 +1132,62 @@ Omnipresent (On all desktops)</property>
                                 <property name="y_options"/>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">True</property>
                             <property name="fill">True</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">True</property>
                         <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">True</property>
                     <property name="position">2</property>
                   </packing>
                 </child>
-              </widget>
-              <packing>
-                <property name="position">1</property>
-              </packing>
+              </object>
             </child>
-            <child>
-              <widget class="GtkLabel" id="label84">
+            <child type="tab">
+              <object class="GtkLabel" id="label84">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="xalign">0</property>
                 <property name="xpad">6</property>
                 <property name="ypad">8</property>
                 <property name="label" translatable="yes">Appearance</property>
-              </widget>
+              </object>
               <packing>
                 <property name="position">1</property>
                 <property name="tab_fill">False</property>
-                <property name="type">tab</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkVBox" id="vbox12">
+              <object class="GtkVBox" id="vbox12">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">12</property>
                 <property name="spacing">18</property>
                 <child>
-                  <widget class="GtkVBox" id="vbox65">
+                  <object class="GtkVBox" id="vbox65">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="spacing">6</property>
                     <child>
-                      <widget class="GtkLabel" id="label164">
+                      <object class="GtkLabel" id="label164">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">&lt;span weight="bold"&gt;Focusing Windows&lt;/span&gt;</property>
                         <property name="use_markup">True</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
@@ -1062,15 +1195,15 @@ Omnipresent (On all desktops)</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkHBox" id="hbox89">
+                      <object class="GtkHBox" id="hbox89">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <child>
-                          <widget class="GtkLabel" id="label165">
+                          <object class="GtkLabel" id="label165">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="label">    </property>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
@@ -1078,12 +1211,12 @@ Omnipresent (On all desktops)</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkVBox" id="vbox66">
+                          <object class="GtkVBox" id="vbox66">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="spacing">6</property>
                             <child>
-                              <widget class="GtkCheckButton" id="focus_new">
+                              <object class="GtkCheckButton" id="focus_new">
                                 <property name="label" translatable="yes">Focus _new windows when they appear</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
@@ -1091,29 +1224,29 @@ Omnipresent (On all desktops)</property>
                                 <property name="use_action_appearance">False</property>
                                 <property name="use_underline">True</property>
                                 <property name="draw_indicator">True</property>
-                                <signal name="toggled" handler="on_focus_new_toggled" after="yes"/>
-                              </widget>
+                                <signal after="yes" handler="on_focus_new_toggled" name="toggled"/>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
                                 <property name="position">0</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">True</property>
                             <property name="fill">True</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
-                        <property name="expand">True</property>
+                        <property name="expand">False</property>
                         <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">True</property>
@@ -1121,18 +1254,18 @@ Omnipresent (On all desktops)</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkVBox" id="vbox34">
+                  <object class="GtkVBox" id="vbox34">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="spacing">6</property>
                     <child>
-                      <widget class="GtkLabel" id="label82">
+                      <object class="GtkLabel" id="label82">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">&lt;span weight="bold"&gt;Placing Windows&lt;/span&gt;</property>
                         <property name="use_markup">True</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
@@ -1140,15 +1273,15 @@ Omnipresent (On all desktops)</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkHBox" id="hbox40">
+                      <object class="GtkHBox" id="hbox40">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <child>
-                          <widget class="GtkLabel" id="label83">
+                          <object class="GtkLabel" id="label83">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="label">    </property>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
@@ -1156,12 +1289,12 @@ Omnipresent (On all desktops)</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkVBox" id="vbox35">
+                          <object class="GtkVBox" id="vbox35">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="spacing">6</property>
                             <child>
-                              <widget class="GtkCheckButton" id="place_mouse">
+                              <object class="GtkCheckButton" id="place_mouse">
                                 <property name="label" translatable="yes">_Place new windows under the mouse pointer</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
@@ -1169,8 +1302,8 @@ Omnipresent (On all desktops)</property>
                                 <property name="use_action_appearance">False</property>
                                 <property name="use_underline">True</property>
                                 <property name="draw_indicator">True</property>
-                                <signal name="toggled" handler="on_place_mouse_toggled" after="yes"/>
-                              </widget>
+                                <signal after="yes" handler="on_place_mouse_toggled" name="toggled"/>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
@@ -1181,19 +1314,19 @@ Omnipresent (On all desktops)</property>
                               <placeholder/>
                             </child>
                             <child>
-                              <widget class="GtkHBox" id="hbox107">
+                              <object class="GtkHBox" id="hbox107">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="spacing">12</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label220">
+                                  <object class="GtkLabel" id="label220">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="xalign">0</property>
                                     <property name="label" translatable="yes">Prefer to place new windows _on:</property>
                                     <property name="use_underline">True</property>
                                     <property name="mnemonic_widget">place_active_popup</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
@@ -1201,84 +1334,46 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkOptionMenu" id="place_active_popup">
+                                  <object class="GtkComboBoxText" id="place_active_popup">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">False</property>
-                                    <child>
-                                      <widget class="GtkMenu" id="menu13">
-                                        <property name="can_focus">False</property>
-                                        <child>
-                                          <widget class="GtkMenuItem" id="menuitem8">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="use_action_appearance">False</property>
-                                            <property name="label" translatable="yes">The primary monitor</property>
-                                            <property name="use_underline">True</property>
-                                            <signal name="activate" handler="on_place_active_popup_primary_activate"/>
-                                          </widget>
-                                        </child>
-                                        <child>
-                                          <widget class="GtkMenuItem" id="menuitem2">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="use_action_appearance">False</property>
-                                            <property name="label" translatable="yes">The active monitor</property>
-                                            <property name="use_underline">True</property>
-                                            <signal name="activate" handler="on_place_active_popup_active_activate"/>
-                                          </widget>
-                                        </child>
-                                        <child>
-                                          <widget class="GtkMenuItem" id="menuitem4">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="use_action_appearance">False</property>
-                                            <property name="label" translatable="yes">The monitor with the mouse</property>
-                                            <property name="use_underline">True</property>
-                                            <signal name="activate" handler="on_place_active_popup_mouse_activate"/>
-                                          </widget>
-                                        </child>
-                                        <child>
-                                          <widget class="GtkMenuItem" id="menuitem1">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="use_action_appearance">False</property>
-                                            <property name="label" translatable="yes">All monitors</property>
-                                            <property name="use_underline">True</property>
-                                            <signal name="activate" handler="on_place_active_popup_all_activate"/>
-                                          </widget>
-                                        </child>
-                                      </widget>
-                                    </child>
-                                  </widget>
+                                    <items>
+                                      <item translatable="yes">The primary monitor</item>
+                                      <item translatable="yes">The active monitor</item>
+                                      <item translatable="yes">The monitor with the mouse</item>
+                                      <item translatable="yes">All monitors</item>
+                                    </items>
+                                    <signal handler="on_place_active_popup_changed" name="changed"/>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
-                                <property name="expand">True</property>
+                                <property name="expand">False</property>
                                 <property name="fill">True</property>
                                 <property name="position">2</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">True</property>
                             <property name="fill">True</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
-                        <property name="expand">True</property>
+                        <property name="expand">False</property>
                         <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">True</property>
@@ -1286,18 +1381,18 @@ Omnipresent (On all desktops)</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkVBox" id="vbox86">
+                  <object class="GtkVBox" id="vbox86">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="spacing">6</property>
                     <child>
-                      <widget class="GtkLabel" id="label243">
+                      <object class="GtkLabel" id="label243">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">&lt;span weight="bold"&gt;Primary Monitor&lt;/span&gt;</property>
                         <property name="use_markup">True</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
@@ -1305,15 +1400,15 @@ Omnipresent (On all desktops)</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkHBox" id="hbox120">
+                      <object class="GtkHBox" id="hbox120">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <child>
-                          <widget class="GtkLabel" id="label244">
+                          <object class="GtkLabel" id="label244">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="label">    </property>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
@@ -1321,16 +1416,16 @@ Omnipresent (On all desktops)</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkVBox" id="vbox87">
+                          <object class="GtkVBox" id="vbox87">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="spacing">6</property>
                             <child>
-                              <widget class="GtkHBox" id="hbox122">
+                              <object class="GtkHBox" id="hbox122">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label246">
+                                  <object class="GtkLabel" id="label246">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="xalign">0</property>
@@ -1338,14 +1433,14 @@ Omnipresent (On all desktops)</property>
                                     <property name="label" translatable="yes">The primary monitor is where Openbox will place dialogs, such as the one used for cycling windows.</property>
                                     <property name="wrap">True</property>
                                     <property name="width_chars">0</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
                                     <property name="position">0</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
@@ -1353,19 +1448,19 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkHBox" id="hbox121">
+                              <object class="GtkHBox" id="hbox121">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="spacing">6</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label245">
+                                  <object class="GtkLabel" id="label245">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="xalign">0</property>
                                     <property name="label" translatable="yes">Primary _monitor:</property>
                                     <property name="use_underline">True</property>
                                     <property name="mnemonic_widget">primary_monitor_popup</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
@@ -1373,70 +1468,41 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkOptionMenu" id="primary_monitor_popup">
+                                  <object class="GtkComboBoxText" id="primary_monitor_popup">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">False</property>
-                                    <child>
-                                      <widget class="GtkMenu" id="menu16">
-                                        <property name="can_focus">False</property>
-                                        <child>
-                                          <widget class="GtkMenuItem" id="item1">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="use_action_appearance">False</property>
-                                            <property name="label" translatable="yes">Fixed Monitor</property>
-                                            <property name="use_underline">True</property>
-                                            <signal name="activate" handler="on_primary_monitor_fixed_activate"/>
-                                          </widget>
-                                        </child>
-                                        <child>
-                                          <widget class="GtkMenuItem" id="active_monitor1">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="use_action_appearance">False</property>
-                                            <property name="label" translatable="yes">Active Monitor</property>
-                                            <property name="use_underline">True</property>
-                                            <signal name="activate" handler="on_primary_monitor_active_activate"/>
-                                          </widget>
-                                        </child>
-                                        <child>
-                                          <widget class="GtkMenuItem" id="monitor_with_mouse_pointer1">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="use_action_appearance">False</property>
-                                            <property name="label" translatable="yes">Monitor With Mouse Pointer</property>
-                                            <property name="use_underline">True</property>
-                                            <signal name="activate" handler="on_primary_monitor_mouse_activate"/>
-                                          </widget>
-                                        </child>
-                                      </widget>
-                                    </child>
-                                  </widget>
+                                    <items>
+                                      <item translatable="yes">Fixed Monitor</item>
+                                      <item translatable="yes">Active Monitor</item>
+                                      <item translatable="yes">Monitor With Mouse Pointer</item>
+                                    </items>
+                                    <signal handler="on_primary_monitor_changed" name="changed"/>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
-                                <property name="expand">True</property>
+                                <property name="expand">False</property>
                                 <property name="fill">True</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkHBox" id="hbox123">
+                              <object class="GtkHBox" id="hbox123">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="spacing">6</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label249">
+                                  <object class="GtkLabel" id="label249">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="label">    </property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
@@ -1444,14 +1510,14 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkLabel" id="label248">
+                                  <object class="GtkLabel" id="label248">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="xalign">0</property>
                                     <property name="label" translatable="yes">_Fixed monitor:</property>
                                     <property name="use_underline">True</property>
                                     <property name="mnemonic_widget">fixed_monitor</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
@@ -1459,90 +1525,86 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkSpinButton" id="fixed_monitor">
+                                  <object class="GtkSpinButton" id="fixed_monitor">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="primary_icon_activatable">False</property>
                                     <property name="secondary_icon_activatable">False</property>
                                     <property name="primary_icon_sensitive">True</property>
                                     <property name="secondary_icon_sensitive">True</property>
-                                    <property name="adjustment">1 1 100 1 10 0</property>
+                                    <property name="adjustment">adjustment1</property>
                                     <property name="climb_rate">1</property>
-                                    <signal name="value_changed" handler="on_fixed_monitor_value_changed"/>
-                                  </widget>
+                                    <signal handler="on_fixed_monitor_value_changed" name="value_changed"/>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
                                     <property name="position">2</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
-                                <property name="expand">True</property>
+                                <property name="expand">False</property>
                                 <property name="fill">True</property>
                                 <property name="position">2</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">True</property>
                             <property name="fill">True</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">True</property>
                     <property name="position">2</property>
                   </packing>
                 </child>
-              </widget>
-              <packing>
-                <property name="position">2</property>
-              </packing>
+              </object>
             </child>
-            <child>
-              <widget class="GtkLabel" id="label22">
+            <child type="tab">
+              <object class="GtkLabel" id="label22">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="xalign">0</property>
                 <property name="xpad">6</property>
                 <property name="ypad">8</property>
                 <property name="label" translatable="yes">Windows</property>
-              </widget>
+              </object>
               <packing>
                 <property name="position">2</property>
                 <property name="tab_fill">False</property>
-                <property name="type">tab</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkVBox" id="vbox78">
+              <object class="GtkVBox" id="vbox78">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">12</property>
                 <property name="spacing">18</property>
                 <child>
-                  <widget class="GtkVBox" id="vbox14">
+                  <object class="GtkVBox" id="vbox14">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="spacing">6</property>
                     <child>
-                      <widget class="GtkLabel" id="label34">
+                      <object class="GtkLabel" id="label34">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">&lt;span weight="bold"&gt;Moving and Resizing Windows&lt;/span&gt;</property>
                         <property name="use_markup">True</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
@@ -1550,15 +1612,15 @@ Omnipresent (On all desktops)</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkHBox" id="hbox14">
+                      <object class="GtkHBox" id="hbox14">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <child>
-                          <widget class="GtkLabel" id="label168">
+                          <object class="GtkLabel" id="label168">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="label">    </property>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
@@ -1566,12 +1628,12 @@ Omnipresent (On all desktops)</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkVBox" id="vbox16">
+                          <object class="GtkVBox" id="vbox16">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="spacing">6</property>
                             <child>
-                              <widget class="GtkCheckButton" id="resize_contents">
+                              <object class="GtkCheckButton" id="resize_contents">
                                 <property name="label" translatable="yes">Update the window contents while _resizing</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
@@ -1579,8 +1641,8 @@ Omnipresent (On all desktops)</property>
                                 <property name="use_action_appearance">False</property>
                                 <property name="use_underline">True</property>
                                 <property name="draw_indicator">True</property>
-                                <signal name="toggled" handler="on_resize_contents_toggled" after="yes"/>
-                              </widget>
+                                <signal after="yes" handler="on_resize_contents_toggled" name="toggled"/>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
@@ -1588,19 +1650,19 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkHBox" id="hbox86">
+                              <object class="GtkHBox" id="hbox86">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="spacing">6</property>
                                 <child>
-                                  <widget class="GtkLabel" id="drag_threshold_label">
+                                  <object class="GtkLabel" id="drag_threshold_label">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="xalign">0</property>
                                     <property name="label" translatable="yes">Drag _threshold distance:</property>
                                     <property name="use_underline">True</property>
                                     <property name="mnemonic_widget">drag_threshold</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
@@ -1608,18 +1670,18 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkSpinButton" id="drag_threshold">
+                                  <object class="GtkSpinButton" id="drag_threshold">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="primary_icon_activatable">False</property>
                                     <property name="secondary_icon_activatable">False</property>
                                     <property name="primary_icon_sensitive">True</property>
                                     <property name="secondary_icon_sensitive">True</property>
-                                    <property name="adjustment">1 1 100 1 10 0</property>
+                                    <property name="adjustment">adjustment2</property>
                                     <property name="climb_rate">1</property>
                                     <property name="numeric">True</property>
-                                    <signal name="value_changed" handler="on_drag_threshold_value_changed" after="yes"/>
-                                  </widget>
+                                    <signal after="yes" handler="on_drag_threshold_value_changed" name="value_changed"/>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">True</property>
@@ -1627,38 +1689,38 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkLabel" id="label160">
+                                  <object class="GtkLabel" id="label160">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="label" translatable="yes">px</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
                                     <property name="position">2</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
-                                <property name="expand">True</property>
+                                <property name="expand">False</property>
                                 <property name="fill">True</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkHBox" id="hbox17">
+                              <object class="GtkHBox" id="hbox17">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="spacing">6</property>
                                 <child>
-                                  <widget class="GtkLabel" id="resist_window_label">
+                                  <object class="GtkLabel" id="resist_window_label">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="xalign">0</property>
                                     <property name="label" translatable="yes">Amount of resistance against other _windows:</property>
                                     <property name="use_underline">True</property>
                                     <property name="mnemonic_widget">resist_window</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
@@ -1666,18 +1728,18 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkSpinButton" id="resist_window">
+                                  <object class="GtkSpinButton" id="resist_window">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="primary_icon_activatable">False</property>
                                     <property name="secondary_icon_activatable">False</property>
                                     <property name="primary_icon_sensitive">True</property>
                                     <property name="secondary_icon_sensitive">True</property>
-                                    <property name="adjustment">20 0 100 1 10 0</property>
+                                    <property name="adjustment">adjustment3</property>
                                     <property name="climb_rate">1</property>
                                     <property name="numeric">True</property>
-                                    <signal name="value_changed" handler="on_resist_window_value_changed" after="yes"/>
-                                  </widget>
+                                    <signal after="yes" handler="on_resist_window_value_changed" name="value_changed"/>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">True</property>
@@ -1685,18 +1747,18 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkLabel" id="label67">
+                                  <object class="GtkLabel" id="label67">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="label" translatable="yes">px</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
                                     <property name="position">2</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">True</property>
@@ -1704,19 +1766,19 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkHBox" id="hbox18">
+                              <object class="GtkHBox" id="hbox18">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="spacing">6</property>
                                 <child>
-                                  <widget class="GtkLabel" id="resist_edge_label">
+                                  <object class="GtkLabel" id="resist_edge_label">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="xalign">0</property>
                                     <property name="label" translatable="yes">Amount of resistance against screen _edges:</property>
                                     <property name="use_underline">True</property>
                                     <property name="mnemonic_widget">resist_edge</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
@@ -1724,18 +1786,18 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkSpinButton" id="resist_edge">
+                                  <object class="GtkSpinButton" id="resist_edge">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="primary_icon_activatable">False</property>
                                     <property name="secondary_icon_activatable">False</property>
                                     <property name="primary_icon_sensitive">True</property>
                                     <property name="secondary_icon_sensitive">True</property>
-                                    <property name="adjustment">1 0 100 1 10 0</property>
+                                    <property name="adjustment">adjustment4</property>
                                     <property name="climb_rate">1</property>
                                     <property name="numeric">True</property>
-                                    <signal name="value_changed" handler="on_resist_edge_value_changed" after="yes"/>
-                                  </widget>
+                                    <signal after="yes" handler="on_resist_edge_value_changed" name="value_changed"/>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">True</property>
@@ -1743,18 +1805,18 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkLabel" id="label68">
+                                  <object class="GtkLabel" id="label68">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="label" translatable="yes">px</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
                                     <property name="position">2</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">True</property>
@@ -1762,7 +1824,7 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkCheckButton" id="warp_edge">
+                              <object class="GtkCheckButton" id="warp_edge">
                                 <property name="label" translatable="yes">_Switch desktops when moving a window past the screen edge</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
@@ -1770,8 +1832,8 @@ Omnipresent (On all desktops)</property>
                                 <property name="use_action_appearance">False</property>
                                 <property name="use_underline">True</property>
                                 <property name="draw_indicator">True</property>
-                                <signal name="toggled" handler="on_warp_edge_toggled" after="yes"/>
-                              </widget>
+                                <signal after="yes" handler="on_warp_edge_toggled" name="toggled"/>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
@@ -1779,15 +1841,15 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkHBox" id="hbox103">
+                              <object class="GtkHBox" id="hbox103">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label214">
+                                  <object class="GtkLabel" id="label214">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="label">    </property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
@@ -1795,19 +1857,19 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkHBox" id="hbox104">
+                                  <object class="GtkHBox" id="hbox104">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="spacing">6</property>
                                     <child>
-                                      <widget class="GtkLabel" id="label215">
+                                      <object class="GtkLabel" id="label215">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
                                         <property name="xalign">0</property>
                                         <property name="label" translatable="yes">_Amount of time to wait before switching:</property>
                                         <property name="use_underline">True</property>
                                         <property name="mnemonic_widget">warp_edge_time</property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
@@ -1815,18 +1877,18 @@ Omnipresent (On all desktops)</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkSpinButton" id="warp_edge_time">
+                                      <object class="GtkSpinButton" id="warp_edge_time">
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
                                         <property name="primary_icon_activatable">False</property>
                                         <property name="secondary_icon_activatable">False</property>
                                         <property name="primary_icon_sensitive">True</property>
                                         <property name="secondary_icon_sensitive">True</property>
-                                        <property name="adjustment">100 100 10000 10 10 0</property>
+                                        <property name="adjustment">adjustment5</property>
                                         <property name="climb_rate">1</property>
                                         <property name="numeric">True</property>
-                                        <signal name="value_changed" handler="on_warp_edge_time_value_changed" after="yes"/>
-                                      </widget>
+                                        <signal after="yes" handler="on_warp_edge_time_value_changed" name="value_changed"/>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">True</property>
@@ -1834,46 +1896,46 @@ Omnipresent (On all desktops)</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkLabel" id="label216">
+                                      <object class="GtkLabel" id="label216">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
                                         <property name="label" translatable="yes">ms</property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
                                         <property name="position">2</property>
                                       </packing>
                                     </child>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">True</property>
                                     <property name="fill">True</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">True</property>
                                 <property name="position">5</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">True</property>
                             <property name="fill">True</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">True</property>
@@ -1881,18 +1943,18 @@ Omnipresent (On all desktops)</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkVBox" id="vbox79">
+                  <object class="GtkVBox" id="vbox79">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="spacing">6</property>
                     <child>
-                      <widget class="GtkLabel" id="label222">
+                      <object class="GtkLabel" id="label222">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">&lt;span weight="bold"&gt;Information Dialog&lt;/span&gt;</property>
                         <property name="use_markup">True</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
@@ -1900,24 +1962,24 @@ Omnipresent (On all desktops)</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkVBox" id="vbox80">
+                      <object class="GtkVBox" id="vbox80">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="spacing">6</property>
                         <child>
-                          <widget class="GtkHBox" id="hbox90">
+                          <object class="GtkHBox" id="hbox90">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="spacing">12</property>
                             <child>
-                              <widget class="GtkLabel" id="label166">
+                              <object class="GtkLabel" id="label166">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="xalign">0</property>
                                 <property name="label" translatable="yes">Show _information dialog:</property>
                                 <property name="use_underline">True</property>
                                 <property name="mnemonic_widget">resize_popup</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
@@ -1925,69 +1987,40 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkOptionMenu" id="resize_popup">
+                              <object class="GtkComboBoxText" id="resize_popup">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
-                                <child>
-                                  <widget class="GtkMenu" id="menu11">
-                                    <property name="can_focus">False</property>
-                                    <child>
-                                      <widget class="GtkMenuItem" id="resize_popup_nonpixel">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="use_action_appearance">False</property>
-                                        <property name="label" translatable="yes">When resizing terminal windows</property>
-                                        <property name="use_underline">True</property>
-                                        <signal name="activate" handler="on_resize_popup_nonpixel_activate"/>
-                                      </widget>
-                                    </child>
-                                    <child>
-                                      <widget class="GtkMenuItem" id="resize_popup_always">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="use_action_appearance">False</property>
-                                        <property name="label" translatable="yes">Always</property>
-                                        <property name="use_underline">True</property>
-                                        <signal name="activate" handler="on_resize_popup_always_activate"/>
-                                      </widget>
-                                    </child>
-                                    <child>
-                                      <widget class="GtkMenuItem" id="resize_popup_never">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="use_action_appearance">False</property>
-                                        <property name="label" translatable="yes">Never</property>
-                                        <property name="use_underline">True</property>
-                                        <signal name="activate" handler="on_resize_popup_never_activate"/>
-                                      </widget>
-                                    </child>
-                                  </widget>
-                                </child>
-                              </widget>
+                                <items>
+                                  <item translatable="yes">When resizing terminal windows</item>
+                                  <item translatable="yes">Always</item>
+                                  <item translatable="yes">Never</item>
+                                </items>
+                                <signal handler="on_resize_popup_changed" name="changed"/>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                           <packing>
-                            <property name="expand">True</property>
+                            <property name="expand">False</property>
                             <property name="fill">True</property>
                             <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkHBox" id="hbox108">
+                          <object class="GtkHBox" id="hbox108">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <child>
-                              <widget class="GtkLabel" id="label35">
+                              <object class="GtkLabel" id="label35">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="label">    </property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
@@ -1995,24 +2028,24 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkVBox" id="vbox81">
+                              <object class="GtkVBox" id="vbox81">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="spacing">6</property>
                                 <child>
-                                  <widget class="GtkHBox" id="hbox91">
+                                  <object class="GtkHBox" id="hbox91">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="spacing">12</property>
                                     <child>
-                                      <widget class="GtkLabel" id="label167">
+                                      <object class="GtkLabel" id="label167">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
                                         <property name="xalign">0</property>
                                         <property name="label" translatable="yes">Information dialog's _position:</property>
                                         <property name="use_underline">True</property>
                                         <property name="mnemonic_widget">resize_position</property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
@@ -2020,69 +2053,40 @@ Omnipresent (On all desktops)</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkOptionMenu" id="resize_position">
+                                      <object class="GtkComboBoxText" id="resize_position">
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
                                         <property name="receives_default">False</property>
-                                        <child>
-                                          <widget class="GtkMenu" id="menu12">
-                                            <property name="can_focus">False</property>
-                                            <child>
-                                              <widget class="GtkMenuItem" id="resize_position_center">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">False</property>
-                                                <property name="use_action_appearance">False</property>
-                                                <property name="label" translatable="yes">Centered on the window</property>
-                                                <property name="use_underline">True</property>
-                                                <signal name="activate" handler="on_resize_position_center_activate"/>
-                                              </widget>
-                                            </child>
-                                            <child>
-                                              <widget class="GtkMenuItem" id="resize_position_top">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">False</property>
-                                                <property name="use_action_appearance">False</property>
-                                                <property name="label" translatable="yes">Above the window</property>
-                                                <property name="use_underline">True</property>
-                                                <signal name="activate" handler="on_resize_position_top_activate"/>
-                                              </widget>
-                                            </child>
-                                            <child>
-                                              <widget class="GtkMenuItem" id="fixed_position_on_screen1">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">False</property>
-                                                <property name="use_action_appearance">False</property>
-                                                <property name="label" translatable="yes">Fixed position on screen</property>
-                                                <property name="use_underline">True</property>
-                                                <signal name="activate" handler="on_resize_position_fixed_activate"/>
-                                              </widget>
-                                            </child>
-                                          </widget>
-                                        </child>
-                                      </widget>
+                                        <items>
+                                          <item translatable="yes">Centered on the window</item>
+                                          <item translatable="yes">Above the window</item>
+                                          <item translatable="yes">Fixed position on screen</item>
+                                        </items>
+                                        <signal handler="on_resize_position_changed" name="changed"/>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
                                         <property name="position">1</property>
                                       </packing>
                                     </child>
-                                  </widget>
+                                  </object>
                                   <packing>
-                                    <property name="expand">True</property>
+                                    <property name="expand">False</property>
                                     <property name="fill">True</property>
                                     <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkHBox" id="hbox109">
+                                  <object class="GtkHBox" id="hbox109">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <child>
-                                      <widget class="GtkLabel" id="label223">
+                                      <object class="GtkLabel" id="label223">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
                                         <property name="label">    </property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
@@ -2090,24 +2094,24 @@ Omnipresent (On all desktops)</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkVBox" id="vbox82">
+                                      <object class="GtkVBox" id="vbox82">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
                                         <property name="spacing">6</property>
                                         <child>
-                                          <widget class="GtkHBox" id="hbox110">
+                                          <object class="GtkHBox" id="hbox110">
                                             <property name="visible">True</property>
                                             <property name="can_focus">False</property>
                                             <property name="spacing">12</property>
                                             <child>
-                                              <widget class="GtkLabel" id="label224">
+                                              <object class="GtkLabel" id="label224">
                                                 <property name="visible">True</property>
                                                 <property name="can_focus">False</property>
                                                 <property name="xalign">0</property>
                                                 <property name="label" translatable="yes">Fixed _x position:</property>
                                                 <property name="use_underline">True</property>
                                                 <property name="mnemonic_widget">fixed_x_popup</property>
-                                              </widget>
+                                              </object>
                                               <packing>
                                                 <property name="expand">False</property>
                                                 <property name="fill">False</property>
@@ -2115,46 +2119,17 @@ Omnipresent (On all desktops)</property>
                                               </packing>
                                             </child>
                                             <child>
-                                              <widget class="GtkOptionMenu" id="fixed_x_popup">
+                                              <object class="GtkComboBoxText" id="fixed_x_popup">
                                                 <property name="visible">True</property>
                                                 <property name="can_focus">True</property>
                                                 <property name="receives_default">False</property>
-                                                <child>
-                                                  <widget class="GtkMenu" id="menu14">
-                                                    <property name="can_focus">False</property>
-                                                    <child>
-                                                      <widget class="GtkMenuItem" id="menuitem3">
-                                                        <property name="visible">True</property>
-                                                        <property name="can_focus">False</property>
-                                                        <property name="use_action_appearance">False</property>
-                                                        <property name="label" translatable="yes">Centered</property>
-                                                        <property name="use_underline">True</property>
-                                                        <signal name="activate" handler="on_fixed_x_position_center_activate"/>
-                                                      </widget>
-                                                    </child>
-                                                    <child>
-                                                      <widget class="GtkMenuItem" id="from_left_edge1">
-                                                        <property name="visible">True</property>
-                                                        <property name="can_focus">False</property>
-                                                        <property name="use_action_appearance">False</property>
-                                                        <property name="label" translatable="yes">From left edge</property>
-                                                        <property name="use_underline">True</property>
-                                                        <signal name="activate" handler="on_fixed_x_position_left_activate"/>
-                                                      </widget>
-                                                    </child>
-                                                    <child>
-                                                      <widget class="GtkMenuItem" id="from_right_edge1">
-                                                        <property name="visible">True</property>
-                                                        <property name="can_focus">False</property>
-                                                        <property name="use_action_appearance">False</property>
-                                                        <property name="label" translatable="yes">From right edge</property>
-                                                        <property name="use_underline">True</property>
-                                                        <signal name="activate" handler="on_fixed_x_position_right_activate"/>
-                                                      </widget>
-                                                    </child>
-                                                  </widget>
-                                                </child>
-                                              </widget>
+                                                <items>
+                                                  <item translatable="yes">Centered</item>
+                                                  <item translatable="yes">From left edge</item>
+                                                  <item translatable="yes">From right edge</item>
+                                                </items>
+                                                <signal handler="on_fixed_x_position_changed" name="changed"/>
+                                              </object>
                                               <packing>
                                                 <property name="expand">False</property>
                                                 <property name="fill">False</property>
@@ -2162,23 +2137,23 @@ Omnipresent (On all desktops)</property>
                                               </packing>
                                             </child>
                                             <child>
-                                              <widget class="GtkHBox" id="hbox112">
+                                              <object class="GtkHBox" id="hbox112">
                                                 <property name="visible">True</property>
                                                 <property name="can_focus">False</property>
                                                 <property name="spacing">6</property>
                                                 <child>
-                                                  <widget class="GtkSpinButton" id="fixed_x_pos">
+                                                  <object class="GtkSpinButton" id="fixed_x_pos">
                                                     <property name="visible">True</property>
                                                     <property name="can_focus">True</property>
                                                     <property name="primary_icon_activatable">False</property>
                                                     <property name="secondary_icon_activatable">False</property>
                                                     <property name="primary_icon_sensitive">True</property>
                                                     <property name="secondary_icon_sensitive">True</property>
-                                                    <property name="adjustment">1 0 1000 1 10 0</property>
+                                                    <property name="adjustment">adjustment6</property>
                                                     <property name="climb_rate">1</property>
                                                     <property name="numeric">True</property>
-                                                    <signal name="value_changed" handler="on_fixed_x_pos_value_changed" after="yes"/>
-                                                  </widget>
+                                                    <signal after="yes" handler="on_fixed_x_pos_value_changed" name="value_changed"/>
+                                                  </object>
                                                   <packing>
                                                     <property name="expand">False</property>
                                                     <property name="fill">True</property>
@@ -2186,45 +2161,45 @@ Omnipresent (On all desktops)</property>
                                                   </packing>
                                                 </child>
                                                 <child>
-                                                  <widget class="GtkLabel" id="label227">
+                                                  <object class="GtkLabel" id="label227">
                                                     <property name="visible">True</property>
                                                     <property name="can_focus">False</property>
                                                     <property name="label" translatable="yes">px</property>
-                                                  </widget>
+                                                  </object>
                                                   <packing>
                                                     <property name="expand">False</property>
                                                     <property name="fill">False</property>
                                                     <property name="position">1</property>
                                                   </packing>
                                                 </child>
-                                              </widget>
+                                              </object>
                                               <packing>
                                                 <property name="expand">True</property>
                                                 <property name="fill">True</property>
                                                 <property name="position">2</property>
                                               </packing>
                                             </child>
-                                          </widget>
+                                          </object>
                                           <packing>
-                                            <property name="expand">True</property>
+                                            <property name="expand">False</property>
                                             <property name="fill">True</property>
                                             <property name="position">0</property>
                                           </packing>
                                         </child>
                                         <child>
-                                          <widget class="GtkHBox" id="hbox111">
+                                          <object class="GtkHBox" id="hbox111">
                                             <property name="visible">True</property>
                                             <property name="can_focus">False</property>
                                             <property name="spacing">12</property>
                                             <child>
-                                              <widget class="GtkLabel" id="label225">
+                                              <object class="GtkLabel" id="label225">
                                                 <property name="visible">True</property>
                                                 <property name="can_focus">False</property>
                                                 <property name="xalign">0</property>
                                                 <property name="label" translatable="yes">Fixed _y position:</property>
                                                 <property name="use_underline">True</property>
                                                 <property name="mnemonic_widget">fixed_y_popup</property>
-                                              </widget>
+                                              </object>
                                               <packing>
                                                 <property name="expand">False</property>
                                                 <property name="fill">False</property>
@@ -2232,46 +2207,17 @@ Omnipresent (On all desktops)</property>
                                               </packing>
                                             </child>
                                             <child>
-                                              <widget class="GtkOptionMenu" id="fixed_y_popup">
+                                              <object class="GtkComboBoxText" id="fixed_y_popup">
                                                 <property name="visible">True</property>
                                                 <property name="can_focus">True</property>
                                                 <property name="receives_default">False</property>
-                                                <child>
-                                                  <widget class="GtkMenu" id="menu15">
-                                                    <property name="can_focus">False</property>
-                                                    <child>
-                                                      <widget class="GtkMenuItem" id="menuitem5">
-                                                        <property name="visible">True</property>
-                                                        <property name="can_focus">False</property>
-                                                        <property name="use_action_appearance">False</property>
-                                                        <property name="label" translatable="yes">Centered</property>
-                                                        <property name="use_underline">True</property>
-                                                        <signal name="activate" handler="on_fixed_y_position_center_activate"/>
-                                                      </widget>
-                                                    </child>
-                                                    <child>
-                                                      <widget class="GtkMenuItem" id="menuitem6">
-                                                        <property name="visible">True</property>
-                                                        <property name="can_focus">False</property>
-                                                        <property name="use_action_appearance">False</property>
-                                                        <property name="label" translatable="yes">From top edge</property>
-                                                        <property name="use_underline">True</property>
-                                                        <signal name="activate" handler="on_fixed_y_position_top_activate"/>
-                                                      </widget>
-                                                    </child>
-                                                    <child>
-                                                      <widget class="GtkMenuItem" id="menuitem7">
-                                                        <property name="visible">True</property>
-                                                        <property name="can_focus">False</property>
-                                                        <property name="use_action_appearance">False</property>
-                                                        <property name="label" translatable="yes">From bottom edge</property>
-                                                        <property name="use_underline">True</property>
-                                                        <signal name="activate" handler="on_fixed_y_position_bottom_activate"/>
-                                                      </widget>
-                                                    </child>
-                                                  </widget>
-                                                </child>
-                                              </widget>
+                                                <items>
+                                                  <item translatable="yes">Centered</item>
+                                                  <item translatable="yes">From top edge</item>
+                                                  <item translatable="yes">From bottom edge</item>
+                                                </items>
+                                                <signal handler="on_fixed_y_position_changed" name="changed"/>
+                                              </object>
                                               <packing>
                                                 <property name="expand">False</property>
                                                 <property name="fill">False</property>
@@ -2279,23 +2225,23 @@ Omnipresent (On all desktops)</property>
                                               </packing>
                                             </child>
                                             <child>
-                                              <widget class="GtkHBox" id="hbox113">
+                                              <object class="GtkHBox" id="hbox113">
                                                 <property name="visible">True</property>
                                                 <property name="can_focus">False</property>
                                                 <property name="spacing">6</property>
                                                 <child>
-                                                  <widget class="GtkSpinButton" id="fixed_y_pos">
+                                                  <object class="GtkSpinButton" id="fixed_y_pos">
                                                     <property name="visible">True</property>
                                                     <property name="can_focus">True</property>
                                                     <property name="primary_icon_activatable">False</property>
                                                     <property name="secondary_icon_activatable">False</property>
                                                     <property name="primary_icon_sensitive">True</property>
                                                     <property name="secondary_icon_sensitive">True</property>
-                                                    <property name="adjustment">1 0 1000 1 10 0</property>
+                                                    <property name="adjustment">adjustment7</property>
                                                     <property name="climb_rate">1</property>
                                                     <property name="numeric">True</property>
-                                                    <signal name="value_changed" handler="on_fixed_y_pos_value_changed" after="yes"/>
-                                                  </widget>
+                                                    <signal after="yes" handler="on_fixed_y_pos_value_changed" name="value_changed"/>
+                                                  </object>
                                                   <packing>
                                                     <property name="expand">False</property>
                                                     <property name="fill">True</property>
@@ -2303,112 +2249,108 @@ Omnipresent (On all desktops)</property>
                                                   </packing>
                                                 </child>
                                                 <child>
-                                                  <widget class="GtkLabel" id="label228">
+                                                  <object class="GtkLabel" id="label228">
                                                     <property name="visible">True</property>
                                                     <property name="can_focus">False</property>
                                                     <property name="label" translatable="yes">px</property>
-                                                  </widget>
+                                                  </object>
                                                   <packing>
                                                     <property name="expand">False</property>
                                                     <property name="fill">False</property>
                                                     <property name="position">1</property>
                                                   </packing>
                                                 </child>
-                                              </widget>
+                                              </object>
                                               <packing>
                                                 <property name="expand">True</property>
                                                 <property name="fill">True</property>
                                                 <property name="position">2</property>
                                               </packing>
                                             </child>
-                                          </widget>
+                                          </object>
                                           <packing>
-                                            <property name="expand">True</property>
+                                            <property name="expand">False</property>
                                             <property name="fill">True</property>
                                             <property name="position">1</property>
                                           </packing>
                                         </child>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">True</property>
                                         <property name="fill">True</property>
                                         <property name="position">1</property>
                                       </packing>
                                     </child>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">True</property>
                                     <property name="fill">True</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">True</property>
                                 <property name="fill">True</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">True</property>
                             <property name="fill">True</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">True</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
-              </widget>
-              <packing>
-                <property name="position">3</property>
-              </packing>
+              </object>
             </child>
-            <child>
-              <widget class="GtkLabel" id="label221">
+            <child type="tab">
+              <object class="GtkLabel" id="label221">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="xalign">0</property>
                 <property name="xpad">6</property>
                 <property name="ypad">8</property>
                 <property name="label" translatable="yes">Move &amp; Resize</property>
-              </widget>
+              </object>
               <packing>
                 <property name="position">3</property>
                 <property name="tab_fill">False</property>
-                <property name="type">tab</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkVBox" id="vbox56">
+              <object class="GtkVBox" id="vbox56">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">12</property>
                 <property name="spacing">18</property>
                 <child>
-                  <widget class="GtkVBox" id="vbox13">
+                  <object class="GtkVBox" id="vbox13">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="spacing">6</property>
                     <child>
-                      <widget class="GtkLabel" id="label32">
+                      <object class="GtkLabel" id="label32">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">&lt;span weight="bold"&gt;Focusing Windows&lt;/span&gt;</property>
                         <property name="use_markup">True</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
@@ -2416,15 +2358,15 @@ Omnipresent (On all desktops)</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkHBox" id="hbox13">
+                      <object class="GtkHBox" id="hbox13">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <child>
-                          <widget class="GtkLabel" id="label33">
+                          <object class="GtkLabel" id="label33">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="label">    </property>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
@@ -2432,12 +2374,12 @@ Omnipresent (On all desktops)</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkVBox" id="vbox15">
+                          <object class="GtkVBox" id="vbox15">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="spacing">6</property>
                             <child>
-                              <widget class="GtkCheckButton" id="focus_mouse">
+                              <object class="GtkCheckButton" id="focus_mouse">
                                 <property name="label" translatable="yes">_Focus windows when the mouse pointer moves over them</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
@@ -2445,8 +2387,8 @@ Omnipresent (On all desktops)</property>
                                 <property name="use_action_appearance">False</property>
                                 <property name="use_underline">True</property>
                                 <property name="draw_indicator">True</property>
-                                <signal name="toggled" handler="on_focus_mouse_toggled" after="yes"/>
-                              </widget>
+                                <signal after="yes" handler="on_focus_mouse_toggled" name="toggled"/>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
@@ -2454,15 +2396,15 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkHBox" id="hbox32">
+                              <object class="GtkHBox" id="hbox32">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label65">
+                                  <object class="GtkLabel" id="label65">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="label">    </property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
@@ -2470,12 +2412,12 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkVBox" id="vbox25">
+                                  <object class="GtkVBox" id="vbox25">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="spacing">6</property>
                                     <child>
-                                      <widget class="GtkCheckButton" id="focus_notlast">
+                                      <object class="GtkCheckButton" id="focus_notlast">
                                         <property name="label" translatable="yes">Move focus under the mouse when _switching desktops</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
@@ -2483,8 +2425,8 @@ Omnipresent (On all desktops)</property>
                                         <property name="use_action_appearance">False</property>
                                         <property name="use_underline">True</property>
                                         <property name="draw_indicator">True</property>
-                                        <signal name="toggled" handler="on_focus_notlast_toggled"/>
-                                      </widget>
+                                        <signal handler="on_focus_notlast_toggled" name="toggled"/>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
@@ -2492,7 +2434,7 @@ Omnipresent (On all desktops)</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkCheckButton" id="focus_under_mouse">
+                                      <object class="GtkCheckButton" id="focus_under_mouse">
                                         <property name="label" translatable="yes">Move focus _under the mouse when the mouse is not moving</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
@@ -2500,8 +2442,8 @@ Omnipresent (On all desktops)</property>
                                         <property name="use_action_appearance">False</property>
                                         <property name="use_underline">True</property>
                                         <property name="draw_indicator">True</property>
-                                        <signal name="toggled" handler="on_focus_under_mouse_toggled"/>
-                                      </widget>
+                                        <signal handler="on_focus_under_mouse_toggled" name="toggled"/>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
@@ -2509,7 +2451,7 @@ Omnipresent (On all desktops)</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkCheckButton" id="focus_raise">
+                                      <object class="GtkCheckButton" id="focus_raise">
                                         <property name="label" translatable="yes">_Raise windows when the mouse pointer moves over them</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
@@ -2517,8 +2459,8 @@ Omnipresent (On all desktops)</property>
                                         <property name="use_action_appearance">False</property>
                                         <property name="use_underline">True</property>
                                         <property name="draw_indicator">True</property>
-                                        <signal name="toggled" handler="on_focus_raise_toggled" after="yes"/>
-                                      </widget>
+                                        <signal after="yes" handler="on_focus_raise_toggled" name="toggled"/>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
@@ -2526,18 +2468,18 @@ Omnipresent (On all desktops)</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkHBox" id="hbox16">
+                                      <object class="GtkHBox" id="hbox16">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
                                         <property name="spacing">6</property>
                                         <child>
-                                          <widget class="GtkLabel" id="focus_delay_label">
+                                          <object class="GtkLabel" id="focus_delay_label">
                                             <property name="visible">True</property>
                                             <property name="can_focus">False</property>
                                             <property name="label" translatable="yes">_Delay before focusing and raising windows:</property>
                                             <property name="use_underline">True</property>
                                             <property name="mnemonic_widget">focus_delay</property>
-                                          </widget>
+                                          </object>
                                           <packing>
                                             <property name="expand">False</property>
                                             <property name="fill">False</property>
@@ -2545,18 +2487,18 @@ Omnipresent (On all desktops)</property>
                                           </packing>
                                         </child>
                                         <child>
-                                          <widget class="GtkSpinButton" id="focus_delay">
+                                          <object class="GtkSpinButton" id="focus_delay">
                                             <property name="visible">True</property>
                                             <property name="can_focus">True</property>
                                             <property name="primary_icon_activatable">False</property>
                                             <property name="secondary_icon_activatable">False</property>
                                             <property name="primary_icon_sensitive">True</property>
                                             <property name="secondary_icon_sensitive">True</property>
-                                            <property name="adjustment">0 0 10000 10 10 0</property>
+                                            <property name="adjustment">adjustment8</property>
                                             <property name="climb_rate">1</property>
                                             <property name="numeric">True</property>
-                                            <signal name="value_changed" handler="on_focus_delay_value_changed" after="yes"/>
-                                          </widget>
+                                            <signal after="yes" handler="on_focus_delay_value_changed" name="value_changed"/>
+                                          </object>
                                           <packing>
                                             <property name="expand">False</property>
                                             <property name="fill">True</property>
@@ -2564,53 +2506,53 @@ Omnipresent (On all desktops)</property>
                                           </packing>
                                         </child>
                                         <child>
-                                          <widget class="GtkLabel" id="focus_delay_label_units">
+                                          <object class="GtkLabel" id="focus_delay_label_units">
                                             <property name="visible">True</property>
                                             <property name="can_focus">False</property>
                                             <property name="label" translatable="yes">ms</property>
-                                          </widget>
+                                          </object>
                                           <packing>
                                             <property name="expand">False</property>
                                             <property name="fill">False</property>
                                             <property name="position">2</property>
                                           </packing>
                                         </child>
-                                      </widget>
+                                      </object>
                                       <packing>
-                                        <property name="expand">True</property>
+                                        <property name="expand">False</property>
                                         <property name="fill">True</property>
                                         <property name="position">3</property>
                                       </packing>
                                     </child>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">True</property>
                                     <property name="fill">True</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
-                                <property name="fill">False</property>
+                                <property name="fill">True</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">True</property>
                             <property name="fill">True</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">True</property>
@@ -2618,18 +2560,18 @@ Omnipresent (On all desktops)</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkVBox" id="vbox61">
+                  <object class="GtkVBox" id="vbox61">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="spacing">6</property>
                     <child>
-                      <widget class="GtkLabel" id="label155">
+                      <object class="GtkLabel" id="label155">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">&lt;span weight="bold"&gt;Titlebar&lt;/span&gt;</property>
                         <property name="use_markup">True</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
@@ -2637,15 +2579,15 @@ Omnipresent (On all desktops)</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkHBox" id="hbox84">
+                      <object class="GtkHBox" id="hbox84">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <child>
-                          <widget class="GtkLabel" id="label156">
+                          <object class="GtkLabel" id="label156">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="label">    </property>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
@@ -2653,24 +2595,24 @@ Omnipresent (On all desktops)</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkVBox" id="vbox62">
+                          <object class="GtkVBox" id="vbox62">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="spacing">6</property>
                             <child>
-                              <widget class="GtkHBox" id="hbox87">
+                              <object class="GtkHBox" id="hbox87">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="spacing">12</property>
                                 <child>
-                                  <widget class="GtkLabel" id="titlebar_doubleclick_label">
+                                  <object class="GtkLabel" id="titlebar_doubleclick_label">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="xalign">0</property>
                                     <property name="label" translatable="yes">Double click on the _titlebar:</property>
                                     <property name="use_underline">True</property>
                                     <property name="mnemonic_widget">titlebar_doubleclick</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
@@ -2678,63 +2620,43 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkOptionMenu" id="titlebar_doubleclick">
+                                  <object class="GtkComboBoxText" id="titlebar_doubleclick">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">False</property>
-                                    <child>
-                                      <widget class="GtkMenu" id="menu10">
-                                        <property name="can_focus">False</property>
-                                        <child>
-                                          <widget class="GtkMenuItem" id="titlebar_doubleclick_maximize">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="use_action_appearance">False</property>
-                                            <property name="label" translatable="yes">Maximizes the window</property>
-                                            <property name="use_underline">True</property>
-                                            <signal name="activate" handler="on_titlebar_doubleclick_maximize_activate"/>
-                                          </widget>
-                                        </child>
-                                        <child>
-                                          <widget class="GtkMenuItem" id="titlebar_doubleclick_shade">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="use_action_appearance">False</property>
-                                            <property name="label" translatable="yes">Shades the window</property>
-                                            <property name="use_underline">True</property>
-                                            <signal name="activate" handler="on_titlebar_doubleclick_shade_activate"/>
-                                          </widget>
-                                        </child>
-                                      </widget>
-                                    </child>
-                                  </widget>
+                                    <items>
+                                      <item translatable="yes">Maximizes the window</item>
+                                      <item translatable="yes">Shades the window</item>
+                                    </items>
+                                    <signal handler="on_titlebar_doubleclick_changed" name="changed"/>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
-                                <property name="expand">True</property>
+                                <property name="expand">False</property>
                                 <property name="fill">True</property>
                                 <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkHBox" id="hbox85">
+                              <object class="GtkHBox" id="hbox85">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="spacing">6</property>
                                 <child>
-                                  <widget class="GtkLabel" id="doubleclick_time_label">
+                                  <object class="GtkLabel" id="doubleclick_time_label">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="xalign">0</property>
                                     <property name="label" translatable="yes">Double click ti_me:</property>
                                     <property name="use_underline">True</property>
                                     <property name="mnemonic_widget">doubleclick_time</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
@@ -2742,18 +2664,18 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkSpinButton" id="doubleclick_time">
+                                  <object class="GtkSpinButton" id="doubleclick_time">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="primary_icon_activatable">False</property>
                                     <property name="secondary_icon_activatable">False</property>
                                     <property name="primary_icon_sensitive">True</property>
                                     <property name="secondary_icon_sensitive">True</property>
-                                    <property name="adjustment">0 0 10000 10 10 0</property>
+                                    <property name="adjustment">adjustment9</property>
                                     <property name="climb_rate">1</property>
                                     <property name="numeric">True</property>
-                                    <signal name="value_changed" handler="on_doubleclick_time_value_changed" after="yes"/>
-                                  </widget>
+                                    <signal after="yes" handler="on_doubleclick_time_value_changed" name="value_changed"/>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">True</property>
@@ -2761,39 +2683,39 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkLabel" id="label158">
+                                  <object class="GtkLabel" id="label158">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="label" translatable="yes">ms</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
                                     <property name="position">2</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
-                                <property name="expand">True</property>
+                                <property name="expand">False</property>
                                 <property name="fill">True</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">True</property>
                             <property name="fill">True</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">True</property>
                         <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">True</property>
@@ -2801,73 +2723,69 @@ Omnipresent (On all desktops)</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkVBox" id="vbox63">
+                  <object class="GtkVBox" id="vbox63">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
-                      <widget class="GtkHBox" id="hbox88">
+                      <object class="GtkHBox" id="hbox88">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <child>
-                          <widget class="GtkLabel" id="label162">
+                          <object class="GtkLabel" id="label162">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="label" translatable="yes">    </property>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
                             <property name="position">0</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
-                        <property name="expand">True</property>
+                        <property name="expand">False</property>
                         <property name="fill">True</property>
                         <property name="position">0</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">True</property>
                     <property name="position">2</property>
                   </packing>
                 </child>
-              </widget>
-              <packing>
-                <property name="position">4</property>
-              </packing>
+              </object>
             </child>
-            <child>
-              <widget class="GtkLabel" id="label118">
+            <child type="tab">
+              <object class="GtkLabel" id="label118">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="xalign">0</property>
                 <property name="xpad">6</property>
                 <property name="ypad">8</property>
                 <property name="label" translatable="yes">Mouse</property>
-              </widget>
+              </object>
               <packing>
                 <property name="position">4</property>
                 <property name="tab_fill">False</property>
-                <property name="type">tab</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkVBox" id="vbox18">
+              <object class="GtkVBox" id="vbox18">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">12</property>
                 <property name="spacing">6</property>
                 <child>
-                  <widget class="GtkLabel" id="label51">
+                  <object class="GtkLabel" id="label51">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="xalign">0</property>
                     <property name="label" translatable="yes">&lt;span weight="bold"&gt;Desktops&lt;/span&gt;</property>
                     <property name="use_markup">True</property>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
@@ -2875,15 +2793,15 @@ Omnipresent (On all desktops)</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkHBox" id="hbox24">
+                  <object class="GtkHBox" id="hbox24">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
-                      <widget class="GtkLabel" id="label52">
+                      <object class="GtkLabel" id="label52">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="label">    </property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
@@ -2891,12 +2809,12 @@ Omnipresent (On all desktops)</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkVBox" id="vbox19">
+                      <object class="GtkVBox" id="vbox19">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="spacing">6</property>
                         <child>
-                          <widget class="GtkCheckButton" id="desktop_popup">
+                          <object class="GtkCheckButton" id="desktop_popup">
                             <property name="label" translatable="yes">_Show a notification when switching desktops</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
@@ -2904,8 +2822,8 @@ Omnipresent (On all desktops)</property>
                             <property name="use_action_appearance">False</property>
                             <property name="use_underline">True</property>
                             <property name="draw_indicator">True</property>
-                            <signal name="toggled" handler="on_desktop_popup_toggled" after="yes"/>
-                          </widget>
+                            <signal after="yes" handler="on_desktop_popup_toggled" name="toggled"/>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
@@ -2913,15 +2831,15 @@ Omnipresent (On all desktops)</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkHBox" id="hbox105">
+                          <object class="GtkHBox" id="hbox105">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <child>
-                              <widget class="GtkLabel" id="label217">
+                              <object class="GtkLabel" id="label217">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="label">    </property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
@@ -2929,19 +2847,19 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkHBox" id="hbox106">
+                              <object class="GtkHBox" id="hbox106">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="spacing">6</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label218">
+                                  <object class="GtkLabel" id="label218">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="xalign">0</property>
                                     <property name="label" translatable="yes">_Amount of time to show the notification for:</property>
                                     <property name="use_underline">True</property>
                                     <property name="mnemonic_widget">desktop_popup_time</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
@@ -2949,18 +2867,18 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkSpinButton" id="desktop_popup_time">
+                                  <object class="GtkSpinButton" id="desktop_popup_time">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="primary_icon_activatable">False</property>
                                     <property name="secondary_icon_activatable">False</property>
                                     <property name="primary_icon_sensitive">True</property>
                                     <property name="secondary_icon_sensitive">True</property>
-                                    <property name="adjustment">1 1 10000 10 10 0</property>
+                                    <property name="adjustment">adjustment10</property>
                                     <property name="climb_rate">1</property>
                                     <property name="numeric">True</property>
-                                    <signal name="value_changed" handler="on_desktop_popup_time_value_changed" after="yes"/>
-                                  </widget>
+                                    <signal after="yes" handler="on_desktop_popup_time_value_changed" name="value_changed"/>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">True</property>
@@ -2968,25 +2886,25 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkLabel" id="label219">
+                                  <object class="GtkLabel" id="label219">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="label" translatable="yes">ms</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
                                     <property name="position">2</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">True</property>
                                 <property name="fill">True</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">True</property>
@@ -2994,18 +2912,18 @@ Omnipresent (On all desktops)</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkHBox" id="hbox25">
+                          <object class="GtkHBox" id="hbox25">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="spacing">6</property>
                             <child>
-                              <widget class="GtkLabel" id="label53">
+                              <object class="GtkLabel" id="label53">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="label" translatable="yes">_Number of desktops: </property>
                                 <property name="use_underline">True</property>
                                 <property name="mnemonic_widget">desktop_num</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
@@ -3013,25 +2931,25 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkSpinButton" id="desktop_num">
+                              <object class="GtkSpinButton" id="desktop_num">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="primary_icon_activatable">False</property>
                                 <property name="secondary_icon_activatable">False</property>
                                 <property name="primary_icon_sensitive">True</property>
                                 <property name="secondary_icon_sensitive">True</property>
-                                <property name="adjustment">1 1 100 1 10 0</property>
+                                <property name="adjustment">adjustment11</property>
                                 <property name="climb_rate">1</property>
                                 <property name="numeric">True</property>
-                                <signal name="value_changed" handler="on_desktop_num_value_changed" after="yes"/>
-                              </widget>
+                                <signal after="yes" handler="on_desktop_num_value_changed" name="value_changed"/>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">True</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">True</property>
@@ -3039,14 +2957,14 @@ Omnipresent (On all desktops)</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkLabel" id="label54">
+                          <object class="GtkLabel" id="label54">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="xalign">0</property>
                             <property name="label" translatable="yes">_Desktop names:</property>
                             <property name="use_underline">True</property>
                             <property name="mnemonic_widget">desktop_names</property>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
@@ -3054,74 +2972,70 @@ Omnipresent (On all desktops)</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkScrolledWindow" id="scrolledwindow1">
+                          <object class="GtkScrolledWindow" id="scrolledwindow1">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="hscrollbar_policy">never</property>
                             <property name="vscrollbar_policy">automatic</property>
                             <property name="shadow_type">in</property>
                             <child>
-                              <widget class="GtkTreeView" id="desktop_names">
+                              <object class="GtkTreeView" id="desktop_names">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="headers_visible">False</property>
-                              </widget>
+                              </object>
                             </child>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">True</property>
                             <property name="fill">True</property>
                             <property name="position">4</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">True</property>
                         <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">True</property>
                     <property name="fill">True</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
-              </widget>
-              <packing>
-                <property name="position">5</property>
-              </packing>
+              </object>
             </child>
-            <child>
-              <widget class="GtkLabel" id="label31">
+            <child type="tab">
+              <object class="GtkLabel" id="label31">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="xalign">0</property>
                 <property name="xpad">6</property>
                 <property name="ypad">8</property>
                 <property name="label" translatable="yes">Desktops</property>
-              </widget>
+              </object>
               <packing>
                 <property name="position">5</property>
                 <property name="tab_fill">False</property>
-                <property name="type">tab</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkVBox" id="vbox71">
+              <object class="GtkVBox" id="vbox71">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">12</property>
                 <property name="spacing">6</property>
                 <child>
-                  <widget class="GtkLabel" id="label173">
+                  <object class="GtkLabel" id="label173">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="xalign">0</property>
                     <property name="label" translatable="yes">&lt;span weight="bold"&gt;Desktop Margins&lt;/span&gt;</property>
                     <property name="use_markup">True</property>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
@@ -3129,15 +3043,15 @@ Omnipresent (On all desktops)</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkHBox" id="hbox94">
+                  <object class="GtkHBox" id="hbox94">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
-                      <widget class="GtkLabel" id="label174">
+                      <object class="GtkLabel" id="label174">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="label">    </property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
@@ -3145,19 +3059,19 @@ Omnipresent (On all desktops)</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkVBox" id="vbox72">
+                      <object class="GtkVBox" id="vbox72">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="spacing">6</property>
                         <child>
-                          <widget class="GtkLabel" id="label212">
+                          <object class="GtkLabel" id="label212">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="xalign">0</property>
                             <property name="yalign">0</property>
                             <property name="label" translatable="yes">Desktop margins are reserved areas on the edge of your screen.  New windows will not be placed within a margin, and maximized windows will not cover them.</property>
                             <property name="wrap">True</property>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
@@ -3165,14 +3079,14 @@ Omnipresent (On all desktops)</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkHBox" id="hbox98">
+                          <object class="GtkHBox" id="hbox98">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <child>
-                              <widget class="GtkLabel" id="label209">
+                              <object class="GtkLabel" id="label209">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">True</property>
                                 <property name="fill">True</property>
@@ -3180,14 +3094,14 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkVBox" id="vbox77">
+                              <object class="GtkVBox" id="vbox77">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label210">
+                                  <object class="GtkLabel" id="label210">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">True</property>
                                     <property name="fill">True</property>
@@ -3195,18 +3109,18 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkVBox" id="vbox75">
+                                  <object class="GtkVBox" id="vbox75">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <child>
-                                      <widget class="GtkLabel" id="label195">
+                                      <object class="GtkLabel" id="label195">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
                                         <property name="ypad">4</property>
                                         <property name="label" translatable="yes">_Top</property>
                                         <property name="use_underline">True</property>
                                         <property name="mnemonic_widget">margins_top</property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">True</property>
@@ -3214,15 +3128,15 @@ Omnipresent (On all desktops)</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkHBox" id="hbox101">
+                                      <object class="GtkHBox" id="hbox101">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
                                         <property name="spacing">6</property>
                                         <child>
-                                          <widget class="GtkLabel" id="label196">
+                                          <object class="GtkLabel" id="label196">
                                             <property name="visible">True</property>
                                             <property name="can_focus">False</property>
-                                          </widget>
+                                          </object>
                                           <packing>
                                             <property name="expand">True</property>
                                             <property name="fill">True</property>
@@ -3230,18 +3144,18 @@ Omnipresent (On all desktops)</property>
                                           </packing>
                                         </child>
                                         <child>
-                                          <widget class="GtkSpinButton" id="margins_top">
+                                          <object class="GtkSpinButton" id="margins_top">
                                             <property name="visible">True</property>
                                             <property name="can_focus">True</property>
                                             <property name="primary_icon_activatable">False</property>
                                             <property name="secondary_icon_activatable">False</property>
                                             <property name="primary_icon_sensitive">True</property>
                                             <property name="secondary_icon_sensitive">True</property>
-                                            <property name="adjustment">20 0 10000 1 10 0</property>
+                                            <property name="adjustment">adjustment12</property>
                                             <property name="climb_rate">1</property>
                                             <property name="numeric">True</property>
-                                            <signal name="value_changed" handler="on_margins_top_value_changed" after="yes"/>
-                                          </widget>
+                                            <signal after="yes" handler="on_margins_top_value_changed" name="value_changed"/>
+                                          </object>
                                           <packing>
                                             <property name="expand">False</property>
                                             <property name="fill">False</property>
@@ -3249,11 +3163,11 @@ Omnipresent (On all desktops)</property>
                                           </packing>
                                         </child>
                                         <child>
-                                          <widget class="GtkLabel" id="label197">
+                                          <object class="GtkLabel" id="label197">
                                             <property name="visible">True</property>
                                             <property name="can_focus">False</property>
                                             <property name="label" translatable="yes">px</property>
-                                          </widget>
+                                          </object>
                                           <packing>
                                             <property name="expand">False</property>
                                             <property name="fill">False</property>
@@ -3261,31 +3175,31 @@ Omnipresent (On all desktops)</property>
                                           </packing>
                                         </child>
                                         <child>
-                                          <widget class="GtkLabel" id="label198">
+                                          <object class="GtkLabel" id="label198">
                                             <property name="visible">True</property>
                                             <property name="can_focus">False</property>
-                                          </widget>
+                                          </object>
                                           <packing>
                                             <property name="expand">True</property>
                                             <property name="fill">True</property>
                                             <property name="position">3</property>
                                           </packing>
                                         </child>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">True</property>
                                         <property name="position">1</property>
                                       </packing>
                                     </child>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">True</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">True</property>
                                 <property name="fill">True</property>
@@ -3293,17 +3207,17 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label208">
+                              <object class="GtkLabel" id="label208">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">True</property>
                                 <property name="fill">True</property>
                                 <property name="position">2</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">True</property>
                             <property name="fill">True</property>
@@ -3311,14 +3225,14 @@ Omnipresent (On all desktops)</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkHBox" id="hbox95">
+                          <object class="GtkHBox" id="hbox95">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <child>
-                              <widget class="GtkLabel" id="label179">
+                              <object class="GtkLabel" id="label179">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">True</property>
                                 <property name="fill">True</property>
@@ -3326,14 +3240,14 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkVBox" id="vbox73">
+                              <object class="GtkVBox" id="vbox73">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label181">
+                                  <object class="GtkLabel" id="label181">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">True</property>
                                     <property name="fill">True</property>
@@ -3341,14 +3255,14 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkLabel" id="label176">
+                                  <object class="GtkLabel" id="label176">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="ypad">4</property>
                                     <property name="label" translatable="yes">_Left</property>
                                     <property name="use_underline">True</property>
                                     <property name="mnemonic_widget">margins_left</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">True</property>
@@ -3356,15 +3270,15 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkHBox" id="hbox96">
+                                  <object class="GtkHBox" id="hbox96">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="spacing">6</property>
                                     <child>
-                                      <widget class="GtkLabel" id="label186">
+                                      <object class="GtkLabel" id="label186">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">True</property>
                                         <property name="fill">True</property>
@@ -3372,18 +3286,18 @@ Omnipresent (On all desktops)</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkSpinButton" id="margins_left">
+                                      <object class="GtkSpinButton" id="margins_left">
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
                                         <property name="primary_icon_activatable">False</property>
                                         <property name="secondary_icon_activatable">False</property>
                                         <property name="primary_icon_sensitive">True</property>
                                         <property name="secondary_icon_sensitive">True</property>
-                                        <property name="adjustment">20 0 10000 1 10 0</property>
+                                        <property name="adjustment">adjustment13</property>
                                         <property name="climb_rate">1</property>
                                         <property name="numeric">True</property>
-                                        <signal name="value_changed" handler="on_margins_left_value_changed" after="yes"/>
-                                      </widget>
+                                        <signal after="yes" handler="on_margins_left_value_changed" name="value_changed"/>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
@@ -3391,11 +3305,11 @@ Omnipresent (On all desktops)</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkLabel" id="label178">
+                                      <object class="GtkLabel" id="label178">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
                                         <property name="label" translatable="yes">px</property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
@@ -3403,17 +3317,17 @@ Omnipresent (On all desktops)</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkLabel" id="label187">
+                                      <object class="GtkLabel" id="label187">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">True</property>
                                         <property name="fill">True</property>
                                         <property name="position">3</property>
                                       </packing>
                                     </child>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">True</property>
@@ -3421,17 +3335,17 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkLabel" id="label182">
+                                  <object class="GtkLabel" id="label182">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">True</property>
                                     <property name="fill">True</property>
                                     <property name="position">3</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">True</property>
@@ -3439,12 +3353,12 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image3">
+                              <object class="GtkImage" id="image3">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="pixel_size">150</property>
                                 <property name="icon_name">video-display</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
@@ -3452,14 +3366,14 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkVBox" id="vbox74">
+                              <object class="GtkVBox" id="vbox74">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label188">
+                                  <object class="GtkLabel" id="label188">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">True</property>
                                     <property name="fill">True</property>
@@ -3467,14 +3381,14 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkLabel" id="label189">
+                                  <object class="GtkLabel" id="label189">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="ypad">4</property>
                                     <property name="label" translatable="yes">_Right</property>
                                     <property name="use_underline">True</property>
                                     <property name="mnemonic_widget">margins_right</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">True</property>
@@ -3482,15 +3396,15 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkHBox" id="hbox97">
+                                  <object class="GtkHBox" id="hbox97">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="spacing">6</property>
                                     <child>
-                                      <widget class="GtkLabel" id="label190">
+                                      <object class="GtkLabel" id="label190">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">True</property>
                                         <property name="fill">True</property>
@@ -3498,18 +3412,18 @@ Omnipresent (On all desktops)</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkSpinButton" id="margins_right">
+                                      <object class="GtkSpinButton" id="margins_right">
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
                                         <property name="primary_icon_activatable">False</property>
                                         <property name="secondary_icon_activatable">False</property>
                                         <property name="primary_icon_sensitive">True</property>
                                         <property name="secondary_icon_sensitive">True</property>
-                                        <property name="adjustment">20 0 10000 1 10 0</property>
+                                        <property name="adjustment">adjustment14</property>
                                         <property name="climb_rate">1</property>
                                         <property name="numeric">True</property>
-                                        <signal name="value_changed" handler="on_margins_right_value_changed" after="yes"/>
-                                      </widget>
+                                        <signal after="yes" handler="on_margins_right_value_changed" name="value_changed"/>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
@@ -3517,11 +3431,11 @@ Omnipresent (On all desktops)</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkLabel" id="label191">
+                                      <object class="GtkLabel" id="label191">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
                                         <property name="label" translatable="yes">px</property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
@@ -3529,17 +3443,17 @@ Omnipresent (On all desktops)</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkLabel" id="label192">
+                                      <object class="GtkLabel" id="label192">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">True</property>
                                         <property name="fill">True</property>
                                         <property name="position">3</property>
                                       </packing>
                                     </child>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">True</property>
@@ -3547,17 +3461,17 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkLabel" id="label193">
+                                  <object class="GtkLabel" id="label193">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">True</property>
                                     <property name="fill">True</property>
                                     <property name="position">3</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">True</property>
@@ -3565,17 +3479,17 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label180">
+                              <object class="GtkLabel" id="label180">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">True</property>
                                 <property name="fill">True</property>
                                 <property name="position">4</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">True</property>
                             <property name="fill">True</property>
@@ -3583,14 +3497,14 @@ Omnipresent (On all desktops)</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkHBox" id="hbox100">
+                          <object class="GtkHBox" id="hbox100">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <child>
-                              <widget class="GtkLabel" id="label206">
+                              <object class="GtkLabel" id="label206">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">True</property>
                                 <property name="fill">True</property>
@@ -3598,18 +3512,18 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkVBox" id="vbox76">
+                              <object class="GtkVBox" id="vbox76">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label201">
+                                  <object class="GtkLabel" id="label201">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="ypad">4</property>
                                     <property name="label" translatable="yes">_Bottom</property>
                                     <property name="use_underline">True</property>
                                     <property name="mnemonic_widget">margins_bottom</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">True</property>
@@ -3617,15 +3531,15 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkHBox" id="hbox102">
+                                  <object class="GtkHBox" id="hbox102">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="spacing">6</property>
                                     <child>
-                                      <widget class="GtkLabel" id="label202">
+                                      <object class="GtkLabel" id="label202">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">True</property>
                                         <property name="fill">True</property>
@@ -3633,18 +3547,18 @@ Omnipresent (On all desktops)</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkSpinButton" id="margins_bottom">
+                                      <object class="GtkSpinButton" id="margins_bottom">
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
                                         <property name="primary_icon_activatable">False</property>
                                         <property name="secondary_icon_activatable">False</property>
                                         <property name="primary_icon_sensitive">True</property>
                                         <property name="secondary_icon_sensitive">True</property>
-                                        <property name="adjustment">20 0 10000 1 10 0</property>
+                                        <property name="adjustment">adjustment15</property>
                                         <property name="climb_rate">1</property>
                                         <property name="numeric">True</property>
-                                        <signal name="value_changed" handler="on_margins_bottom_value_changed" after="yes"/>
-                                      </widget>
+                                        <signal after="yes" handler="on_margins_bottom_value_changed" name="value_changed"/>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
@@ -3652,11 +3566,11 @@ Omnipresent (On all desktops)</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkLabel" id="label203">
+                                      <object class="GtkLabel" id="label203">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
                                         <property name="label" translatable="yes">px</property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
@@ -3664,17 +3578,17 @@ Omnipresent (On all desktops)</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkLabel" id="label204">
+                                      <object class="GtkLabel" id="label204">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">True</property>
                                         <property name="fill">True</property>
                                         <property name="position">3</property>
                                       </packing>
                                     </child>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">True</property>
@@ -3682,17 +3596,17 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkLabel" id="label205">
+                                  <object class="GtkLabel" id="label205">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">True</property>
                                     <property name="fill">True</property>
                                     <property name="position">2</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">True</property>
@@ -3700,17 +3614,17 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label207">
+                              <object class="GtkLabel" id="label207">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">True</property>
                                 <property name="fill">True</property>
                                 <property name="position">2</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">True</property>
                             <property name="fill">True</property>
@@ -3718,69 +3632,65 @@ Omnipresent (On all desktops)</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkLabel" id="label211">
+                          <object class="GtkLabel" id="label211">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">True</property>
                             <property name="fill">True</property>
                             <property name="position">4</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">True</property>
                         <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">True</property>
                     <property name="fill">True</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
-              </widget>
-              <packing>
-                <property name="position">6</property>
-              </packing>
+              </object>
             </child>
-            <child>
-              <widget class="GtkLabel" id="label172">
+            <child type="tab">
+              <object class="GtkLabel" id="label172">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="xalign">0</property>
                 <property name="xpad">6</property>
                 <property name="ypad">8</property>
                 <property name="label" translatable="yes">Margins</property>
-              </widget>
+              </object>
               <packing>
                 <property name="position">6</property>
                 <property name="tab_fill">False</property>
-                <property name="type">tab</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkVBox" id="vbox26">
+              <object class="GtkVBox" id="vbox26">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="border_width">12</property>
                 <property name="spacing">18</property>
                 <child>
-                  <widget class="GtkVBox" id="vbox84">
+                  <object class="GtkVBox" id="vbox84">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="spacing">6</property>
                     <child>
-                      <widget class="GtkLabel" id="label234">
+                      <object class="GtkLabel" id="label234">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">&lt;span weight="bold"&gt;Dock&lt;/span&gt;</property>
                         <property name="use_markup">True</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
@@ -3788,15 +3698,15 @@ Omnipresent (On all desktops)</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkHBox" id="hbox118">
+                      <object class="GtkHBox" id="hbox118">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <child>
-                          <widget class="GtkLabel" id="label238">
+                          <object class="GtkLabel" id="label238">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="label">    </property>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
@@ -3804,7 +3714,7 @@ Omnipresent (On all desktops)</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkLabel" id="label239">
+                          <object class="GtkLabel" id="label239">
                             <property name="width_request">490</property>
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
@@ -3812,21 +3722,21 @@ Omnipresent (On all desktops)</property>
                             <property name="yalign">0</property>
                             <property name="label" translatable="yes">The dock is a special container for "dockapps", or dock applications.  It is not visible on screen until a dockapp is run.  Dockapps can be used to show things like a clock, or to provide you with a system tray.</property>
                             <property name="wrap">True</property>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">True</property>
                             <property name="fill">True</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">True</property>
                         <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">True</property>
@@ -3834,18 +3744,18 @@ Omnipresent (On all desktops)</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkVBox" id="vbox27">
+                  <object class="GtkVBox" id="vbox27">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="spacing">6</property>
                     <child>
-                      <widget class="GtkLabel" id="label70">
+                      <object class="GtkLabel" id="label70">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">&lt;span weight="bold"&gt;Position&lt;/span&gt;</property>
                         <property name="use_markup">True</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
@@ -3853,15 +3763,15 @@ Omnipresent (On all desktops)</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkHBox" id="hbox33">
+                      <object class="GtkHBox" id="hbox33">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <child>
-                          <widget class="GtkLabel" id="label71">
+                          <object class="GtkLabel" id="label71">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="label">    </property>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
@@ -3869,24 +3779,24 @@ Omnipresent (On all desktops)</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkVBox" id="vbox30">
+                          <object class="GtkVBox" id="vbox30">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="spacing">6</property>
                             <child>
-                              <widget class="GtkHBox" id="hbox19">
+                              <object class="GtkHBox" id="hbox19">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="spacing">12</property>
                                 <child>
-                                  <widget class="GtkLabel" id="dock_position_label">
+                                  <object class="GtkLabel" id="dock_position_label">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="xalign">0</property>
                                     <property name="label" translatable="yes">_Position:</property>
                                     <property name="use_underline">True</property>
                                     <property name="mnemonic_widget">dock_position</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
@@ -3894,113 +3804,30 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkOptionMenu" id="dock_position">
+                                  <object class="GtkComboBoxText" id="dock_position">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">False</property>
-                                    <child>
-                                      <widget class="GtkMenu" id="menu5">
-                                        <property name="can_focus">False</property>
-                                        <child>
-                                          <widget class="GtkMenuItem" id="top_left">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="use_action_appearance">False</property>
-                                            <property name="label" translatable="yes">Top Left</property>
-                                            <property name="use_underline">True</property>
-                                            <signal name="activate" handler="on_dock_top_left_activate"/>
-                                          </widget>
-                                        </child>
-                                        <child>
-                                          <widget class="GtkMenuItem" id="top">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="use_action_appearance">False</property>
-                                            <property name="label" translatable="yes">Top</property>
-                                            <property name="use_underline">True</property>
-                                            <signal name="activate" handler="on_dock_top_activate"/>
-                                          </widget>
-                                        </child>
-                                        <child>
-                                          <widget class="GtkMenuItem" id="top_right">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="use_action_appearance">False</property>
-                                            <property name="label" translatable="yes">Top Right</property>
-                                            <property name="use_underline">True</property>
-                                            <signal name="activate" handler="on_dock_top_right_activate"/>
-                                          </widget>
-                                        </child>
-                                        <child>
-                                          <widget class="GtkMenuItem" id="left">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="use_action_appearance">False</property>
-                                            <property name="label" translatable="yes">Left</property>
-                                            <property name="use_underline">True</property>
-                                            <signal name="activate" handler="on_dock_left_activate"/>
-                                          </widget>
-                                        </child>
-                                        <child>
-                                          <widget class="GtkMenuItem" id="right">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="use_action_appearance">False</property>
-                                            <property name="label" translatable="yes">Right</property>
-                                            <property name="use_underline">True</property>
-                                            <signal name="activate" handler="on_dock_right_activate"/>
-                                          </widget>
-                                        </child>
-                                        <child>
-                                          <widget class="GtkMenuItem" id="bottom_left">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="use_action_appearance">False</property>
-                                            <property name="label" translatable="yes">Bottom Left</property>
-                                            <property name="use_underline">True</property>
-                                            <signal name="activate" handler="on_dock_bottom_left_activate"/>
-                                          </widget>
-                                        </child>
-                                        <child>
-                                          <widget class="GtkMenuItem" id="bottom">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="use_action_appearance">False</property>
-                                            <property name="label" translatable="yes">Bottom</property>
-                                            <property name="use_underline">True</property>
-                                            <signal name="activate" handler="on_dock_bottom_activate"/>
-                                          </widget>
-                                        </child>
-                                        <child>
-                                          <widget class="GtkMenuItem" id="bottom_right">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="use_action_appearance">False</property>
-                                            <property name="label" translatable="yes">Bottom Right</property>
-                                            <property name="use_underline">True</property>
-                                            <signal name="activate" handler="on_dock_bottom_right_activate"/>
-                                          </widget>
-                                        </child>
-                                        <child>
-                                          <widget class="GtkMenuItem" id="floating">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="use_action_appearance">False</property>
-                                            <property name="label" translatable="yes">Floating</property>
-                                            <property name="use_underline">True</property>
-                                            <signal name="activate" handler="on_dock_floating_activate"/>
-                                          </widget>
-                                        </child>
-                                      </widget>
-                                    </child>
-                                  </widget>
+                                    <items>
+                                      <item translatable="yes">Top Left</item>
+                                      <item translatable="yes">Top</item>
+                                      <item translatable="yes">Top Right</item>
+                                      <item translatable="yes">Left</item>
+                                      <item translatable="yes">Right</item>
+                                      <item translatable="yes">Bottom Left</item>
+                                      <item translatable="yes">Bottom</item>
+                                      <item translatable="yes">Bottom Right</item>
+                                      <item translatable="yes">Floating</item>
+                                    </items>
+                                    <signal handler="on_dock_position_changed" name="changed"/>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
@@ -4008,15 +3835,15 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkHBox" id="hbox36">
+                              <object class="GtkHBox" id="hbox36">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label76">
+                                  <object class="GtkLabel" id="label76">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="label">    </property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
@@ -4024,18 +3851,18 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkHBox" id="hbox20">
+                                  <object class="GtkHBox" id="hbox20">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="spacing">6</property>
                                     <child>
-                                      <widget class="GtkLabel" id="dock_float_label">
+                                      <object class="GtkLabel" id="dock_float_label">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
                                         <property name="label" translatable="yes">_Floating position:</property>
                                         <property name="use_underline">True</property>
                                         <property name="mnemonic_widget">dock_float_x</property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
@@ -4043,18 +3870,18 @@ Omnipresent (On all desktops)</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkSpinButton" id="dock_float_x">
+                                      <object class="GtkSpinButton" id="dock_float_x">
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
                                         <property name="primary_icon_activatable">False</property>
                                         <property name="secondary_icon_activatable">False</property>
                                         <property name="primary_icon_sensitive">True</property>
                                         <property name="secondary_icon_sensitive">True</property>
-                                        <property name="adjustment">1 0 10000 1 10 0</property>
+                                        <property name="adjustment">adjustment16</property>
                                         <property name="climb_rate">1</property>
                                         <property name="numeric">True</property>
-                                        <signal name="value_changed" handler="on_dock_float_x_value_changed" after="yes"/>
-                                      </widget>
+                                        <signal after="yes" handler="on_dock_float_x_value_changed" name="value_changed"/>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">True</property>
@@ -4062,11 +3889,11 @@ Omnipresent (On all desktops)</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkLabel" id="dock_float_label_x">
+                                      <object class="GtkLabel" id="dock_float_label_x">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
                                         <property name="label" translatable="yes">x</property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
@@ -4074,32 +3901,32 @@ Omnipresent (On all desktops)</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkSpinButton" id="dock_float_y">
+                                      <object class="GtkSpinButton" id="dock_float_y">
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
                                         <property name="primary_icon_activatable">False</property>
                                         <property name="secondary_icon_activatable">False</property>
                                         <property name="primary_icon_sensitive">True</property>
                                         <property name="secondary_icon_sensitive">True</property>
-                                        <property name="adjustment">1 0 10000 1 10 0</property>
+                                        <property name="adjustment">adjustment17</property>
                                         <property name="climb_rate">1</property>
                                         <property name="numeric">True</property>
-                                        <signal name="value_changed" handler="on_dock_float_y_value_changed" after="yes"/>
-                                      </widget>
+                                        <signal after="yes" handler="on_dock_float_y_value_changed" name="value_changed"/>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">True</property>
                                         <property name="position">3</property>
                                       </packing>
                                     </child>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">True</property>
                                     <property name="fill">True</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
@@ -4107,15 +3934,15 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkHBox" id="hbox58">
+                              <object class="GtkHBox" id="hbox58">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label108">
+                                  <object class="GtkLabel" id="label108">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="label">    </property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
@@ -4123,7 +3950,7 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkCheckButton" id="dock_nostrut">
+                                  <object class="GtkCheckButton" id="dock_nostrut">
                                     <property name="label" translatable="yes">Allow _windows to be placed within the dock's area</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
@@ -4131,15 +3958,15 @@ Omnipresent (On all desktops)</property>
                                     <property name="use_action_appearance">False</property>
                                     <property name="use_underline">True</property>
                                     <property name="draw_indicator">True</property>
-                                    <signal name="toggled" handler="on_dock_nostrut_toggled"/>
-                                  </widget>
+                                    <signal handler="on_dock_nostrut_toggled" name="toggled"/>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">True</property>
                                 <property name="fill">True</property>
@@ -4147,19 +3974,19 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkHBox" id="hbox38">
+                              <object class="GtkHBox" id="hbox38">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="spacing">12</property>
                                 <child>
-                                  <widget class="GtkLabel" id="dock_direction_label">
+                                  <object class="GtkLabel" id="dock_direction_label">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="xalign">0</property>
                                     <property name="label" translatable="yes">_Orientation: </property>
                                     <property name="use_underline">True</property>
                                     <property name="mnemonic_widget">dock_direction</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
@@ -4167,64 +3994,44 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkOptionMenu" id="dock_direction">
+                                  <object class="GtkComboBoxText" id="dock_direction">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">False</property>
-                                    <child>
-                                      <widget class="GtkMenu" id="menu7">
-                                        <property name="can_focus">False</property>
-                                        <child>
-                                          <widget class="GtkMenuItem" id="vertical">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="use_action_appearance">False</property>
-                                            <property name="label" translatable="yes">Vertical</property>
-                                            <property name="use_underline">True</property>
-                                            <signal name="activate" handler="on_dock_vertical_activate"/>
-                                          </widget>
-                                        </child>
-                                        <child>
-                                          <widget class="GtkMenuItem" id="horizontal">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="use_action_appearance">False</property>
-                                            <property name="label" translatable="yes">Horizontal</property>
-                                            <property name="use_underline">True</property>
-                                            <signal name="activate" handler="on_dock_horizontal_activate"/>
-                                          </widget>
-                                        </child>
-                                      </widget>
-                                    </child>
-                                  </widget>
+                                    <items>
+                                      <item translatable="yes">Vertical</item>
+                                      <item translatable="yes">Horizontal</item>
+                                    </items>
+                                    <signal handler="on_dock_direction_changed" name="changed"/>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">True</property>
                                 <property name="fill">True</property>
                                 <property name="position">3</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">True</property>
                             <property name="fill">True</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
@@ -4232,18 +4039,18 @@ Omnipresent (On all desktops)</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkVBox" id="vbox28">
+                  <object class="GtkVBox" id="vbox28">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="spacing">6</property>
                     <child>
-                      <widget class="GtkLabel" id="label74">
+                      <object class="GtkLabel" id="label74">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">&lt;span weight="bold"&gt;Stacking&lt;/span&gt;</property>
                         <property name="use_markup">True</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
@@ -4251,15 +4058,15 @@ Omnipresent (On all desktops)</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkHBox" id="hbox34">
+                      <object class="GtkHBox" id="hbox34">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <child>
-                          <widget class="GtkLabel" id="label72">
+                          <object class="GtkLabel" id="label72">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="label">    </property>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
@@ -4267,12 +4074,12 @@ Omnipresent (On all desktops)</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkVBox" id="vbox31">
+                          <object class="GtkVBox" id="vbox31">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="spacing">6</property>
                             <child>
-                              <widget class="GtkRadioButton" id="dock_stack_top">
+                              <object class="GtkRadioButton" id="dock_stack_top">
                                 <property name="label" translatable="yes">Keep dock _above other windows</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
@@ -4280,8 +4087,8 @@ Omnipresent (On all desktops)</property>
                                 <property name="use_action_appearance">False</property>
                                 <property name="use_underline">True</property>
                                 <property name="draw_indicator">True</property>
-                                <signal name="toggled" handler="on_dock_stacking_top_toggled" after="yes"/>
-                              </widget>
+                                <signal after="yes" handler="on_dock_stacking_top_toggled" name="toggled"/>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
@@ -4289,7 +4096,7 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkRadioButton" id="dock_stack_normal">
+                              <object class="GtkRadioButton" id="dock_stack_normal">
                                 <property name="label" translatable="yes">A_llow dock to be both above and below windows</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
@@ -4298,8 +4105,8 @@ Omnipresent (On all desktops)</property>
                                 <property name="use_underline">True</property>
                                 <property name="draw_indicator">True</property>
                                 <property name="group">dock_stack_top</property>
-                                <signal name="toggled" handler="on_dock_stacking_normal_toggled" after="yes"/>
-                              </widget>
+                                <signal after="yes" handler="on_dock_stacking_normal_toggled" name="toggled"/>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
@@ -4307,7 +4114,7 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkRadioButton" id="dock_stack_bottom">
+                              <object class="GtkRadioButton" id="dock_stack_bottom">
                                 <property name="label" translatable="yes">Keep dock _below other windows</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
@@ -4316,29 +4123,29 @@ Omnipresent (On all desktops)</property>
                                 <property name="use_underline">True</property>
                                 <property name="draw_indicator">True</property>
                                 <property name="group">dock_stack_top</property>
-                                <signal name="toggled" handler="on_dock_stacking_bottom_toggled" after="yes"/>
-                              </widget>
+                                <signal after="yes" handler="on_dock_stacking_bottom_toggled" name="toggled"/>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
                                 <property name="position">2</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
@@ -4346,18 +4153,18 @@ Omnipresent (On all desktops)</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkVBox" id="vbox29">
+                  <object class="GtkVBox" id="vbox29">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="spacing">6</property>
                     <child>
-                      <widget class="GtkLabel" id="label75">
+                      <object class="GtkLabel" id="label75">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">&lt;span weight="bold"&gt;Hiding&lt;/span&gt;</property>
                         <property name="use_markup">True</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
@@ -4365,15 +4172,15 @@ Omnipresent (On all desktops)</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkHBox" id="hbox35">
+                      <object class="GtkHBox" id="hbox35">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <child>
-                          <widget class="GtkLabel" id="label73">
+                          <object class="GtkLabel" id="label73">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="label">    </property>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
@@ -4381,12 +4188,12 @@ Omnipresent (On all desktops)</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkVBox" id="vbox32">
+                          <object class="GtkVBox" id="vbox32">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="spacing">6</property>
                             <child>
-                              <widget class="GtkCheckButton" id="dock_hide">
+                              <object class="GtkCheckButton" id="dock_hide">
                                 <property name="label" translatable="yes">_Hide off screen</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
@@ -4394,8 +4201,8 @@ Omnipresent (On all desktops)</property>
                                 <property name="use_action_appearance">False</property>
                                 <property name="use_underline">True</property>
                                 <property name="draw_indicator">True</property>
-                                <signal name="toggled" handler="on_dock_hide_toggled"/>
-                              </widget>
+                                <signal handler="on_dock_hide_toggled" name="toggled"/>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
@@ -4403,15 +4210,15 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkHBox" id="hbox37">
+                              <object class="GtkHBox" id="hbox37">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label77">
+                                  <object class="GtkLabel" id="label77">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="label">    </property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
@@ -4419,19 +4226,19 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkHBox" id="hbox23">
+                                  <object class="GtkHBox" id="hbox23">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="spacing">6</property>
                                     <child>
-                                      <widget class="GtkLabel" id="dock_hide_label">
+                                      <object class="GtkLabel" id="dock_hide_label">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
                                         <property name="xalign">0</property>
                                         <property name="label" translatable="yes">_Delay before hiding:</property>
                                         <property name="use_underline">True</property>
                                         <property name="mnemonic_widget">dock_hide_delay</property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
@@ -4439,18 +4246,18 @@ Omnipresent (On all desktops)</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkSpinButton" id="dock_hide_delay">
+                                      <object class="GtkSpinButton" id="dock_hide_delay">
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
                                         <property name="primary_icon_activatable">False</property>
                                         <property name="secondary_icon_activatable">False</property>
                                         <property name="primary_icon_sensitive">True</property>
                                         <property name="secondary_icon_sensitive">True</property>
-                                        <property name="adjustment">300 0 10000 10 10 0</property>
+                                        <property name="adjustment">adjustment18</property>
                                         <property name="climb_rate">1</property>
                                         <property name="numeric">True</property>
-                                        <signal name="value_changed" handler="on_dock_hide_delay_value_changed" after="yes"/>
-                                      </widget>
+                                        <signal after="yes" handler="on_dock_hide_delay_value_changed" name="value_changed"/>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">True</property>
@@ -4458,25 +4265,25 @@ Omnipresent (On all desktops)</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkLabel" id="dock_hide_label_units">
+                                      <object class="GtkLabel" id="dock_hide_label_units">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
                                         <property name="label" translatable="yes">ms</property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
                                         <property name="position">2</property>
                                       </packing>
                                     </child>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">True</property>
                                     <property name="fill">True</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">True</property>
                                 <property name="fill">True</property>
@@ -4484,15 +4291,15 @@ Omnipresent (On all desktops)</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkHBox" id="hbox56">
+                              <object class="GtkHBox" id="hbox56">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label107">
+                                  <object class="GtkLabel" id="label107">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="label">    </property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
@@ -4500,19 +4307,19 @@ Omnipresent (On all desktops)</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkHBox" id="hbox57">
+                                  <object class="GtkHBox" id="hbox57">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="spacing">6</property>
                                     <child>
-                                      <widget class="GtkLabel" id="dock_show_label">
+                                      <object class="GtkLabel" id="dock_show_label">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
                                         <property name="xalign">0</property>
                                         <property name="label" translatable="yes">Delay before _showing:</property>
                                         <property name="use_underline">True</property>
                                         <property name="mnemonic_widget">dock_show_delay</property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
@@ -4520,18 +4327,18 @@ Omnipresent (On all desktops)</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkSpinButton" id="dock_show_delay">
+                                      <object class="GtkSpinButton" id="dock_show_delay">
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
                                         <property name="primary_icon_activatable">False</property>
                                         <property name="secondary_icon_activatable">False</property>
                                         <property name="primary_icon_sensitive">True</property>
                                         <property name="secondary_icon_sensitive">True</property>
-                                        <property name="adjustment">300 0 10000 10 10 0</property>
+                                        <property name="adjustment">adjustment19</property>
                                         <property name="climb_rate">1</property>
                                         <property name="numeric">True</property>
-                                        <signal name="value_changed" handler="on_dock_show_delay_value_changed" after="yes"/>
-                                      </widget>
+                                        <signal after="yes" handler="on_dock_show_delay_value_changed" name="value_changed"/>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">True</property>
@@ -4539,73 +4346,69 @@ Omnipresent (On all desktops)</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkLabel" id="dock_show_label_units">
+                                      <object class="GtkLabel" id="dock_show_label_units">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
                                         <property name="label" translatable="yes">ms</property>
-                                      </widget>
+                                      </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
                                         <property name="position">2</property>
                                       </packing>
                                     </child>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">True</property>
                                     <property name="fill">True</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">True</property>
                                 <property name="fill">True</property>
                                 <property name="position">2</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">True</property>
                             <property name="fill">True</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">True</property>
                         <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
                     <property name="position">3</property>
                   </packing>
                 </child>
-              </widget>
-              <packing>
-                <property name="position">7</property>
-              </packing>
+              </object>
             </child>
-            <child>
-              <widget class="GtkLabel" id="label41">
+            <child type="tab">
+              <object class="GtkLabel" id="label41">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="xalign">0</property>
                 <property name="xpad">6</property>
                 <property name="ypad">8</property>
                 <property name="label" translatable="yes">Dock</property>
-              </widget>
+              </object>
               <packing>
                 <property name="position">7</property>
                 <property name="tab_fill">False</property>
-                <property name="type">tab</property>
               </packing>
             </child>
-          </widget>
+          </object>
           <packing>
             <property name="expand">True</property>
             <property name="fill">True</property>
@@ -4613,16 +4416,16 @@ Omnipresent (On all desktops)</property>
           </packing>
         </child>
         <child>
-          <widget class="GtkHBox" id="hbox39">
+          <object class="GtkHBox" id="hbox39">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <child>
-              <widget class="GtkHButtonBox" id="hbuttonbox1">
+              <object class="GtkHButtonBox" id="hbuttonbox1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="layout_style">start</property>
                 <child>
-                  <widget class="GtkButton" id="about">
+                  <object class="GtkButton" id="about">
                     <property name="label" translatable="yes">Abo_ut</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
@@ -4630,15 +4433,15 @@ Omnipresent (On all desktops)</property>
                     <property name="receives_default">False</property>
                     <property name="use_action_appearance">False</property>
                     <property name="use_underline">True</property>
-                    <signal name="clicked" handler="on_about_clicked" after="yes"/>
-                  </widget>
+                    <signal after="yes" handler="on_about_clicked" name="clicked"/>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
                     <property name="position">0</property>
                   </packing>
                 </child>
-              </widget>
+              </object>
               <packing>
                 <property name="expand">True</property>
                 <property name="fill">True</property>
@@ -4646,12 +4449,12 @@ Omnipresent (On all desktops)</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkHButtonBox" id="hbuttonbox2">
+              <object class="GtkHButtonBox" id="hbuttonbox3">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="layout_style">end</property>
                 <child>
-                  <widget class="GtkButton" id="close">
+                  <object class="GtkButton" id="close">
                     <property name="label">gtk-close</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
@@ -4659,29 +4462,29 @@ Omnipresent (On all desktops)</property>
                     <property name="receives_default">False</property>
                     <property name="use_action_appearance">False</property>
                     <property name="use_stock">True</property>
-                    <signal name="clicked" handler="on_close_clicked"/>
-                  </widget>
+                    <signal handler="on_close_clicked" name="clicked"/>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
                     <property name="position">0</property>
                   </packing>
                 </child>
-              </widget>
+              </object>
               <packing>
                 <property name="expand">True</property>
                 <property name="fill">True</property>
                 <property name="position">1</property>
               </packing>
             </child>
-          </widget>
+          </object>
           <packing>
             <property name="expand">False</property>
             <property name="fill">False</property>
             <property name="position">1</property>
           </packing>
         </child>
-      </widget>
+      </object>
     </child>
-  </widget>
-</glade-interface>
+  </object>
+</interface>
index 36fc94a..f52bb32 100644 (file)
@@ -54,7 +54,7 @@ static GdkPixbuf* preview_menu(RrTheme *theme)
     RrAppearance *bullet; /* for submenu */
 
     GdkPixmap *pixmap;
-    GdkPixbuf *pixbuf;
+    GdkPixbuf *pixbuf, *tmp_pixbuf;
 
     /* width and height of the whole menu */
     gint width, height;
@@ -104,6 +104,7 @@ static GdkPixbuf* preview_menu(RrTheme *theme)
     /* set border */
     pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8, width, height);
     gdk_pixbuf_fill(pixbuf, rr_color_pixel(theme->menu_border_color));
+    tmp_pixbuf = gdk_pixbuf_copy(pixbuf);
 
     /* menu appears after inside the border */
     x = y = theme->mbwidth;
@@ -126,9 +127,11 @@ static GdkPixbuf* preview_menu(RrTheme *theme)
     theme_pixmap_paint(title_text, bw, title_h);
 
     pixmap = gdk_pixmap_foreign_new(title_text->pixmap);
-    pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
-                                          gdk_colormap_get_system(),
-                                          0, 0, x, y, bw, title_h);
+    tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+                                              gdk_colormap_get_system(),
+                                              0, 0, 0, 0,
+                                              bw, title_h);
+    gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, bw, title_h, pixbuf, x, y);
 
     y += title_h + theme->mbwidth;
 
@@ -141,9 +144,11 @@ static GdkPixbuf* preview_menu(RrTheme *theme)
     /* draw background for normal entry */
     theme_pixmap_paint(background, bw, bh);
     pixmap = gdk_pixmap_foreign_new(background->pixmap);
-    pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
-                                          gdk_colormap_get_system(),
-                                          0, 0, x, y, bw, bh);
+    tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+                                              gdk_colormap_get_system(),
+                                              0, 0, 0, 0,
+                                              bw, bh);
+    gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, bw, bh, pixbuf, x, y);
 
     /* draw normal entry */
     normal->surface.parent = background;
@@ -152,10 +157,12 @@ static GdkPixbuf* preview_menu(RrTheme *theme)
     RrMinSize(normal, &tw, &th);
     theme_pixmap_paint(normal, tw, th);
     pixmap = gdk_pixmap_foreign_new(normal->pixmap);
-    pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
-                                          gdk_colormap_get_system(),
-                                          0, 0, x + PADDING, y + PADDING,
-                                          tw, th);
+    tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+                                              gdk_colormap_get_system(),
+                                              0, 0, 0, 0,
+                                              tw, th);
+    gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, tw, th, pixbuf,
+                         x + PADDING, y + PADDING);
 
     /* draw bullet */
     RrMinSize(normal, &tw, &th);
@@ -164,12 +171,12 @@ static GdkPixbuf* preview_menu(RrTheme *theme)
     bullet->surface.parenty = PADDING;
     theme_pixmap_paint(bullet, th, th);
     pixmap = gdk_pixmap_foreign_new(bullet->pixmap);
-    pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
-                                          gdk_colormap_get_system(),
-                                          0, 0,
-                                          width - theme->mbwidth - th,
-                                          y + PADDING,
-                                          th, th);
+    tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+                                              gdk_colormap_get_system(),
+                                              0, 0, 0, 0,
+                                              th, th);
+    gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, th, th, pixbuf,
+                         width - theme->mbwidth - th, y + PADDING);
 
     y += th + 2*PADDING;
 
@@ -179,10 +186,11 @@ static GdkPixbuf* preview_menu(RrTheme *theme)
     background->surface.parenty = y - theme->mbwidth;
     theme_pixmap_paint(background, bw, bh);
     pixmap = gdk_pixmap_foreign_new(background->pixmap);
-    pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
-                                          gdk_colormap_get_system(),
-                                          0, 0, x, y,
-                                          bw, bh);
+    tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+                                              gdk_colormap_get_system(),
+                                              0, 0, 0, 0,
+                                              bw, bh);
+    gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, bw, bh, pixbuf, x, y);
 
     /* draw disabled entry */
     RrMinSize(disabled, &tw, &th);
@@ -191,10 +199,12 @@ static GdkPixbuf* preview_menu(RrTheme *theme)
     disabled->surface.parenty = PADDING;
     theme_pixmap_paint(disabled, tw, th);
     pixmap = gdk_pixmap_foreign_new(disabled->pixmap);
-    pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
-                                          gdk_colormap_get_system(),
-                                          0, 0, x + PADDING, y + PADDING,
-                                          tw, th);
+    tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+                                              gdk_colormap_get_system(),
+                                              0, 0, 0, 0,
+                                              tw, th);
+    gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, tw, th, pixbuf,
+                         x + PADDING, y + PADDING);
 
     y += th + 2*PADDING;
 
@@ -206,10 +216,11 @@ static GdkPixbuf* preview_menu(RrTheme *theme)
 
     theme_pixmap_paint(background, bw, bh);
     pixmap = gdk_pixmap_foreign_new(background->pixmap);
-    pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
-                                          gdk_colormap_get_system(),
-                                          0, 0, x, y,
-                                          bw, bh);
+    tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+                                              gdk_colormap_get_system(),
+                                              0, 0, 0, 0,
+                                              bw, bh);
+    gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, bw, bh, pixbuf, x, y);
 
     /* draw selected entry */
     RrMinSize(selected, &tw, &th);
@@ -218,10 +229,13 @@ static GdkPixbuf* preview_menu(RrTheme *theme)
     selected->surface.parenty = PADDING;
     theme_pixmap_paint(selected, tw, th);
     pixmap = gdk_pixmap_foreign_new(selected->pixmap);
-    pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
-                                          gdk_colormap_get_system(),
-                                          0, 0, x + PADDING, y + PADDING,
-                                          tw, th);
+    tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+                                              gdk_colormap_get_system(),
+                                              0, 0, 0, 0,
+                                              tw, th);
+    gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, tw, th, pixbuf,
+                         x + PADDING, y + PADDING);
+    g_object_unref(tmp_pixbuf);
 
     return pixbuf;
 }
@@ -234,7 +248,7 @@ static GdkPixbuf* preview_window(RrTheme *theme, const gchar *titlelayout,
     RrAppearance *a;
 
     GdkPixmap *pixmap;
-    GdkPixbuf *pixbuf = NULL;
+    GdkPixbuf *pixbuf = NULL, *tmp_pixbuf = NULL;
     GdkPixbuf *scratch;
 
     gint w, label_w, h, x, y;
@@ -249,6 +263,7 @@ static GdkPixbuf* preview_window(RrTheme *theme, const gchar *titlelayout,
                     rr_color_pixel(focus ?
                                    theme->frame_focused_border_color :
                                    theme->frame_unfocused_border_color));
+    tmp_pixbuf = gdk_pixbuf_copy(pixbuf);
 
     /* title */
     w = width - 2*theme->fbwidth;
@@ -257,9 +272,10 @@ static GdkPixbuf* preview_window(RrTheme *theme, const gchar *titlelayout,
 
     x = y = theme->fbwidth;
     pixmap = gdk_pixmap_foreign_new(title->pixmap);
-    pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
-                                          gdk_colormap_get_system(),
-                                          0, 0, x, y, w, h);
+    tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+                                              gdk_colormap_get_system(),
+                                              0, 0, 0, 0, w, h);
+    gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, w, h, pixbuf, x, y);
 
     /* calculate label width */
     label_w = width - (theme->paddingx + theme->fbwidth + 1) * 2;
@@ -302,9 +318,10 @@ static GdkPixbuf* preview_window(RrTheme *theme, const gchar *titlelayout,
 
             theme_pixmap_paint(a, w, h);
             pixmap = gdk_pixmap_foreign_new(a->pixmap);
-            pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
-                                                  gdk_colormap_get_system(),
-                                                  0, 0, x, y, w, h);
+            tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+                                                      gdk_colormap_get_system(),
+                                                      0, 0, 0, 0, w, h);
+            gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, w, h, pixbuf, x, y);
 
             x += theme->button_size + 2 + theme->paddingx + 1;
         } else if (*layout == 'L') { /* label */
@@ -319,9 +336,10 @@ static GdkPixbuf* preview_window(RrTheme *theme, const gchar *titlelayout,
 
             theme_pixmap_paint(a, w, h);
             pixmap = gdk_pixmap_foreign_new(a->pixmap);
-            pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
-                                                  gdk_colormap_get_system(),
-                                                  0, 0, x, y, w, h);
+            tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+                                                      gdk_colormap_get_system(),
+                                                      0, 0, 0, 0, w, h);
+            gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, w, h, pixbuf, x, y);
 
             x += w + theme->paddingx + 1;
         } else {
@@ -367,9 +385,10 @@ static GdkPixbuf* preview_window(RrTheme *theme, const gchar *titlelayout,
             pixmap = gdk_pixmap_foreign_new(a->pixmap);
             /* use y + 1 because these buttons should be centered wrt the label
              */
-            pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
-                                                  gdk_colormap_get_system(),
-                                                  0, 0, x, y + 1, w, h);
+            tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+                                                      gdk_colormap_get_system(),
+                                                      0, 0, 0, 0, w, h);
+            gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, w, h, pixbuf, x, y + 1);
 
             x += theme->button_size + theme->paddingx + 1;
         }
@@ -385,9 +404,10 @@ static GdkPixbuf* preview_window(RrTheme *theme, const gchar *titlelayout,
 
         theme_pixmap_paint(handle, w, h);
         pixmap = gdk_pixmap_foreign_new(handle->pixmap);
-        pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
-                                              gdk_colormap_get_system(),
-                                              0, 0, x, y, w, h);
+        tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+                                                  gdk_colormap_get_system(),
+                                                  0, 0, 0, 0, w, h);
+        gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, w, h, pixbuf, x, y);
 
         /* openbox handles this drawing stuff differently (it fills the bottom
          * of the window with the handle), so it avoids this bug where
@@ -406,15 +426,17 @@ static GdkPixbuf* preview_window(RrTheme *theme, const gchar *titlelayout,
 
         theme_pixmap_paint(a, w, h);
         pixmap = gdk_pixmap_foreign_new(a->pixmap);
-        pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
-                                              gdk_colormap_get_system(),
-                                              0, 0, x, y, w, h);
+        tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+                                                  gdk_colormap_get_system(),
+                                                  0, 0, 0, 0, w, h);
+        gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, w, h, pixbuf, x, y);
 
         /* right grip */
         x = width - theme->fbwidth - theme->grip_width;
-        pixbuf = gdk_pixbuf_get_from_drawable(pixbuf, pixmap,
-                                              gdk_colormap_get_system(),
-                                              0, 0, x, y, w, h);
+        tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+                                                  gdk_colormap_get_system(),
+                                                  0, 0, 0, 0, w, h);
+        gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, w, h, pixbuf, x, y);
     }
 
     /* title separator colour */
@@ -452,6 +474,7 @@ static GdkPixbuf* preview_window(RrTheme *theme, const gchar *titlelayout,
                          pixbuf,
                          x + theme->cbwidthx,
                          y + theme->cbwidthy);
+    g_object_unref(scratch);
 
     return pixbuf;
 }
@@ -531,13 +554,16 @@ GdkPixbuf *preview_theme(const gchar *name, const gchar *titlelayout,
 
     window = preview_window(theme, titlelayout, FALSE, window_w, h);
     gdk_pixbuf_copy_area(window, 0, 0, window_w, h, preview, 20, 0);
+    g_object_unref(window);
 
     window = preview_window(theme, titlelayout, TRUE, window_w, h);
     gdk_pixbuf_copy_area(window, 0, 0, window_w, h,
                          preview, 10, theme->title_height + 5);
+    g_object_unref(window);
 
     gdk_pixbuf_copy_area(menu, 0, 0, menu_w, h,
                          preview, 0, 2 * (theme->title_height + 5));
+    g_object_unref(menu);
 
     RrThemeFree(theme);
 
index 638f364..965431e 100644 (file)
@@ -136,8 +136,10 @@ static gboolean update_theme_preview_iterate(gpointer data)
                             inactive_window_font, menu_title_font,
                             menu_item_font, osd_active_font,
                             osd_inactive_font);
-    if (preview)
+    if (preview) {
         gtk_list_store_set(GTK_LIST_STORE(ls), &iter, 1, preview, -1);
+        g_object_unref(preview);
+    }
 
     return TRUE;
 }
index cbe9b90..4ad4a38 100644 (file)
@@ -114,7 +114,7 @@ void tree_apply()
 
         ce.xclient.type = ClientMessage;
         ce.xclient.message_type = gdk_x11_get_xatom_by_name("_OB_CONTROL");
-        ce.xclient.display = GDK_DISPLAY();
+        ce.xclient.display = gdk_x11_get_default_xdisplay();
         ce.xclient.window = GDK_ROOT_WINDOW();
         ce.xclient.format = 32;
         ce.xclient.data.l[0] = 1; /* reconfigure */
@@ -122,7 +122,7 @@ void tree_apply()
         ce.xclient.data.l[2] = 0;
         ce.xclient.data.l[3] = 0;
         ce.xclient.data.l[4] = 0;
-        XSendEvent(GDK_DISPLAY(), GDK_ROOT_WINDOW(), FALSE,
+        XSendEvent(gdk_x11_get_default_xdisplay(), GDK_ROOT_WINDOW(), FALSE,
                    SubstructureNotifyMask | SubstructureRedirectMask,
                    &ce);
     }
index 146a99d..ed289b7 100644 (file)
@@ -50,23 +50,23 @@ void windows_setup_tab()
     w = get_widget("place_active_popup");
     s = tree_get_string("placement/monitor", "Any");
     if (!g_ascii_strcasecmp(s, "Active"))
-        gtk_option_menu_set_history(GTK_OPTION_MENU(w), PLACE_ON_ACTIVE);
+        gtk_combo_box_set_active(GTK_COMBO_BOX(w), PLACE_ON_ACTIVE);
     else if (!g_ascii_strcasecmp(s, "Mouse"))
-        gtk_option_menu_set_history(GTK_OPTION_MENU(w), PLACE_ON_MOUSE);
+        gtk_combo_box_set_active(GTK_COMBO_BOX(w), PLACE_ON_MOUSE);
     else if (!g_ascii_strcasecmp(s, "Primary"))
-        gtk_option_menu_set_history(GTK_OPTION_MENU(w), PLACE_ON_PRIMARY);
+        gtk_combo_box_set_active(GTK_COMBO_BOX(w), PLACE_ON_PRIMARY);
     else
-        gtk_option_menu_set_history(GTK_OPTION_MENU(w), PLACE_ON_ALL);
+        gtk_combo_box_set_active(GTK_COMBO_BOX(w), PLACE_ON_ALL);
     g_free(s);
 
     w = get_widget("primary_monitor_popup");
     s = tree_get_string("placement/primaryMonitor", "");
     if (!g_ascii_strcasecmp(s, "Active"))
-        gtk_option_menu_set_history(GTK_OPTION_MENU(w), PLACE_ON_ACTIVE);
+        gtk_combo_box_set_active(GTK_COMBO_BOX(w), PLACE_ON_ACTIVE);
     else if (!g_ascii_strcasecmp(s, "Mouse"))
-        gtk_option_menu_set_history(GTK_OPTION_MENU(w), PLACE_ON_MOUSE);
+        gtk_combo_box_set_active(GTK_COMBO_BOX(w), PLACE_ON_MOUSE);
     else {
-        gtk_option_menu_set_history(GTK_OPTION_MENU(w), PLACE_ON_FIXED);
+        gtk_combo_box_set_active(GTK_COMBO_BOX(w), PLACE_ON_FIXED);
 
         w = get_widget("fixed_monitor");
         gtk_spin_button_set_value(GTK_SPIN_BUTTON(w),
@@ -88,36 +88,30 @@ static void enable_stuff()
     b = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w));
 
     w = get_widget("primary_monitor_popup");
-    b = gtk_option_menu_get_history(GTK_OPTION_MENU(w)) == PLACE_ON_FIXED;
+    b = gtk_combo_box_get_active(GTK_COMBO_BOX(w)) == PLACE_ON_FIXED;
     w = get_widget("fixed_monitor");
     gtk_widget_set_sensitive(w, b);
 }
 
-void on_primary_monitor_active_activate(GtkMenuItem *w, gpointer data)
+void on_primary_monitor_changed(GtkComboBox *w, gpointer data)
 {
     if (mapping) return;
 
-    tree_set_string("placement/primaryMonitor", "Active");
-    enable_stuff();
-}
-
-void on_primary_monitor_mouse_activate(GtkMenuItem *w, gpointer data)
-{
-    if (mapping) return;
-
-    tree_set_string("placement/primaryMonitor", "Mouse");
-    enable_stuff();
-}
-
-void on_primary_monitor_fixed_activate(GtkMenuItem *w, gpointer data)
-{
-    GtkWidget *w2;
-
-    if (mapping) return;
-
-    w2 = get_widget("fixed_monitor");
-    tree_set_int("placement/primaryMonitor",
-                 gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(w2)));
+    switch (gtk_combo_box_get_active(w)) {
+    case 0:
+      {
+        GtkWidget *w2 = get_widget("fixed_monitor");
+        tree_set_int("placement/primaryMonitor",
+                     gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(w2)));
+        break;
+      }
+      break;
+    case 1:
+      tree_set_string("placement/primaryMonitor", "Active");
+      break;
+    case 2:
+      tree_set_string("placement/primaryMonitor", "Mouse");
+    }
     enable_stuff();
 }
 
@@ -146,30 +140,22 @@ void on_place_mouse_toggled(GtkToggleButton *w, gpointer data)
     enable_stuff();
 }
 
-void on_place_active_popup_all_activate(GtkMenuItem *w, gpointer data)
+void on_place_active_popup_changed(GtkComboBox *w, gpointer data)
 {
     if (mapping) return;
 
-    tree_set_string("placement/monitor", "Any");
-}
-
-void on_place_active_popup_active_activate(GtkMenuItem *w, gpointer data)
-{
-    if (mapping) return;
-
-    tree_set_string("placement/monitor", "Active");
-}
-
-void on_place_active_popup_mouse_activate(GtkMenuItem *w, gpointer data)
-{
-    if (mapping) return;
-
-    tree_set_string("placement/monitor", "Mouse");
-}
-
-void on_place_active_popup_primary_activate(GtkMenuItem *w, gpointer data)
-{
-    if (mapping) return;
-
-    tree_set_string("placement/monitor", "Primary");
+    switch (gtk_combo_box_get_active(w)) {
+    case 0:
+      tree_set_string("placement/monitor", "Primary");
+      break;
+    case 1:
+      tree_set_string("placement/monitor", "Active");
+      break;
+    case 2:
+      tree_set_string("placement/monitor", "Mouse");
+      break;
+    case 3:
+      tree_set_string("placement/monitor", "Any");
+      break;
+    }
 }