summaryrefslogtreecommitdiffstats
path: root/gnome-panel-2.16.0-compiz-support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnome-panel-2.16.0-compiz-support.patch')
-rw-r--r--gnome-panel-2.16.0-compiz-support.patch1147
1 files changed, 0 insertions, 1147 deletions
diff --git a/gnome-panel-2.16.0-compiz-support.patch b/gnome-panel-2.16.0-compiz-support.patch
deleted file mode 100644
index fccf386..0000000
--- a/gnome-panel-2.16.0-compiz-support.patch
+++ /dev/null
@@ -1,1147 +0,0 @@
-? birnan
-Index: applets/wncklet/workspace-switcher.c
-===================================================================
-RCS file: /cvs/gnome/gnome-panel/applets/wncklet/workspace-switcher.c,v
-retrieving revision 1.77
-diff -u -r1.77 workspace-switcher.c
---- applets/wncklet/workspace-switcher.c 7 Aug 2006 23:49:19 -0000 1.77
-+++ applets/wncklet/workspace-switcher.c 18 Sep 2006 23:28:00 -0000
-@@ -26,6 +26,9 @@
- #include <libwnck/libwnck.h>
- #include <gconf/gconf-client.h>
- #include <libgnomeui/gnome-help.h>
-+#include <gdk/gdkx.h>
-+#include <X11/Xlib.h>
-+#include <X11/Xatom.h>
-
- #include "workspace-switcher.h"
-
-@@ -48,6 +51,9 @@
-
- /* Properties: */
- GtkWidget *properties_dialog;
-+ GtkWidget *notebook;
-+ GtkWidget *viewport_child;
-+ GtkWidget *workspace_child;
- GtkWidget *display_workspaces_toggle;
- GtkWidget *all_workspaces_radio;
- GtkWidget *current_only_radio;
-@@ -56,6 +62,8 @@
- GtkWidget *num_workspaces_spin;
- GtkWidget *workspaces_tree;
- GtkWidget *about;
-+ GtkWidget *width_spinbutton;
-+ GtkWidget *height_spinbutton;
-
- GtkListStore *workspaces_store;
-
-@@ -780,6 +788,37 @@
- }
-
- static void
-+spinbutton_changed (GtkWidget *widget,
-+ gpointer data)
-+{
-+ GConfClient *client = gconf_client_get_default ();
-+ const char *key = data;
-+
-+ int value = gtk_spin_button_get_value (GTK_SPIN_BUTTON (widget));
-+
-+ gconf_client_set_int (client, key, value, NULL);
-+}
-+
-+static void
-+setup_spinbutton (GtkSpinButton *spin,
-+ const char *key,
-+ int minimum)
-+{
-+ GConfClient *client = gconf_client_get_default ();
-+ int value;
-+
-+ if (!gconf_client_key_is_writable (client, key, NULL))
-+ gtk_widget_set_sensitive (GTK_WIDGET (spin), FALSE);
-+
-+ value = gconf_client_get_int (client, key, NULL);
-+
-+ gtk_spin_button_set_range (spin, minimum, G_MAXINT);
-+ gtk_spin_button_set_value (spin, value);
-+
-+ g_signal_connect (spin, "value_changed", G_CALLBACK (spinbutton_changed), (gpointer)key);
-+}
-+
-+static void
- setup_dialog (GladeXML *xml,
- PagerData *pager)
- {
-@@ -910,6 +949,114 @@
- pager,
- pager->applet);
- }
-+
-+ gtk_notebook_set_show_tabs (GTK_NOTEBOOK (pager->notebook), FALSE);
-+ gtk_notebook_set_show_border (GTK_NOTEBOOK (pager->notebook), FALSE);
-+
-+ setup_spinbutton (pager->width_spinbutton, "/apps/compiz/general/screen0/options/hsize", 1);
-+ setup_spinbutton (pager->height_spinbutton, "/apps/compiz/general/screen0/options/vsize", 1);
-+}
-+
-+/* get_wm_window() and current_window_manager() are essentially cutted and pasted
-+ * from gnome-wm.c from gnome-control-center.
-+ */
-+static Window
-+get_wm_window (void)
-+{
-+ Window *xwindow;
-+ Atom type;
-+ gint format;
-+ gulong nitems;
-+ gulong bytes_after;
-+ Window result;
-+
-+ XGetWindowProperty (GDK_DISPLAY (), GDK_ROOT_WINDOW (),
-+ XInternAtom (GDK_DISPLAY (), "_NET_SUPPORTING_WM_CHECK", False),
-+ 0, G_MAXLONG, False, XA_WINDOW, &type, &format,
-+ &nitems, &bytes_after, (guchar **) &xwindow);
-+
-+ if (type != XA_WINDOW)
-+ {
-+ return None;
-+ }
-+
-+ gdk_error_trap_push ();
-+ XSelectInput (GDK_DISPLAY (), *xwindow, StructureNotifyMask | PropertyChangeMask);
-+ XSync (GDK_DISPLAY (), False);
-+
-+ if (gdk_error_trap_pop ())
-+ {
-+ XFree (xwindow);
-+ return None;
-+ }
-+
-+ result = *xwindow;
-+ XFree (xwindow);
-+
-+ return result;
-+}
-+
-+static char*
-+get_current_window_manager (void)
-+{
-+ Atom utf8_string, atom, type;
-+ int result;
-+ char *retval;
-+ int format;
-+ gulong nitems;
-+ gulong bytes_after;
-+ gchar *val;
-+ Window wm_window = get_wm_window ();
-+
-+ utf8_string = XInternAtom (GDK_DISPLAY (), "UTF8_STRING", False);
-+ atom = XInternAtom (GDK_DISPLAY (), "_NET_WM_NAME", False);
-+
-+ gdk_error_trap_push ();
-+
-+ result = XGetWindowProperty (GDK_DISPLAY (),
-+ wm_window,
-+ atom,
-+ 0, G_MAXLONG,
-+ False, utf8_string,
-+ &type, &format, &nitems,
-+ &bytes_after, (guchar **)&val);
-+
-+ if (gdk_error_trap_pop () || result != Success)
-+ return NULL;
-+
-+ if (type != utf8_string ||
-+ format !=8 ||
-+ nitems == 0)
-+ {
-+ if (val)
-+ XFree (val);
-+ return NULL;
-+ }
-+
-+ if (!g_utf8_validate (val, nitems, NULL))
-+ {
-+ XFree (val);
-+ return NULL;
-+ }
-+
-+ retval = g_strndup (val, nitems);
-+
-+ XFree (val);
-+
-+ return retval;
-+}
-+
-+static gboolean
-+compiz_is_running (void)
-+{
-+ gboolean result;
-+ char *wm = get_current_window_manager ();
-+
-+ result = wm && strcmp (wm, "compiz") == 0;
-+
-+ g_free (wm);
-+
-+ return result;
- }
-
- static void
-@@ -917,23 +1064,50 @@
- PagerData *pager,
- const gchar *verbname)
- {
-- if (pager->properties_dialog == NULL) {
-- GladeXML *xml;
-+ gboolean using_compiz;
-+
-+ if (pager->properties_dialog == NULL) {
-+ GladeXML *xml = glade_xml_new (PAGER_GLADEDIR "/workspace-switcher.glade", NULL, NULL);
-
-- xml = glade_xml_new (PAGER_GLADEDIR "/workspace-switcher.glade", NULL, NULL);
- pager->properties_dialog = glade_xml_get_widget (xml, "pager_properties_dialog");
--
-+ pager->notebook = glade_xml_get_widget (xml, "notebook");
-+ pager->viewport_child = glade_xml_get_widget (xml, "viewport-child");
-+ pager->workspace_child = glade_xml_get_widget (xml, "workspace-child");
-+ pager->width_spinbutton = glade_xml_get_widget (xml, "width-spinbutton");
-+ pager->height_spinbutton = glade_xml_get_widget (xml, "height-spinbutton");
-+
-+ g_object_ref (pager->viewport_child);
-+ g_object_ref (pager->workspace_child);
-+
- g_object_add_weak_pointer (G_OBJECT (pager->properties_dialog),
- (gpointer *) &pager->properties_dialog);
-
- setup_dialog (xml, pager);
--
-- g_object_unref (G_OBJECT (xml));
-+
-+ g_object_unref (G_OBJECT (xml));
- }
-
-+ using_compiz = compiz_is_running();
-+
-+ if (using_compiz) {
-+ gtk_widget_hide (pager->workspace_child);
-+ gtk_widget_show (pager->viewport_child);
-+ gtk_window_set_resizable (GTK_WINDOW (pager->properties_dialog), FALSE);
-+ }
-+ else {
-+ gtk_widget_show (pager->workspace_child);
-+ gtk_widget_hide (pager->viewport_child);
-+ gtk_window_set_resizable (GTK_WINDOW (pager->properties_dialog), TRUE);
-+ }
-+
- gtk_window_set_icon_name (GTK_WINDOW (pager->properties_dialog),
- "gnome-panel-workspace-switcher");
- gtk_window_set_screen (GTK_WINDOW (pager->properties_dialog),
- gtk_widget_get_screen (pager->applet));
- gtk_window_present (GTK_WINDOW (pager->properties_dialog));
-+
-+ if (using_compiz) {
-+ gtk_widget_grab_focus (pager->width_spinbutton);
-+ gtk_editable_select_region (GTK_EDITABLE (pager->width_spinbutton), 0, -1);
-+ }
- }
-Index: applets/wncklet/workspace-switcher.glade
-===================================================================
-RCS file: /cvs/gnome/gnome-panel/applets/wncklet/workspace-switcher.glade,v
-retrieving revision 1.23
-diff -u -r1.23 workspace-switcher.glade
---- applets/wncklet/workspace-switcher.glade 13 Oct 2003 20:11:52 -0000 1.23
-+++ applets/wncklet/workspace-switcher.glade 18 Sep 2006 23:28:00 -0000
-@@ -12,6 +12,13 @@
- <property name="modal">False</property>
- <property name="resizable">True</property>
- <property name="destroy_with_parent">False</property>
-+ <property name="decorated">True</property>
-+ <property name="skip_taskbar_hint">False</property>
-+ <property name="skip_pager_hint">False</property>
-+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-+ <property name="focus_on_map">True</property>
-+ <property name="urgency_hint">False</property>
- <property name="has_separator">False</property>
-
- <child internal-child="vbox">
-@@ -33,6 +40,7 @@
- <property name="label">gtk-help</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
- <property name="response_id">-11</property>
- </widget>
- </child>
-@@ -46,6 +54,7 @@
- <property name="label">gtk-close</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
- <property name="response_id">0</property>
- </widget>
- </child>
-@@ -59,58 +68,45 @@
- </child>
-
- <child>
-- <widget class="GtkVBox" id="vbox2">
-- <property name="border_width">5</property>
-+ <widget class="GtkNotebook" id="notebook">
- <property name="visible">True</property>
-- <property name="homogeneous">False</property>
-- <property name="spacing">18</property>
-+ <property name="can_focus">True</property>
-+ <property name="show_tabs">True</property>
-+ <property name="show_border">False</property>
-+ <property name="tab_pos">GTK_POS_TOP</property>
-+ <property name="scrollable">False</property>
-+ <property name="enable_popup">False</property>
-
- <child>
-- <widget class="GtkVBox" id="vbox3">
-+ <widget class="GtkVBox" id="workspace-child">
-+ <property name="border_width">5</property>
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
-- <property name="spacing">6</property>
--
-- <child>
-- <widget class="GtkLabel" id="label4">
-- <property name="visible">True</property>
-- <property name="label" translatable="yes">&lt;b&gt;Switcher&lt;/b&gt;</property>
-- <property name="use_underline">False</property>
-- <property name="use_markup">True</property>
-- <property name="justify">GTK_JUSTIFY_LEFT</property>
-- <property name="wrap">False</property>
-- <property name="selectable">False</property>
-- <property name="xalign">0</property>
-- <property name="yalign">0.5</property>
-- <property name="xpad">0</property>
-- <property name="ypad">0</property>
-- </widget>
-- <packing>
-- <property name="padding">0</property>
-- <property name="expand">False</property>
-- <property name="fill">False</property>
-- </packing>
-- </child>
-+ <property name="spacing">18</property>
-
- <child>
-- <widget class="GtkHBox" id="hbox5">
-+ <widget class="GtkVBox" id="vbox3">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
-- <property name="spacing">0</property>
-+ <property name="spacing">6</property>
-
- <child>
-- <widget class="GtkLabel" id="label5">
-+ <widget class="GtkLabel" id="label4">
- <property name="visible">True</property>
-- <property name="label" translatable="yes"> </property>
-+ <property name="label" translatable="yes">&lt;b&gt;Switcher&lt;/b&gt;</property>
- <property name="use_underline">False</property>
-- <property name="use_markup">False</property>
-+ <property name="use_markup">True</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
-- <property name="xalign">0.5</property>
-+ <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
-+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-+ <property name="width_chars">-1</property>
-+ <property name="single_line_mode">False</property>
-+ <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
-@@ -120,21 +116,28 @@
- </child>
-
- <child>
-- <widget class="GtkVBox" id="vbox5">
-+ <widget class="GtkHBox" id="hbox5">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
-- <property name="spacing">6</property>
-+ <property name="spacing">0</property>
-
- <child>
-- <widget class="GtkRadioButton" id="current_only_radio">
-+ <widget class="GtkLabel" id="label5">
- <property name="visible">True</property>
-- <property name="can_focus">True</property>
-- <property name="label" translatable="yes">Show _only the current workspace</property>
-- <property name="use_underline">True</property>
-- <property name="relief">GTK_RELIEF_NORMAL</property>
-- <property name="active">False</property>
-- <property name="inconsistent">False</property>
-- <property name="draw_indicator">True</property>
-+ <property name="label" translatable="yes"> </property>
-+ <property name="use_underline">False</property>
-+ <property name="use_markup">False</property>
-+ <property name="justify">GTK_JUSTIFY_LEFT</property>
-+ <property name="wrap">False</property>
-+ <property name="selectable">False</property>
-+ <property name="xalign">0.5</property>
-+ <property name="yalign">0.5</property>
-+ <property name="xpad">0</property>
-+ <property name="ypad">0</property>
-+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-+ <property name="width_chars">-1</property>
-+ <property name="single_line_mode">False</property>
-+ <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
-@@ -144,22 +147,22 @@
- </child>
-
- <child>
-- <widget class="GtkHBox" id="hbox9">
-+ <widget class="GtkVBox" id="vbox5">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
-- <property name="spacing">12</property>
-+ <property name="spacing">6</property>
-
- <child>
-- <widget class="GtkRadioButton" id="all_workspaces_radio">
-+ <widget class="GtkRadioButton" id="current_only_radio">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
-- <property name="label" translatable="yes">Show _all workspaces in:</property>
-+ <property name="label" translatable="yes">Show _only the current workspace</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
-- <property name="group">current_only_radio</property>
- </widget>
- <packing>
- <property name="padding">0</property>
-@@ -169,22 +172,81 @@
- </child>
-
- <child>
-- <widget class="GtkHBox" id="hbox10">
-+ <widget class="GtkHBox" id="hbox9">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
-- <property name="spacing">6</property>
-+ <property name="spacing">12</property>
-
- <child>
-- <widget class="GtkSpinButton" id="num_rows_spin">
-+ <widget class="GtkRadioButton" id="all_workspaces_radio">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
-- <property name="climb_rate">1</property>
-- <property name="digits">0</property>
-- <property name="numeric">True</property>
-- <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-- <property name="snap_to_ticks">False</property>
-- <property name="wrap">False</property>
-- <property name="adjustment">1 1 16 1 10 10</property>
-+ <property name="label" translatable="yes">Show _all workspaces in:</property>
-+ <property name="use_underline">True</property>
-+ <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
-+ <property name="active">False</property>
-+ <property name="inconsistent">False</property>
-+ <property name="draw_indicator">True</property>
-+ <property name="group">current_only_radio</property>
-+ </widget>
-+ <packing>
-+ <property name="padding">0</property>
-+ <property name="expand">False</property>
-+ <property name="fill">False</property>
-+ </packing>
-+ </child>
-+
-+ <child>
-+ <widget class="GtkHBox" id="hbox10">
-+ <property name="visible">True</property>
-+ <property name="homogeneous">False</property>
-+ <property name="spacing">6</property>
-+
-+ <child>
-+ <widget class="GtkSpinButton" id="num_rows_spin">
-+ <property name="visible">True</property>
-+ <property name="can_focus">True</property>
-+ <property name="climb_rate">1</property>
-+ <property name="digits">0</property>
-+ <property name="numeric">True</property>
-+ <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-+ <property name="snap_to_ticks">False</property>
-+ <property name="wrap">False</property>
-+ <property name="adjustment">1 1 16 1 10 10</property>
-+ </widget>
-+ <packing>
-+ <property name="padding">0</property>
-+ <property name="expand">True</property>
-+ <property name="fill">True</property>
-+ </packing>
-+ </child>
-+
-+ <child>
-+ <widget class="GtkLabel" id="label_row_col">
-+ <property name="visible">True</property>
-+ <property name="label" translatable="yes">rows</property>
-+ <property name="use_underline">False</property>
-+ <property name="use_markup">False</property>
-+ <property name="justify">GTK_JUSTIFY_CENTER</property>
-+ <property name="wrap">False</property>
-+ <property name="selectable">False</property>
-+ <property name="xalign">0</property>
-+ <property name="yalign">0.5</property>
-+ <property name="xpad">0</property>
-+ <property name="ypad">0</property>
-+ <property name="mnemonic_widget">num_rows_spin</property>
-+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-+ <property name="width_chars">-1</property>
-+ <property name="single_line_mode">False</property>
-+ <property name="angle">0</property>
-+ </widget>
-+ <packing>
-+ <property name="padding">0</property>
-+ <property name="expand">False</property>
-+ <property name="fill">False</property>
-+ </packing>
-+ </child>
- </widget>
- <packing>
- <property name="padding">0</property>
-@@ -192,12 +254,114 @@
- <property name="fill">True</property>
- </packing>
- </child>
-+ </widget>
-+ <packing>
-+ <property name="padding">0</property>
-+ <property name="expand">True</property>
-+ <property name="fill">True</property>
-+ </packing>
-+ </child>
-+ </widget>
-+ <packing>
-+ <property name="padding">0</property>
-+ <property name="expand">True</property>
-+ <property name="fill">True</property>
-+ </packing>
-+ </child>
-+ </widget>
-+ <packing>
-+ <property name="padding">0</property>
-+ <property name="expand">True</property>
-+ <property name="fill">True</property>
-+ </packing>
-+ </child>
-+ </widget>
-+ <packing>
-+ <property name="padding">0</property>
-+ <property name="expand">False</property>
-+ <property name="fill">True</property>
-+ </packing>
-+ </child>
-+
-+ <child>
-+ <widget class="GtkVBox" id="vbox4">
-+ <property name="visible">True</property>
-+ <property name="homogeneous">False</property>
-+ <property name="spacing">6</property>
-+
-+ <child>
-+ <widget class="GtkLabel" id="label6">
-+ <property name="visible">True</property>
-+ <property name="label" translatable="yes">&lt;b&gt;Workspaces&lt;/b&gt;</property>
-+ <property name="use_underline">False</property>
-+ <property name="use_markup">True</property>
-+ <property name="justify">GTK_JUSTIFY_LEFT</property>
-+ <property name="wrap">False</property>
-+ <property name="selectable">False</property>
-+ <property name="xalign">0</property>
-+ <property name="yalign">0.5</property>
-+ <property name="xpad">0</property>
-+ <property name="ypad">0</property>
-+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-+ <property name="width_chars">-1</property>
-+ <property name="single_line_mode">False</property>
-+ <property name="angle">0</property>
-+ </widget>
-+ <packing>
-+ <property name="padding">0</property>
-+ <property name="expand">False</property>
-+ <property name="fill">False</property>
-+ </packing>
-+ </child>
-+
-+ <child>
-+ <widget class="GtkHBox" id="hbox8">
-+ <property name="visible">True</property>
-+ <property name="homogeneous">False</property>
-+ <property name="spacing">0</property>
-+
-+ <child>
-+ <widget class="GtkLabel" id="label7">
-+ <property name="visible">True</property>
-+ <property name="label" translatable="yes"> </property>
-+ <property name="use_underline">False</property>
-+ <property name="use_markup">False</property>
-+ <property name="justify">GTK_JUSTIFY_LEFT</property>
-+ <property name="wrap">False</property>
-+ <property name="selectable">False</property>
-+ <property name="xalign">0.5</property>
-+ <property name="yalign">0.5</property>
-+ <property name="xpad">0</property>
-+ <property name="ypad">0</property>
-+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-+ <property name="width_chars">-1</property>
-+ <property name="single_line_mode">False</property>
-+ <property name="angle">0</property>
-+ </widget>
-+ <packing>
-+ <property name="padding">0</property>
-+ <property name="expand">False</property>
-+ <property name="fill">False</property>
-+ </packing>
-+ </child>
-+
-+ <child>
-+ <widget class="GtkVBox" id="vbox1">
-+ <property name="visible">True</property>
-+ <property name="homogeneous">False</property>
-+ <property name="spacing">6</property>
-+
-+ <child>
-+ <widget class="GtkHBox" id="hbox4">
-+ <property name="visible">True</property>
-+ <property name="homogeneous">False</property>
-+ <property name="spacing">12</property>
-
- <child>
-- <widget class="GtkLabel" id="label_row_col">
-+ <widget class="GtkLabel" id="num_workspaces_label">
- <property name="visible">True</property>
-- <property name="label" translatable="yes">rows</property>
-- <property name="use_underline">False</property>
-+ <property name="label" translatable="yes">Number of _workspaces:</property>
-+ <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
-@@ -206,7 +370,11 @@
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
-- <property name="mnemonic_widget">num_rows_spin</property>
-+ <property name="mnemonic_widget">num_workspaces_spin</property>
-+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-+ <property name="width_chars">-1</property>
-+ <property name="single_line_mode">False</property>
-+ <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
-@@ -214,6 +382,83 @@
- <property name="fill">False</property>
- </packing>
- </child>
-+
-+ <child>
-+ <widget class="GtkSpinButton" id="num_workspaces_spin">
-+ <property name="visible">True</property>
-+ <property name="can_focus">True</property>
-+ <property name="climb_rate">1</property>
-+ <property name="digits">0</property>
-+ <property name="numeric">True</property>
-+ <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-+ <property name="snap_to_ticks">False</property>
-+ <property name="wrap">False</property>
-+ <property name="adjustment">1 1 36 1 10 10</property>
-+ </widget>
-+ <packing>
-+ <property name="padding">0</property>
-+ <property name="expand">True</property>
-+ <property name="fill">True</property>
-+ </packing>
-+ </child>
-+ </widget>
-+ <packing>
-+ <property name="padding">0</property>
-+ <property name="expand">False</property>
-+ <property name="fill">False</property>
-+ </packing>
-+ </child>
-+
-+ <child>
-+ <widget class="GtkLabel" id="workspaces_label">
-+ <property name="visible">True</property>
-+ <property name="label" translatable="yes">Workspace na_mes:</property>
-+ <property name="use_underline">True</property>
-+ <property name="use_markup">False</property>
-+ <property name="justify">GTK_JUSTIFY_LEFT</property>
-+ <property name="wrap">False</property>
-+ <property name="selectable">False</property>
-+ <property name="xalign">0</property>
-+ <property name="yalign">0.5</property>
-+ <property name="xpad">0</property>
-+ <property name="ypad">0</property>
-+ <property name="mnemonic_widget">workspaces_tree_view</property>
-+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-+ <property name="width_chars">-1</property>
-+ <property name="single_line_mode">False</property>
-+ <property name="angle">0</property>
-+ </widget>
-+ <packing>
-+ <property name="padding">0</property>
-+ <property name="expand">False</property>
-+ <property name="fill">False</property>
-+ </packing>
-+ </child>
-+
-+ <child>
-+ <widget class="GtkScrolledWindow" id="scrolledwindow1">
-+ <property name="height_request">100</property>
-+ <property name="visible">True</property>
-+ <property name="can_focus">True</property>
-+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-+ <property name="shadow_type">GTK_SHADOW_IN</property>
-+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-+
-+ <child>
-+ <widget class="GtkTreeView" id="workspaces_tree_view">
-+ <property name="visible">True</property>
-+ <property name="tooltip" translatable="yes">Workspace Names</property>
-+ <property name="can_focus">True</property>
-+ <property name="headers_visible">False</property>
-+ <property name="rules_hint">False</property>
-+ <property name="reorderable">False</property>
-+ <property name="enable_search">True</property>
-+ <property name="fixed_height_mode">False</property>
-+ <property name="hover_selection">False</property>
-+ <property name="hover_expand">False</property>
-+ </widget>
-+ </child>
- </widget>
- <packing>
- <property name="padding">0</property>
-@@ -221,6 +466,25 @@
- <property name="fill">True</property>
- </packing>
- </child>
-+
-+ <child>
-+ <widget class="GtkCheckButton" id="workspace_name_toggle">
-+ <property name="visible">True</property>
-+ <property name="can_focus">True</property>
-+ <property name="label" translatable="yes">Show workspace _names in switcher</property>
-+ <property name="use_underline">True</property>
-+ <property name="relief">GTK_RELIEF_NORMAL</property>
-+ <property name="focus_on_click">True</property>
-+ <property name="active">False</property>
-+ <property name="inconsistent">False</property>
-+ <property name="draw_indicator">True</property>
-+ </widget>
-+ <packing>
-+ <property name="padding">0</property>
-+ <property name="expand">False</property>
-+ <property name="fill">False</property>
-+ </packing>
-+ </child>
- </widget>
- <packing>
- <property name="padding">0</property>
-@@ -244,22 +508,45 @@
- </child>
- </widget>
- <packing>
-- <property name="padding">0</property>
-- <property name="expand">False</property>
-- <property name="fill">True</property>
-+ <property name="tab_expand">False</property>
-+ <property name="tab_fill">True</property>
- </packing>
- </child>
-
- <child>
-- <widget class="GtkVBox" id="vbox4">
-+ <widget class="GtkLabel" id="label7">
-+ <property name="visible">True</property>
-+ <property name="label" translatable="yes">label7</property>
-+ <property name="use_underline">False</property>
-+ <property name="use_markup">False</property>
-+ <property name="justify">GTK_JUSTIFY_LEFT</property>
-+ <property name="wrap">False</property>
-+ <property name="selectable">False</property>
-+ <property name="xalign">0.5</property>
-+ <property name="yalign">0.5</property>
-+ <property name="xpad">0</property>
-+ <property name="ypad">0</property>
-+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-+ <property name="width_chars">-1</property>
-+ <property name="single_line_mode">False</property>
-+ <property name="angle">0</property>
-+ </widget>
-+ <packing>
-+ <property name="type">tab</property>
-+ </packing>
-+ </child>
-+
-+ <child>
-+ <widget class="GtkVBox" id="viewport-child">
-+ <property name="border_width">6</property>
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
-- <widget class="GtkLabel" id="label6">
-+ <widget class="GtkLabel" id="label9">
- <property name="visible">True</property>
-- <property name="label" translatable="yes">&lt;b&gt;Workspaces&lt;/b&gt;</property>
-+ <property name="label" translatable="yes">&lt;b&gt;Desktop Size&lt;/b&gt;</property>
- <property name="use_underline">False</property>
- <property name="use_markup">True</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
-@@ -269,6 +556,10 @@
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
-+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-+ <property name="width_chars">-1</property>
-+ <property name="single_line_mode">False</property>
-+ <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
-@@ -278,13 +569,13 @@
- </child>
-
- <child>
-- <widget class="GtkHBox" id="hbox8">
-+ <widget class="GtkHBox" id="hbox11">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
-- <widget class="GtkLabel" id="label7">
-+ <widget class="GtkLabel" id="label10">
- <property name="visible">True</property>
- <property name="label" translatable="yes"> </property>
- <property name="use_underline">False</property>
-@@ -296,6 +587,10 @@
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
-+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-+ <property name="width_chars">-1</property>
-+ <property name="single_line_mode">False</property>
-+ <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
-@@ -305,129 +600,178 @@
- </child>
-
- <child>
-- <widget class="GtkVBox" id="vbox1">
-+ <widget class="GtkVBox" id="vbox7">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
-- <widget class="GtkHBox" id="hbox4">
-+ <widget class="GtkTable" id="table1">
- <property name="visible">True</property>
-+ <property name="n_rows">2</property>
-+ <property name="n_columns">3</property>
- <property name="homogeneous">False</property>
-- <property name="spacing">12</property>
-+ <property name="row_spacing">6</property>
-+ <property name="column_spacing">6</property>
-
- <child>
-- <widget class="GtkLabel" id="num_workspaces_label">
-+ <widget class="GtkLabel" id="label11">
- <property name="visible">True</property>
-- <property name="label" translatable="yes">Number of _workspaces:</property>
-- <property name="use_underline">True</property>
-+ <property name="label" translatable="yes">Width:</property>
-+ <property name="use_underline">False</property>
- <property name="use_markup">False</property>
-- <property name="justify">GTK_JUSTIFY_CENTER</property>
-+ <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
-- <property name="mnemonic_widget">num_workspaces_spin</property>
-+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-+ <property name="width_chars">-1</property>
-+ <property name="single_line_mode">False</property>
-+ <property name="angle">0</property>
- </widget>
- <packing>
-- <property name="padding">0</property>
-- <property name="expand">False</property>
-- <property name="fill">False</property>
-+ <property name="left_attach">0</property>
-+ <property name="right_attach">1</property>
-+ <property name="top_attach">0</property>
-+ <property name="bottom_attach">1</property>
-+ <property name="x_options">fill</property>
-+ <property name="y_options"></property>
-+ </packing>
-+ </child>
-+
-+ <child>
-+ <widget class="GtkLabel" id="label12">
-+ <property name="visible">True</property>
-+ <property name="label" translatable="yes">Height:</property>
-+ <property name="use_underline">False</property>
-+ <property name="use_markup">False</property>
-+ <property name="justify">GTK_JUSTIFY_LEFT</property>
-+ <property name="wrap">False</property>
-+ <property name="selectable">False</property>
-+ <property name="xalign">0</property>
-+ <property name="yalign">0.5</property>
-+ <property name="xpad">0</property>
-+ <property name="ypad">0</property>
-+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-+ <property name="width_chars">-1</property>
-+ <property name="single_line_mode">False</property>
-+ <property name="angle">0</property>
-+ </widget>
-+ <packing>
-+ <property name="left_attach">0</property>
-+ <property name="right_attach">1</property>
-+ <property name="top_attach">1</property>
-+ <property name="bottom_attach">2</property>
-+ <property name="x_options">fill</property>
-+ <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
-- <widget class="GtkSpinButton" id="num_workspaces_spin">
-+ <widget class="GtkLabel" id="label13">
-+ <property name="visible">True</property>
-+ <property name="label" translatable="yes">columns</property>
-+ <property name="use_underline">False</property>
-+ <property name="use_markup">False</property>
-+ <property name="justify">GTK_JUSTIFY_LEFT</property>
-+ <property name="wrap">False</property>
-+ <property name="selectable">False</property>
-+ <property name="xalign">0</property>
-+ <property name="yalign">0.5</property>
-+ <property name="xpad">0</property>
-+ <property name="ypad">0</property>
-+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-+ <property name="width_chars">-1</property>
-+ <property name="single_line_mode">False</property>
-+ <property name="angle">0</property>
-+ </widget>
-+ <packing>
-+ <property name="left_attach">2</property>
-+ <property name="right_attach">3</property>
-+ <property name="top_attach">0</property>
-+ <property name="bottom_attach">1</property>
-+ <property name="x_options">fill</property>
-+ <property name="y_options"></property>
-+ </packing>
-+ </child>
-+
-+ <child>
-+ <widget class="GtkLabel" id="label14">
-+ <property name="visible">True</property>
-+ <property name="label" translatable="yes">rows</property>
-+ <property name="use_underline">False</property>
-+ <property name="use_markup">False</property>
-+ <property name="justify">GTK_JUSTIFY_LEFT</property>
-+ <property name="wrap">False</property>
-+ <property name="selectable">False</property>
-+ <property name="xalign">0</property>
-+ <property name="yalign">0.5</property>
-+ <property name="xpad">0</property>
-+ <property name="ypad">0</property>
-+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-+ <property name="width_chars">-1</property>
-+ <property name="single_line_mode">False</property>
-+ <property name="angle">0</property>
-+ </widget>
-+ <packing>
-+ <property name="left_attach">2</property>
-+ <property name="right_attach">3</property>
-+ <property name="top_attach">1</property>
-+ <property name="bottom_attach">2</property>
-+ <property name="x_options">fill</property>
-+ <property name="y_options"></property>
-+ </packing>
-+ </child>
-+
-+ <child>
-+ <widget class="GtkSpinButton" id="width-spinbutton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="climb_rate">1</property>
- <property name="digits">0</property>
-- <property name="numeric">True</property>
-+ <property name="numeric">False</property>
- <property name="update_policy">GTK_UPDATE_ALWAYS</property>
- <property name="snap_to_ticks">False</property>
- <property name="wrap">False</property>
-- <property name="adjustment">1 1 36 1 10 10</property>
-+ <property name="adjustment">1 0 100 1 10 10</property>
- </widget>
- <packing>
-- <property name="padding">0</property>
-- <property name="expand">True</property>
-- <property name="fill">True</property>
-+ <property name="left_attach">1</property>
-+ <property name="right_attach">2</property>
-+ <property name="top_attach">0</property>
-+ <property name="bottom_attach">1</property>
-+ <property name="x_options">fill</property>
-+ <property name="y_options"></property>
- </packing>
- </child>
-- </widget>
-- <packing>
-- <property name="padding">0</property>
-- <property name="expand">False</property>
-- <property name="fill">False</property>
-- </packing>
-- </child>
--
-- <child>
-- <widget class="GtkLabel" id="workspaces_label">
-- <property name="visible">True</property>
-- <property name="label" translatable="yes">Workspace na_mes:</property>
-- <property name="use_underline">True</property>
-- <property name="use_markup">False</property>
-- <property name="justify">GTK_JUSTIFY_LEFT</property>
-- <property name="wrap">False</property>
-- <property name="selectable">False</property>
-- <property name="xalign">0</property>
-- <property name="yalign">0.5</property>
-- <property name="xpad">0</property>
-- <property name="ypad">0</property>
-- <property name="mnemonic_widget">workspaces_tree_view</property>
-- </widget>
-- <packing>
-- <property name="padding">0</property>
-- <property name="expand">False</property>
-- <property name="fill">False</property>
-- </packing>
-- </child>
--
-- <child>
-- <widget class="GtkScrolledWindow" id="scrolledwindow1">
-- <property name="height_request">100</property>
-- <property name="visible">True</property>
-- <property name="can_focus">True</property>
-- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-- <property name="shadow_type">GTK_SHADOW_IN</property>
-- <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
- <child>
-- <widget class="GtkTreeView" id="workspaces_tree_view">
-+ <widget class="GtkSpinButton" id="height-spinbutton">
- <property name="visible">True</property>
-- <property name="tooltip" translatable="yes">Workspace Names</property>
- <property name="can_focus">True</property>
-- <property name="headers_visible">False</property>
-- <property name="rules_hint">False</property>
-- <property name="reorderable">False</property>
-- <property name="enable_search">True</property>
-+ <property name="climb_rate">1</property>
-+ <property name="digits">0</property>
-+ <property name="numeric">False</property>
-+ <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-+ <property name="snap_to_ticks">False</property>
-+ <property name="wrap">False</property>
-+ <property name="adjustment">1 0 100 1 10 10</property>
- </widget>
-+ <packing>
-+ <property name="left_attach">1</property>
-+ <property name="right_attach">2</property>
-+ <property name="top_attach">1</property>
-+ <property name="bottom_attach">2</property>
-+ <property name="x_options">fill</property>
-+ <property name="y_options"></property>
-+ </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
-- <property name="expand">True</property>
-- <property name="fill">True</property>
-- </packing>
-- </child>
--
-- <child>
-- <widget class="GtkCheckButton" id="workspace_name_toggle">
-- <property name="visible">True</property>
-- <property name="can_focus">True</property>
-- <property name="label" translatable="yes">Show workspace _names in switcher</property>
-- <property name="use_underline">True</property>
-- <property name="relief">GTK_RELIEF_NORMAL</property>
-- <property name="active">False</property>
-- <property name="inconsistent">False</property>
-- <property name="draw_indicator">True</property>
-- </widget>
-- <packing>
-- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
-@@ -448,9 +792,31 @@
- </child>
- </widget>
- <packing>
-- <property name="padding">0</property>
-- <property name="expand">True</property>
-- <property name="fill">True</property>
-+ <property name="tab_expand">False</property>
-+ <property name="tab_fill">True</property>
-+ </packing>
-+ </child>
-+
-+ <child>
-+ <widget class="GtkLabel" id="label8">
-+ <property name="visible">True</property>
-+ <property name="label" translatable="yes">label8</property>
-+ <property name="use_underline">False</property>
-+ <property name="use_markup">False</property>
-+ <property name="justify">GTK_JUSTIFY_LEFT</property>
-+ <property name="wrap">False</property>
-+ <property name="selectable">False</property>
-+ <property name="xalign">0.5</property>
-+ <property name="yalign">0.5</property>
-+ <property name="xpad">0</property>
-+ <property name="ypad">0</property>
-+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-+ <property name="width_chars">-1</property>
-+ <property name="single_line_mode">False</property>
-+ <property name="angle">0</property>
-+ </widget>
-+ <packing>
-+ <property name="type">tab</property>
- </packing>
- </child>
- </widget>