summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mate-panel/panel-toplevel.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/mate-panel/panel-toplevel.c b/mate-panel/panel-toplevel.c
index 96084f43..79c5e3a5 100644
--- a/mate-panel/panel-toplevel.c
+++ b/mate-panel/panel-toplevel.c
@@ -2915,6 +2915,11 @@ panel_toplevel_move_resize_window (PanelToplevel *toplevel,
{
GtkWidget *widget;
+ GList *list;
+ const char *id;
+ int position;
+ gboolean stick;
+
widget = GTK_WIDGET (toplevel);
g_assert (gtk_widget_get_realized (widget));
@@ -2933,6 +2938,29 @@ panel_toplevel_move_resize_window (PanelToplevel *toplevel,
gdk_window_resize (gtk_widget_get_window (widget),
toplevel->priv->geometry.width,
toplevel->priv->geometry.height);
+
+ if(resize || move)
+ {
+ for(list = toplevel->priv->panel_widget->applet_list;list!=NULL;list = g_list_next(list))
+ {
+ AppletData *ad = list->data;
+ id = mate_panel_applet_get_id_by_widget (ad->applet);
+
+ if (!id)
+ return;
+
+ AppletInfo *info;
+ info = mate_panel_applet_get_by_id (id);
+
+ stick = g_settings_get_boolean (info->settings, PANEL_OBJECT_PANEL_RIGHT_STICK_KEY);
+
+ if(stick)
+ {
+ position = g_settings_get_int (info->settings, PANEL_OBJECT_POSITION_KEY);
+ ad->pos = toplevel->priv->geometry.width - position;
+ }
+ }
+ }
}
static void