diff options
Diffstat (limited to 'panel-padding.patch')
-rw-r--r-- | panel-padding.patch | 343 |
1 files changed, 343 insertions, 0 deletions
diff --git a/panel-padding.patch b/panel-padding.patch new file mode 100644 index 0000000..90dad4b --- /dev/null +++ b/panel-padding.patch @@ -0,0 +1,343 @@ +diff -up gnome-panel-2.28.0/gnome-panel/panel-profile.c.panel-padding gnome-panel-2.28.0/gnome-panel/panel-profile.c +--- gnome-panel-2.28.0/gnome-panel/panel-profile.c.panel-padding 2009-09-21 12:29:33.000000000 -0400 ++++ gnome-panel-2.28.0/gnome-panel/panel-profile.c 2009-10-29 09:57:25.285484907 -0400 +@@ -638,6 +638,7 @@ TOPLEVEL_IS_WRITABLE_FUNC ("orientation" + + TOPLEVEL_GET_SET_FUNCS ("size", toplevel, int, size, int) + TOPLEVEL_GET_SET_FUNCS ("expand", toplevel, bool, expand, gboolean) ++TOPLEVEL_GET_SET_FUNCS ("padding", toplevel, int, padding, int) + TOPLEVEL_GET_SET_FUNCS ("auto_hide", toplevel, bool, auto_hide, gboolean) + TOPLEVEL_GET_SET_FUNCS ("enable_buttons", toplevel, bool, enable_buttons, gboolean) + TOPLEVEL_GET_SET_FUNCS ("enable_arrows", toplevel, bool, enable_arrows, gboolean) +@@ -1185,6 +1186,7 @@ panel_profile_toplevel_change_notify (GC + else UPDATE_INT ("monitor", monitor) + else UPDATE_STRING ("name", name) + else UPDATE_BOOL ("expand", expand) ++ else UPDATE_INT ("padding", padding) + else UPDATE_STRING ("orientation", orientation) + else UPDATE_INT ("size", size) + else UPDATE_POS ("x", x, x_right) +@@ -1706,6 +1708,7 @@ panel_profile_load_toplevel (GConfClient + GET_STRING ("name", name); + GET_INT ("monitor", monitor); + GET_BOOL ("expand", expand); ++ GET_INT ("padding", padding); + GET_STRING ("orientation", orientation); + GET_INT ("size", size); + GET_BOOL ("auto_hide", auto_hide); +diff -up gnome-panel-2.28.0/gnome-panel/panel-profile.h.panel-padding gnome-panel-2.28.0/gnome-panel/panel-profile.h +--- gnome-panel-2.28.0/gnome-panel/panel-profile.h.panel-padding 2009-04-19 13:45:09.000000000 -0400 ++++ gnome-panel-2.28.0/gnome-panel/panel-profile.h 2009-10-29 09:57:25.285484907 -0400 +@@ -92,7 +92,10 @@ void panel_profile_set_toplevel_e + gboolean expand); + gboolean panel_profile_get_toplevel_expand (PanelToplevel *toplevel); + gboolean panel_profile_is_writable_toplevel_expand (PanelToplevel *toplevel); +- ++void panel_profile_set_toplevel_padding (PanelToplevel *toplevel, ++ int padding); ++int panel_profile_get_toplevel_padding (PanelToplevel *padding); ++gboolean panel_profile_is_writable_toplevel_padding (PanelToplevel *toplevel); + void panel_profile_set_toplevel_auto_hide (PanelToplevel *toplevel, + gboolean auto_hide); + gboolean panel_profile_get_toplevel_auto_hide (PanelToplevel *toplevel); +diff -up gnome-panel-2.28.0/gnome-panel/panel-toplevel.c.panel-padding gnome-panel-2.28.0/gnome-panel/panel-toplevel.c +--- gnome-panel-2.28.0/gnome-panel/panel-toplevel.c.panel-padding 2009-08-21 06:31:49.000000000 -0400 ++++ gnome-panel-2.28.0/gnome-panel/panel-toplevel.c 2009-10-29 09:57:25.287500667 -0400 +@@ -79,6 +79,7 @@ struct _PanelToplevelPrivate { + gboolean expand; + PanelOrientation orientation; + int size; ++ int padding; + + /* relative to the monitor origin */ + int x; +@@ -213,6 +214,7 @@ enum { + PROP_0, + PROP_NAME, + PROP_EXPAND, ++ PROP_PADDING, + PROP_ORIENTATION, + PROP_SIZE, + PROP_X, +@@ -3862,6 +3864,9 @@ panel_toplevel_set_property (GObject + case PROP_EXPAND: + panel_toplevel_set_expand (toplevel, g_value_get_boolean (value)); + break; ++ case PROP_PADDING: ++ panel_toplevel_set_padding (toplevel, g_value_get_int (value)); ++ break; + case PROP_ORIENTATION: + panel_toplevel_set_orientation (toplevel, g_value_get_enum (value)); + break; +@@ -3956,6 +3961,9 @@ panel_toplevel_get_property (GObject + case PROP_EXPAND: + g_value_set_boolean (value, toplevel->priv->expand); + break; ++ case PROP_PADDING: ++ g_value_set_int (value, toplevel->priv->padding); ++ break; + case PROP_ORIENTATION: + g_value_set_enum (value, toplevel->priv->orientation); + break; +@@ -4118,6 +4126,18 @@ panel_toplevel_class_init (PanelToplevel + + g_object_class_install_property ( + gobject_class, ++ PROP_PADDING, ++ g_param_spec_int ( ++ "padding", ++ "Padding", ++ "Padding that is inserted between objects", ++ 0, ++ G_MAXINT, ++ 0, ++ G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); ++ ++ g_object_class_install_property ( ++ gobject_class, + PROP_ORIENTATION, + g_param_spec_enum ( + "orientation", +@@ -4698,6 +4718,30 @@ panel_toplevel_get_expand (PanelToplevel + return toplevel->priv->expand; + } + ++void ++panel_toplevel_set_padding (PanelToplevel *toplevel, ++ int padding) ++{ ++ g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel)); ++ ++ if (toplevel->priv->padding == padding) ++ return; ++ ++ toplevel->priv->padding = padding; ++ ++ gtk_widget_queue_resize (GTK_WIDGET (toplevel)); ++ ++ g_object_notify (G_OBJECT (toplevel), "padding"); ++} ++ ++int ++panel_toplevel_get_padding (PanelToplevel *toplevel) ++{ ++ g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), 0); ++ ++ return toplevel->priv->padding; ++} ++ + gboolean + panel_toplevel_get_is_floating (PanelToplevel *toplevel) + { +diff -up gnome-panel-2.28.0/gnome-panel/panel-toplevel.h.panel-padding gnome-panel-2.28.0/gnome-panel/panel-toplevel.h +--- gnome-panel-2.28.0/gnome-panel/panel-toplevel.h.panel-padding 2009-08-19 11:28:09.000000000 -0400 ++++ gnome-panel-2.28.0/gnome-panel/panel-toplevel.h 2009-10-29 09:57:25.288484940 -0400 +@@ -83,6 +83,9 @@ G_CONST_RETURN char *panel_toplevel_get_ + void panel_toplevel_set_expand (PanelToplevel *toplevel, + gboolean expand); + gboolean panel_toplevel_get_expand (PanelToplevel *toplevel); ++void panel_toplevel_set_padding (PanelToplevel *toplevel, ++ int padding); ++int panel_toplevel_get_padding (PanelToplevel *toplevel); + void panel_toplevel_set_orientation (PanelToplevel *toplevel, + PanelOrientation orientation); + PanelOrientation panel_toplevel_get_orientation (PanelToplevel *toplevel); +diff -up gnome-panel-2.28.0/gnome-panel/panel-toplevel.schemas.in.panel-padding gnome-panel-2.28.0/gnome-panel/panel-toplevel.schemas.in +--- gnome-panel-2.28.0/gnome-panel/panel-toplevel.schemas.in.panel-padding 2009-07-01 09:06:23.000000000 -0400 ++++ gnome-panel-2.28.0/gnome-panel/panel-toplevel.schemas.in 2009-10-29 09:57:25.288484940 -0400 +@@ -103,6 +103,19 @@ + </schema> + + <schema> ++ <key>/schemas/apps/panel/toplevels/padding</key> ++ <owner>panel</owner> ++ <type>int</type> ++ <default>0</default> ++ <locale name="C"> ++ <short>Padding</short> ++ <long> ++ Padding that will be inserted between objects on this panel. ++ </long> ++ </locale> ++ </schema> ++ ++ <schema> + <key>/schemas/apps/panel/toplevels/x</key> + <owner>panel</owner> + <type>int</type> +diff -up gnome-panel-2.28.0/gnome-panel/panel-widget.c.panel-padding gnome-panel-2.28.0/gnome-panel/panel-widget.c +--- gnome-panel-2.28.0/gnome-panel/panel-widget.c.panel-padding 2009-08-11 07:32:38.000000000 -0400 ++++ gnome-panel-2.28.0/gnome-panel/panel-widget.c 2009-10-29 10:10:43.531226534 -0400 +@@ -710,9 +710,12 @@ panel_widget_switch_applet_right (PanelW + { + AppletData *ad; + AppletData *nad = NULL; +- ++ gint padding; ++ + g_assert (list != NULL); + ++ padding = panel_toplevel_get_padding (panel->toplevel); ++ + ad = list->data; + if (ad->constrained + ad->min_cells >= panel->size) + return; +@@ -720,8 +723,8 @@ panel_widget_switch_applet_right (PanelW + if (list->next) + nad = list->next->data; + +- if (!nad || nad->constrained >= ad->constrained + ad->min_cells + MOVE_INCREMENT) { +- ad->pos = ad->constrained += MOVE_INCREMENT; ++ if (!nad || nad->constrained >= ad->constrained + ad->min_cells + MOVE_INCREMENT + padding) { ++ ad->pos = ad->constrained += MOVE_INCREMENT + padding; + gtk_widget_queue_resize (GTK_WIDGET (panel)); + emit_applet_moved (panel, ad); + return; +@@ -786,6 +789,9 @@ panel_widget_switch_applet_left (PanelWi + { + AppletData *ad; + AppletData *pad = NULL; ++ gint padding; ++ ++ padding = panel_toplevel_get_padding (panel->toplevel); + + ad = list->data; + if (ad->constrained <= 0) +@@ -794,8 +800,8 @@ panel_widget_switch_applet_left (PanelWi + if (list->prev) + pad = list->prev->data; + +- if (!pad || pad->constrained + pad->min_cells <= ad->constrained - MOVE_INCREMENT) { +- ad->pos = ad->constrained -= MOVE_INCREMENT; ++ if (!pad || pad->constrained + pad->min_cells <= ad->constrained - MOVE_INCREMENT - padding) { ++ ad->pos = ad->constrained -= MOVE_INCREMENT + padding; + gtk_widget_queue_resize (GTK_WIDGET (panel)); + emit_applet_moved (panel, ad); + return; +@@ -874,15 +880,18 @@ panel_widget_get_right_switch_pos (Panel + { + AppletData *ad; + AppletData *nad = NULL; ++ gint padding; + + g_assert (list != NULL); + ++ padding = panel_toplevel_get_padding (panel->toplevel); ++ + ad = list->data; + if (list->next) + nad = list->next->data; + +- if (!nad || nad->constrained >= ad->constrained + ad->min_cells + MOVE_INCREMENT) +- return ad->constrained + MOVE_INCREMENT; ++ if (!nad || nad->constrained >= ad->constrained + ad->min_cells + MOVE_INCREMENT + padding) ++ return ad->constrained + MOVE_INCREMENT + padding; + + if (nad->locked) + return panel_widget_get_right_jump_pos (panel, +@@ -948,15 +957,18 @@ panel_widget_get_left_switch_pos (PanelW + { + AppletData *ad; + AppletData *pad = NULL; ++ gint padding; + + g_assert (list != NULL); + ++ padding = panel_toplevel_get_padding (panel->toplevel); ++ + ad = list->data; + if (list->prev) + pad = list->prev->data; + +- if (!pad || pad->constrained + pad->min_cells <= ad->constrained - MOVE_INCREMENT) +- return ad->constrained - MOVE_INCREMENT; ++ if (!pad || pad->constrained + pad->min_cells <= ad->constrained - MOVE_INCREMENT - padding) ++ return ad->constrained - MOVE_INCREMENT - padding; + + if (pad->locked) + return panel_widget_get_left_jump_pos (panel, +@@ -1195,12 +1207,15 @@ panel_widget_size_request(GtkWidget *wid + GList *list; + GList *ad_with_hints; + gboolean dont_fill; ++ gint padding; + + g_return_if_fail(PANEL_IS_WIDGET(widget)); + g_return_if_fail(requisition!=NULL); + + panel = PANEL_WIDGET(widget); + ++ padding = panel_toplevel_get_padding (panel->toplevel); ++ + if(panel->orient == GTK_ORIENTATION_HORIZONTAL) { + requisition->width = 0; + requisition->height = panel->sz; +@@ -1224,8 +1239,11 @@ panel_widget_size_request(GtkWidget *wid + ad_with_hints = g_list_prepend (ad_with_hints, + ad); + +- else if (panel->packed) ++ else if (panel->packed) { ++ if (list != panel->applet_list) ++ requisition->width += padding; + requisition->width += chreq.width; ++ } + } else { + if (requisition->width < chreq.width && !ad->size_constrained) + requisition->width = chreq.width; +@@ -1234,8 +1252,11 @@ panel_widget_size_request(GtkWidget *wid + ad_with_hints = g_list_prepend (ad_with_hints, + ad); + +- else if (panel->packed) ++ else if (panel->packed) { ++ if (list != panel->applet_list) ++ requisition->height += padding; + requisition->height += chreq.height; ++ } + } + } + +@@ -1333,12 +1354,15 @@ panel_widget_size_allocate(GtkWidget *wi + int i; + int old_size; + gboolean ltr; ++ gint padding; + + g_return_if_fail(PANEL_IS_WIDGET(widget)); + g_return_if_fail(allocation!=NULL); + + panel = PANEL_WIDGET(widget); + ++ padding = panel_toplevel_get_padding (panel->toplevel); ++ + old_size = panel->size; + ltr = gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR; + +@@ -1404,7 +1428,7 @@ panel_widget_size_allocate(GtkWidget *wi + } + ad->min_cells = ad->cells; + gtk_widget_size_allocate(ad->applet,&challoc); +- i += ad->cells; ++ i += ad->cells + padding; + } + + /* EEEEK, there might be not enough room and we don't handle +@@ -1439,7 +1463,7 @@ panel_widget_size_allocate(GtkWidget *wi + if (ad->constrained < i) + ad->constrained = i; + +- i = ad->constrained + ad->cells; ++ i = ad->constrained + ad->cells + padding; + } + + /* Now expand from the right */ +@@ -1464,7 +1488,7 @@ panel_widget_size_allocate(GtkWidget *wi + ad->cells = cells; + } + +- i = ad->constrained; ++ i = ad->constrained - padding; + } + + /* EEEEK, there's not enough room, so shift applets even |