diff options
author | Eric Hameleers <alien@slackware.com> | 2022-02-05 21:11:40 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2022-02-05 21:11:40 +0000 |
commit | 36fbe117e279dea6899b73198f71be1a858a1af7 (patch) | |
tree | ea215b4546a63e93084df927c05bc6fa0c855231 /obconf | |
parent | 5185266c30bfa1715af10f4a076bebb45ef50e5f (diff) | |
download | asb-36fbe117e279dea6899b73198f71be1a858a1af7.tar.gz asb-36fbe117e279dea6899b73198f71be1a858a1af7.tar.xz |
Initial revision
Diffstat (limited to 'obconf')
-rw-r--r-- | obconf/build/patches/obconf_no_libglade.patch | 6908 | ||||
-rw-r--r-- | obconf/build/patches/obconf_switch_to_gtk3.patch | 349 |
2 files changed, 7257 insertions, 0 deletions
diff --git a/obconf/build/patches/obconf_no_libglade.patch b/obconf/build/patches/obconf_no_libglade.patch new file mode 100644 index 00000000..06962392 --- /dev/null +++ b/obconf/build/patches/obconf_no_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"><span weight="bold" size="xx-large">ObConf VERSION</span></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 <tr@slackzone.org> + Javeed Shaikh <syscrash2k@gmail.com></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 <syscrash2k@gmail.com></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"><span weight="bold">Press the key you wish to bind...</span></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 <syscrash2k@gmail.com></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">●</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"><span weight="bold">Theme</span></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 <syscrash2k@gmail.com></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 <syscrash2k@gmail.com></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 <syscrash2k@gmail.com></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 <syscrash2k@gmail.com></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 <syscrash2k@gmail.com></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 <syscrash2k@gmail.com></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"><span weight="bold">Windows</span></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 <syscrash2k@gmail.com></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 <syscrash2k@gmail.com></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 <syscrash2k@gmail.com></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 <syscrash2k@gmail.com></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"><span weight="bold">Window Titles</span></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 <syscrash2k@gmail.com></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 <syscrash2k@gmail.com></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 <syscrash2k@gmail.com></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"><span weight="bold">Fonts</span></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"><span weight="bold">Focusing Windows</span></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"><span weight="bold">Placing Windows</span></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"><span weight="bold">Primary Monitor</span></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"><span weight="bold">Moving and Resizing Windows</span></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"><span weight="bold">Information Dialog</span></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 & 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"><span weight="bold">Focusing Windows</span></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"><span weight="bold">Titlebar</span></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"><span weight="bold">Desktops</span></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"><span weight="bold">Desktop Margins</span></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"><span weight="bold">Dock</span></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"><span weight="bold">Position</span></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"><span weight="bold">Stacking</span></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"><span weight="bold">Hiding</span></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/obconf/build/patches/obconf_switch_to_gtk3.patch b/obconf/build/patches/obconf_switch_to_gtk3.patch new file mode 100644 index 00000000..510435ab --- /dev/null +++ b/obconf/build/patches/obconf_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 + |