Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] obconf: use GTK3
@ 2022-11-08 22:39 paper42
  2022-11-09 20:19 ` kruceter
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: paper42 @ 2022-11-08 22:39 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1410 bytes --]

There is a new pull request by paper42 against master on the void-packages repository

https://github.com/paper42/void-packages obconf-gtk3
https://github.com/void-linux/void-packages/pull/40398

obconf: use GTK3
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **NO** (I don't use openbox, so I can't really test this)

TODO: find a stable source for the libglade patch and add it to distfiles, it looks too big to include in void-packages (396k)
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/40398.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-obconf-gtk3-40398.patch --]
[-- Type: text/x-diff, Size: 422106 bytes --]

From 4fe06734ad95d806a7452dd511dc0e04be197bee Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Tue, 8 Nov 2022 23:36:17 +0100
Subject: [PATCH] obconf: use GTK3

---
 .../obconf/patches/stop-using-libglade.patch  | 6908 +++++++++++++++++
 srcpkgs/obconf/patches/switch-to-gtk3.patch   |  349 +
 srcpkgs/obconf/template                       |   12 +-
 3 files changed, 7265 insertions(+), 4 deletions(-)
 create mode 100644 srcpkgs/obconf/patches/stop-using-libglade.patch
 create mode 100644 srcpkgs/obconf/patches/switch-to-gtk3.patch

diff --git a/srcpkgs/obconf/patches/stop-using-libglade.patch b/srcpkgs/obconf/patches/stop-using-libglade.patch
new file mode 100644
index 000000000000..069623927fd5
--- /dev/null
+++ b/srcpkgs/obconf/patches/stop-using-libglade.patch
@@ -0,0 +1,6908 @@
+From 976d073496cd1bed1283b18947b8d303eb678f25 Mon Sep 17 00:00:00 2001
+From: galtgendo <galtgendo>
+Date: Sat, 17 Aug 2013 20:25:07 +0200
+Subject: [PATCH] Stop using libglade
+
+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.
+---
+ .gitignore                      |    1 +
+ Makefile.am                     |   14 +-
+ NEWS                            |    0
+ TODO                            |    0
+ configure.ac                    |    9 +-
+ src/about.c                     |    3 +-
+ src/desktops.c                  |    6 +-
+ src/dock.c                      |  120 +--
+ src/main.c                      |   32 +-
+ src/main.h                      |    5 +-
+ src/mouse.c                     |   43 +-
+ src/moveresize.c                |  114 +--
+ src/obconf.gladep               |   13 -
+ src/{obconf.glade => obconf.ui} | 2153 ++++++++++++++++++---------------------
+ src/preview.c                   |  136 ++-
+ src/preview_update.c            |    4 +-
+ src/tree.c                      |    4 +-
+ src/windows.c                   |   92 +-
+ 18 files changed, 1227 insertions(+), 1522 deletions(-)
+ delete mode 100644 NEWS
+ delete mode 100644 TODO
+ delete mode 100644 src/obconf.gladep
+ rename src/{obconf.glade => obconf.ui} (75%)
+
+diff --git a/Makefile.am b/Makefile.am
+index 369ec3d..61c3805 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -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,12 +19,11 @@ src_obconf_CPPFLAGS = \
+ 	$(OPENBOX_CFLAGS) \
+ 	$(LIBSTARTUPNOTIFICATION_CFLAGS) \
+ 	$(GTK_CFLAGS) \
+-	$(GLADE_CFLAGS) \
+ 	$(GDK_PIXBUF_CFLAGS) \
+ 	$(XML_CFLAGS) \
+ 	-DLOCALEDIR=\"$(localedir)\" \
+ 	-DPIXMAPDIR=\"$(pixmapdir)\" \
+-	-DGLADEDIR=\"$(gladedir)\" \
++	-DRESOURCEDIR=\"$(resourcedir)\" \
+ 	-DTHEMEDIR=\"$(themedir)\" \
+ 	-DG_LOG_DOMAIN=\"Obconf\"
+ src_obconf_LDADD = \
+@@ -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
+index e69de29..0000000
+diff --git a/TODO b/TODO
+deleted file mode 100644
+index e69de29..0000000
+diff --git a/configure.ac b/configure.ac
+index f9b0775..b99620f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -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.])
+diff --git a/src/about.c b/src/about.c
+index c56eb26..5fed1a9 100644
+--- a/src/about.c
++++ b/src/about.c
+@@ -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;
+ }
+diff --git a/src/desktops.c b/src/desktops.c
+index 6f205c4..8297f00 100644
+--- a/src/desktops.c
++++ b/src/desktops.c
+@@ -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);
+ }
+diff --git a/src/dock.c b/src/dock.c
+index c1b8d54..4055524 100644
+--- a/src/dock.c
++++ b/src/dock.c
+@@ -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)
+diff --git a/src/main.c b/src/main.c
+index 7acc3ec..ff11ef9 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -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(RESOURCEDIR, "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);
+diff --git a/src/main.h b/src/main.h
+index 4f3213b..23852d3 100644
+--- a/src/main.h
++++ b/src/main.h
+@@ -25,16 +25,15 @@
+ #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();
+diff --git a/src/mouse.c b/src/mouse.c
+index 88f13d9..ce9059a 100644
+--- a/src/mouse.c
++++ b/src/mouse.c
+@@ -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)
+diff --git a/src/moveresize.c b/src/moveresize.c
+index 6048a37..c6fb3dd 100644
+--- a/src/moveresize.c
++++ b/src/moveresize.c
+@@ -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
+index 5bcc940..0000000
+--- a/src/obconf.gladep
++++ /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>
+diff --git a/src/obconf.glade b/src/obconf.ui
+similarity index 75%
+rename from src/obconf.glade
+rename to src/obconf.ui
+index faf98e0..b2efefb 100644
+--- a/src/obconf.glade
++++ b/src/obconf.ui
+@@ -1,31 +1,182 @@
+-<?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>
+@@ -33,12 +184,12 @@
+               </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>
+@@ -46,7 +197,7 @@
+               </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>
+diff --git a/src/preview.c b/src/preview.c
+index 36fc94a..f52bb32 100644
+--- a/src/preview.c
++++ b/src/preview.c
+@@ -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);
+ 
+diff --git a/src/preview_update.c b/src/preview_update.c
+index 638f364..965431e 100644
+--- a/src/preview_update.c
++++ b/src/preview_update.c
+@@ -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;
+ }
+diff --git a/src/tree.c b/src/tree.c
+index cbe9b90..4ad4a38 100644
+--- a/src/tree.c
++++ b/src/tree.c
+@@ -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);
+     }
+diff --git a/src/windows.c b/src/windows.c
+index 146a99d..ed289b7 100644
+--- a/src/windows.c
++++ b/src/windows.c
+@@ -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;
++    }
+ }
+-- 
+1.9.1
+
diff --git a/srcpkgs/obconf/patches/switch-to-gtk3.patch b/srcpkgs/obconf/patches/switch-to-gtk3.patch
new file mode 100644
index 000000000000..510435ab0c40
--- /dev/null
+++ b/srcpkgs/obconf/patches/switch-to-gtk3.patch
@@ -0,0 +1,349 @@
+From b2d08e79f8499723ae4dffe8068381dd108898cb Mon Sep 17 00:00:00 2001
+From: galtgendo <galtgendo>
+Date: Sat, 17 Aug 2013 20:55:04 +0200
+Subject: [PATCH] Switch to GTK+ 3
+
+---
+ configure.ac  |   2 +-
+ src/preview.c | 180 ++++++++++++++++++++++++++++++++++++----------------------
+ 2 files changed, 112 insertions(+), 70 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index b99620f..86df550 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -27,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 >= 2.24.0])
++PKG_CHECK_MODULES(GTK, [gtk+-3.0])
+ AC_SUBST(GTK_CFLAGS)
+ AC_SUBST(GTK_LIBS)
+ 
+diff --git a/src/preview.c b/src/preview.c
+index f52bb32..c00c3c0 100644
+--- a/src/preview.c
++++ b/src/preview.c
+@@ -24,6 +24,8 @@
+ #include <string.h>
+ 
+ #include <obrender/theme.h>
++#include <gdk/gdkx.h>
++#include <cairo-xlib.h>
+ 
+ #define PADDING 2 /* openbox does it :/ */
+ 
+@@ -53,7 +55,10 @@ static GdkPixbuf* preview_menu(RrTheme *theme)
+     RrAppearance *selected;
+     RrAppearance *bullet; /* for submenu */
+ 
+-    GdkPixmap *pixmap;
++    cairo_surface_t *surface;
++    GdkScreen *screen;
++    Display *xdisplay;
++    Visual *xvisual;
+     GdkPixbuf *pixbuf, *tmp_pixbuf;
+ 
+     /* width and height of the whole menu */
+@@ -64,6 +69,10 @@ static GdkPixbuf* preview_menu(RrTheme *theme)
+     gint bw, bh;
+     gint unused;
+ 
++    screen = gdk_screen_get_default();
++    xdisplay = gdk_x11_get_default_xdisplay();
++    xvisual = gdk_x11_visual_get_xvisual(gdk_screen_get_system_visual(screen));
++
+     /* set up appearances */
+     title = theme->a_menu_title;
+ 
+@@ -126,11 +135,13 @@ static GdkPixbuf* preview_menu(RrTheme *theme)
+ 
+     theme_pixmap_paint(title_text, bw, title_h);
+ 
+-    pixmap = gdk_pixmap_foreign_new(title_text->pixmap);
+-    tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+-                                              gdk_colormap_get_system(),
+-                                              0, 0, 0, 0,
+-                                              bw, title_h);
++    surface = cairo_xlib_surface_create(xdisplay, title_text->pixmap,
++                                        xvisual,
++                                        bw, title_h);
++    tmp_pixbuf = gdk_pixbuf_get_from_surface(surface,
++                                             0, 0,
++                                             bw, title_h);
++    cairo_surface_destroy(surface);
+     gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, bw, title_h, pixbuf, x, y);
+ 
+     y += title_h + theme->mbwidth;
+@@ -143,11 +154,13 @@ static GdkPixbuf* preview_menu(RrTheme *theme)
+ 
+     /* draw background for normal entry */
+     theme_pixmap_paint(background, bw, bh);
+-    pixmap = gdk_pixmap_foreign_new(background->pixmap);
+-    tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+-                                              gdk_colormap_get_system(),
+-                                              0, 0, 0, 0,
+-                                              bw, bh);
++    surface = cairo_xlib_surface_create(xdisplay, background->pixmap,
++                                        xvisual,
++                                        bw, bh);
++    tmp_pixbuf = gdk_pixbuf_get_from_surface(surface,
++                                             0, 0,
++                                             bw, bh);
++    cairo_surface_destroy(surface);
+     gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, bw, bh, pixbuf, x, y);
+ 
+     /* draw normal entry */
+@@ -156,11 +169,13 @@ static GdkPixbuf* preview_menu(RrTheme *theme)
+     normal->surface.parenty = PADDING;
+     RrMinSize(normal, &tw, &th);
+     theme_pixmap_paint(normal, tw, th);
+-    pixmap = gdk_pixmap_foreign_new(normal->pixmap);
+-    tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+-                                              gdk_colormap_get_system(),
+-                                              0, 0, 0, 0,
+-                                              tw, th);
++    surface = cairo_xlib_surface_create(xdisplay, normal->pixmap,
++                                        xvisual,
++                                        tw, th);
++    tmp_pixbuf = gdk_pixbuf_get_from_surface(surface,
++                                             0, 0,
++                                             tw, th);
++    cairo_surface_destroy(surface);
+     gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, tw, th, pixbuf,
+                          x + PADDING, y + PADDING);
+ 
+@@ -170,11 +185,13 @@ static GdkPixbuf* preview_menu(RrTheme *theme)
+     bullet->surface.parentx = bw - th;
+     bullet->surface.parenty = PADDING;
+     theme_pixmap_paint(bullet, th, th);
+-    pixmap = gdk_pixmap_foreign_new(bullet->pixmap);
+-    tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+-                                              gdk_colormap_get_system(),
+-                                              0, 0, 0, 0,
+-                                              th, th);
++    surface = cairo_xlib_surface_create(xdisplay, bullet->pixmap,
++                                        xvisual,
++                                        th, th);
++    tmp_pixbuf = gdk_pixbuf_get_from_surface(surface,
++                                             0, 0,
++                                             th, th);
++    cairo_surface_destroy(surface);
+     gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, th, th, pixbuf,
+                          width - theme->mbwidth - th, y + PADDING);
+ 
+@@ -185,11 +202,13 @@ static GdkPixbuf* preview_menu(RrTheme *theme)
+     background->surface.parentx = x - theme->mbwidth;
+     background->surface.parenty = y - theme->mbwidth;
+     theme_pixmap_paint(background, bw, bh);
+-    pixmap = gdk_pixmap_foreign_new(background->pixmap);
+-    tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+-                                              gdk_colormap_get_system(),
+-                                              0, 0, 0, 0,
+-                                              bw, bh);
++    surface = cairo_xlib_surface_create(xdisplay, background->pixmap,
++                                        xvisual,
++                                        bw, bh);
++    tmp_pixbuf = gdk_pixbuf_get_from_surface(surface,
++                                             0, 0,
++                                             bw, bh);
++    cairo_surface_destroy(surface);
+     gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, bw, bh, pixbuf, x, y);
+ 
+     /* draw disabled entry */
+@@ -198,11 +217,13 @@ static GdkPixbuf* preview_menu(RrTheme *theme)
+     disabled->surface.parentx = PADDING;
+     disabled->surface.parenty = PADDING;
+     theme_pixmap_paint(disabled, tw, th);
+-    pixmap = gdk_pixmap_foreign_new(disabled->pixmap);
+-    tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+-                                              gdk_colormap_get_system(),
+-                                              0, 0, 0, 0,
+-                                              tw, th);
++    surface = cairo_xlib_surface_create(xdisplay, disabled->pixmap,
++                                        xvisual,
++                                        tw, th);
++    tmp_pixbuf = gdk_pixbuf_get_from_surface(surface,
++                                             0, 0,
++                                             tw, th);
++    cairo_surface_destroy(surface);
+     gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, tw, th, pixbuf,
+                          x + PADDING, y + PADDING);
+ 
+@@ -215,11 +236,13 @@ 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);
+-    tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+-                                              gdk_colormap_get_system(),
+-                                              0, 0, 0, 0,
+-                                              bw, bh);
++    surface = cairo_xlib_surface_create(xdisplay, background->pixmap,
++                                        xvisual,
++                                        bw, bh);
++    tmp_pixbuf = gdk_pixbuf_get_from_surface(surface,
++                                             0, 0,
++                                             bw, bh);
++    cairo_surface_destroy(surface);
+     gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, bw, bh, pixbuf, x, y);
+ 
+     /* draw selected entry */
+@@ -228,11 +251,13 @@ static GdkPixbuf* preview_menu(RrTheme *theme)
+     selected->surface.parentx = PADDING;
+     selected->surface.parenty = PADDING;
+     theme_pixmap_paint(selected, tw, th);
+-    pixmap = gdk_pixmap_foreign_new(selected->pixmap);
+-    tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+-                                              gdk_colormap_get_system(),
+-                                              0, 0, 0, 0,
+-                                              tw, th);
++    surface = cairo_xlib_surface_create(xdisplay, selected->pixmap,
++                                        xvisual,
++                                        tw, th);
++    tmp_pixbuf = gdk_pixbuf_get_from_surface(surface,
++                                             0, 0,
++                                             tw, th);
++    cairo_surface_destroy(surface);
+     gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, tw, th, pixbuf,
+                          x + PADDING, y + PADDING);
+     g_object_unref(tmp_pixbuf);
+@@ -247,7 +272,10 @@ static GdkPixbuf* preview_window(RrTheme *theme, const gchar *titlelayout,
+     RrAppearance *handle;
+     RrAppearance *a;
+ 
+-    GdkPixmap *pixmap;
++    cairo_surface_t *surface;
++    GdkScreen *screen;
++    Display *xdisplay;
++    Visual *xvisual;
+     GdkPixbuf *pixbuf = NULL, *tmp_pixbuf = NULL;
+     GdkPixbuf *scratch;
+ 
+@@ -255,6 +283,10 @@ static GdkPixbuf* preview_window(RrTheme *theme, const gchar *titlelayout,
+ 
+     const gchar *layout;
+ 
++    screen = gdk_screen_get_default();
++    xdisplay = gdk_x11_get_default_xdisplay();
++    xvisual = gdk_x11_visual_get_xvisual(gdk_screen_get_system_visual(screen));
++
+     title = focus ? theme->a_focused_title : theme->a_unfocused_title;
+ 
+     /* set border */
+@@ -271,10 +303,12 @@ static GdkPixbuf* preview_window(RrTheme *theme, const gchar *titlelayout,
+     theme_pixmap_paint(title, w, h);
+ 
+     x = y = theme->fbwidth;
+-    pixmap = gdk_pixmap_foreign_new(title->pixmap);
+-    tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+-                                              gdk_colormap_get_system(),
+-                                              0, 0, 0, 0, w, h);
++    surface = cairo_xlib_surface_create(xdisplay, title->pixmap,
++                                        xvisual,
++                                        w, h);
++    tmp_pixbuf = gdk_pixbuf_get_from_surface(surface,
++                                             0, 0, w, h);
++    cairo_surface_destroy(surface);
+     gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, w, h, pixbuf, x, y);
+ 
+     /* calculate label width */
+@@ -317,10 +351,12 @@ static GdkPixbuf* preview_window(RrTheme *theme, const gchar *titlelayout,
+             w = h = theme->button_size + 2;
+ 
+             theme_pixmap_paint(a, w, h);
+-            pixmap = gdk_pixmap_foreign_new(a->pixmap);
+-            tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+-                                                      gdk_colormap_get_system(),
+-                                                      0, 0, 0, 0, w, h);
++            surface = cairo_xlib_surface_create(xdisplay, a->pixmap,
++                                                xvisual,
++                                                w, h);
++            tmp_pixbuf = gdk_pixbuf_get_from_surface(surface,
++                                                     0, 0, w, h);
++            cairo_surface_destroy(surface);
+             gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, w, h, pixbuf, x, y);
+ 
+             x += theme->button_size + 2 + theme->paddingx + 1;
+@@ -335,10 +371,12 @@ static GdkPixbuf* preview_window(RrTheme *theme, const gchar *titlelayout,
+             h = theme->label_height;
+ 
+             theme_pixmap_paint(a, w, h);
+-            pixmap = gdk_pixmap_foreign_new(a->pixmap);
+-            tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+-                                                      gdk_colormap_get_system(),
+-                                                      0, 0, 0, 0, w, h);
++            surface = cairo_xlib_surface_create(xdisplay, a->pixmap,
++                                                xvisual,
++                                                w, h);
++            tmp_pixbuf = gdk_pixbuf_get_from_surface(surface,
++                                                     0, 0, w, h);
++            cairo_surface_destroy(surface);
+             gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, w, h, pixbuf, x, y);
+ 
+             x += w + theme->paddingx + 1;
+@@ -382,12 +420,14 @@ static GdkPixbuf* preview_window(RrTheme *theme, const gchar *titlelayout,
+             h = theme->button_size;
+ 
+             theme_pixmap_paint(a, w, h);
+-            pixmap = gdk_pixmap_foreign_new(a->pixmap);
++            surface = cairo_xlib_surface_create(xdisplay, a->pixmap,
++                                                xvisual,
++                                                w, h);
+             /* use y + 1 because these buttons should be centered wrt the label
+              */
+-            tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+-                                                      gdk_colormap_get_system(),
+-                                                      0, 0, 0, 0, w, h);
++            tmp_pixbuf = gdk_pixbuf_get_from_surface(surface,
++                                                     0, 0, w, h);
++            cairo_surface_destroy(surface);
+             gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, w, h, pixbuf, x, y + 1);
+ 
+             x += theme->button_size + theme->paddingx + 1;
+@@ -403,10 +443,12 @@ static GdkPixbuf* preview_window(RrTheme *theme, const gchar *titlelayout,
+         h = theme->handle_height;
+ 
+         theme_pixmap_paint(handle, w, h);
+-        pixmap = gdk_pixmap_foreign_new(handle->pixmap);
+-        tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+-                                                  gdk_colormap_get_system(),
+-                                                  0, 0, 0, 0, w, h);
++        surface = cairo_xlib_surface_create(xdisplay, handle->pixmap,
++                                            xvisual,
++                                            w, h);
++        tmp_pixbuf = gdk_pixbuf_get_from_surface(surface,
++                                                 0, 0, w, h);
++        cairo_surface_destroy(surface);
+         gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, w, h, pixbuf, x, y);
+ 
+         /* openbox handles this drawing stuff differently (it fills the bottom
+@@ -425,17 +467,17 @@ static GdkPixbuf* preview_window(RrTheme *theme, const gchar *titlelayout,
+         w = theme->grip_width;
+ 
+         theme_pixmap_paint(a, w, h);
+-        pixmap = gdk_pixmap_foreign_new(a->pixmap);
+-        tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+-                                                  gdk_colormap_get_system(),
+-                                                  0, 0, 0, 0, w, h);
++        surface = cairo_xlib_surface_create(xdisplay, a->pixmap,
++                                            xvisual, w, h);
++        tmp_pixbuf = gdk_pixbuf_get_from_surface(surface,
++                                                 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;
+-        tmp_pixbuf = gdk_pixbuf_get_from_drawable(tmp_pixbuf, pixmap,
+-                                                  gdk_colormap_get_system(),
+-                                                  0, 0, 0, 0, w, h);
++        tmp_pixbuf = gdk_pixbuf_get_from_surface(surface,
++                                                 0, 0, w, h);
++        cairo_surface_destroy(surface);
+         gdk_pixbuf_copy_area(tmp_pixbuf, 0, 0, w, h, pixbuf, x, y);
+     }
+ 
+-- 
+1.9.1
+
diff --git a/srcpkgs/obconf/template b/srcpkgs/obconf/template
index e93d63381b86..55070305fa0f 100644
--- a/srcpkgs/obconf/template
+++ b/srcpkgs/obconf/template
@@ -1,14 +1,18 @@
 # Template file for 'obconf'
 pkgname=obconf
 version=2.0.4
-revision=6
+revision=7
 build_style=gnu-configure
-hostmakedepends="pkg-config tar"
-makedepends="gtk+-devel libglade-devel libSM-devel imlib2-devel openbox-devel startup-notification-devel"
+hostmakedepends="pkg-config tar automake autoconf gettext-devel-tools"
+makedepends="gtk+3-devel libSM-devel imlib2-devel openbox-devel startup-notification-devel"
 depends="desktop-file-utils shared-mime-info"
-short_desc="A GTK2 based configuration tool for the Openbox windowmanager"
+short_desc="GTK based configuration tool for the Openbox windowmanager"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="http://openbox.org/wiki/ObConf:About"
 distfiles="http://openbox.org/dist/obconf/obconf-${version}.tar.gz"
 checksum=71a3e5f4ee246a27421ba85044f09d449f8de22680944ece9c471cd46a9356b9
+
+pre_configure() {
+	autoreconf -fi
+}

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: obconf: use GTK3
  2022-11-08 22:39 [PR PATCH] obconf: use GTK3 paper42
@ 2022-11-09 20:19 ` kruceter
  2022-11-09 20:22 ` kruceter
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: kruceter @ 2022-11-09 20:19 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 558 bytes --]

New comment by kruceter on void-packages repository

https://github.com/void-linux/void-packages/pull/40398#issuecomment-1309330619

Comment:
Works for me ([build log](https://github.com/void-linux/void-packages/files/9974767/build_log.txt)).

[obconf-2 0 4_7-0.png](https://user-images.githubusercontent.com/116987897/200931434-314023cd-3746-4170-bb99-fb07b831930f.png) (do not mind the vertical line; that is scrot's doing)
[obconf-2 0 4_7-1.png](https://user-images.githubusercontent.com/116987897/200931444-d8c08a36-e7d2-4ea4-b2a1-34a92091d1f3.png)


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: obconf: use GTK3
  2022-11-08 22:39 [PR PATCH] obconf: use GTK3 paper42
  2022-11-09 20:19 ` kruceter
@ 2022-11-09 20:22 ` kruceter
  2022-11-09 21:33 ` paper42
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: kruceter @ 2022-11-09 20:22 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 666 bytes --]

New comment by kruceter on void-packages repository

https://github.com/void-linux/void-packages/pull/40398#issuecomment-1309330619

Comment:
Works for me ([build log](https://github.com/void-linux/void-packages/files/9974767/build_log.txt)).

Changes made with obconf-2.0.4_7 are reflected in the configuration file of openbox without any defects.

[obconf-2.0.4_7-0.png](https://user-images.githubusercontent.com/116987897/200931434-314023cd-3746-4170-bb99-fb07b831930f.png) (do not mind the vertical line; that is scrot's doing)
[obconf-2.0.4_7-1.png](https://user-images.githubusercontent.com/116987897/200931444-d8c08a36-e7d2-4ea4-b2a1-34a92091d1f3.png)


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: obconf: use GTK3
  2022-11-08 22:39 [PR PATCH] obconf: use GTK3 paper42
  2022-11-09 20:19 ` kruceter
  2022-11-09 20:22 ` kruceter
@ 2022-11-09 21:33 ` paper42
  2023-02-08  2:35 ` github-actions
  2023-05-15 15:49 ` [PR PATCH] [Closed]: " classabbyamp
  4 siblings, 0 replies; 6+ messages in thread
From: paper42 @ 2022-11-09 21:33 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 161 bytes --]

New comment by paper42 on void-packages repository

https://github.com/void-linux/void-packages/pull/40398#issuecomment-1309403074

Comment:
Thanks for testing!

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: obconf: use GTK3
  2022-11-08 22:39 [PR PATCH] obconf: use GTK3 paper42
                   ` (2 preceding siblings ...)
  2022-11-09 21:33 ` paper42
@ 2023-02-08  2:35 ` github-actions
  2023-05-15 15:49 ` [PR PATCH] [Closed]: " classabbyamp
  4 siblings, 0 replies; 6+ messages in thread
From: github-actions @ 2023-02-08  2:35 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 305 bytes --]

New comment by github-actions[bot] on void-packages repository

https://github.com/void-linux/void-packages/pull/40398#issuecomment-1421894487

Comment:
Pull Requests become stale 90 days after last activity and are closed 14 days after that.  If this pull request is still relevant bump it or assign it.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PR PATCH] [Closed]: obconf: use GTK3
  2022-11-08 22:39 [PR PATCH] obconf: use GTK3 paper42
                   ` (3 preceding siblings ...)
  2023-02-08  2:35 ` github-actions
@ 2023-05-15 15:49 ` classabbyamp
  4 siblings, 0 replies; 6+ messages in thread
From: classabbyamp @ 2023-05-15 15:49 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1256 bytes --]

There's a closed pull request on the void-packages repository

obconf: use GTK3
https://github.com/void-linux/void-packages/pull/40398

Description:
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **NO** (I don't use openbox, so I can't really test this)

TODO: find a stable source for the libglade patch and add it to distfiles, it looks too big to include in void-packages (396kB)
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-05-15 15:49 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-08 22:39 [PR PATCH] obconf: use GTK3 paper42
2022-11-09 20:19 ` kruceter
2022-11-09 20:22 ` kruceter
2022-11-09 21:33 ` paper42
2023-02-08  2:35 ` github-actions
2023-05-15 15:49 ` [PR PATCH] [Closed]: " classabbyamp

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).