Updating branch refs/heads/master
         to cf255cb4dffd80d4dea7a5d9a4495d9d2d54009b (commit)
       from 7ee37205b7cc23156e9d02b1622adaa193a96b2b (commit)

commit cf255cb4dffd80d4dea7a5d9a4495d9d2d54009b
Author: Andre Ellguth <an...@ellguth.com>
Date:   Fri Oct 11 17:39:36 2013 +0200

    Disabled the posibilty to drag the dockapp by pressing the ALT key.
    Enabled motion dragging for smaller dockapps (less than 64 pixels).

 panel-plugin/catchwindow.c |    5 +-
 panel-plugin/dockapp.c     |  232 ++++++++++++++++++++++----------------------
 panel-plugin/dockapp.h     |    3 -
 panel-plugin/rcfile.c      |   25 ++---
 panel-plugin/rcfile.h      |    3 +
 5 files changed, 132 insertions(+), 136 deletions(-)

diff --git a/panel-plugin/catchwindow.c b/panel-plugin/catchwindow.c
index 28559b2..a0926bf 100644
--- a/panel-plugin/catchwindow.c
+++ b/panel-plugin/catchwindow.c
@@ -232,11 +232,8 @@ void wmdock_window_open(WnckScreen *s, WnckWindow *w)
                if( IS_PANELOFF(wmdock) ) {
                        
wmdock_order_dockapps(wmdock_get_primary_anchor_dockapp());
 
-                       /* Setup the event handler for the window. */
+                       /* Setup the event-after handler for the window. */
                        g_signal_connect(G_OBJECT(dapp->tile), "event-after", 
G_CALLBACK(wmdock_dockapp_event_after_handler), dapp);
-                       g_signal_connect(G_OBJECT(dapp->tile), 
"motion_notify_event", G_CALLBACK(wmdock_dockapp_motion_notify_handler), dapp);
-                       g_signal_connect(G_OBJECT(dapp->tile), 
"button_press_event", G_CALLBACK(wmdock_dockapp_button_press_handler), dapp);
-                       g_signal_connect(G_OBJECT(dapp->tile), 
"button_release_event", G_CALLBACK(wmdock_dockapp_button_release_handler), 
dapp);
                }
                /* Clear the noisy background. */
                wmdock_redraw_dockapp(dapp);
diff --git a/panel-plugin/dockapp.c b/panel-plugin/dockapp.c
index e6f4aaa..2f5f448 100644
--- a/panel-plugin/dockapp.c
+++ b/panel-plugin/dockapp.c
@@ -248,6 +248,95 @@ static gboolean wmdock_replace_tile_dummy(DockappNode 
*dapp)
 }
 
 
+/**
+ * Event handle for the tile in panel off mode (button_press)
+ *
+ * @param tile The window of the event.
+ * @param ev GdkEventButton.
+ * @param dapp DockAppNode of the event.
+ */
+static void wmdock_dockapp_button_press_handler(GtkWidget *window, 
GdkEventButton *ev, DockappNode *dapp)
+{
+       debug("dockapp.c: Window button press event (dapp: `%s')", dapp->name);
+       dappOnMotion = dapp;
+       motionstartx = (gint) ev->x;
+       motionstarty = (gint) ev->y;
+       gtk_window_set_keep_above(GTK_WINDOW(dapp->tile), TRUE);
+       gtk_window_set_keep_below(GTK_WINDOW(dapp->tile), FALSE);
+}
+
+
+/**
+ * Event handle for the tile in panel off mode (button_release)
+ *
+ * @param tile The window of the event.
+ * @param ev GdkEventButton.
+ * @param dapp DockAppNode of the event.
+ */
+static void wmdock_dockapp_button_release_handler(GtkWidget *window, 
GdkEventButton *ev, DockappNode *dapp)
+{
+       debug("dockapp.c: Window button release event (dapp: `%s')", 
dapp->name);
+       if(wmdock_replace_tile_dummy(dapp) == TRUE) {
+               debug("dockapp.c: Replaceable dummy tile found.");
+               wmdock_order_dockapps(wmdock_get_primary_anchor_dockapp() ? 
wmdock_get_primary_anchor_dockapp() : dapp);
+       } else {
+               wmdock_remove_anchors_tile_dummy();
+               wmdock_set_autoposition_dockapp(dapp, 
wmdock_get_parent_dockapp(dapp));
+       }
+       if(dappDummy) {
+               gtk_widget_hide(dappDummy->tile);
+       }
+
+       dappOnMotion = NULL;
+       gtk_window_set_keep_above(GTK_WINDOW(dapp->tile), FALSE);
+       gtk_window_set_keep_below(GTK_WINDOW(dapp->tile), TRUE);
+}
+
+
+/**
+ * Event handle for the tile in panel off mode (motion_notify)
+ *
+ * @param tile The window of the event.
+ * @param ev GdkEventButton.
+ * @param dapp DockAppNode of the event.
+ */
+static void wmdock_dockapp_motion_notify_handler(GtkWidget *window, 
GdkEventMotion *ev, DockappNode *dapp)
+{
+       gint gluepos, x, y, posx, posy;
+       DockappNode *dappSnap = NULL;
+       GdkModifierType m;
+
+       debug("dockapp.c: Window motion notify event (dapp: `%s')", dapp->name);
+
+       gdk_window_get_pointer(dapp->tile->window, &x, &y, &m);
+       if(window && dappOnMotion && (m & GDK_BUTTON1_MASK)) {
+               gtk_window_get_position(GTK_WINDOW(dapp->tile), &posx, &posy);
+               debug("dockapp.c: Mouse x: %d,  Mouse y: %d,  Dapp x: %d, Dapp 
y: %d,  Msx: %d,  Msy: %d",
+                               x, y, posx, posy, motionstartx, motionstarty);
+               gtk_window_move(GTK_WINDOW(dapp->tile), posx - (motionstartx - 
x), posy - (motionstarty - y));
+       }
+
+       if(dappOnMotion == dapp) {
+               wmdock_remove_anchors_tile_dummy();
+               dappSnap = wmdock_get_snapable_dockapp(dapp, &gluepos);
+               if(dappSnap) {
+                       debug("dockapp.c: Snapable dockapp `%s' for dockapp 
`%s', glue: %d.", dappSnap->name, dapp->name, gluepos);
+                       if(!dappDummy) {
+                               dappDummy = g_new0(DockappNode, 1);
+                               dappDummy->name = g_strdup(DOCKAPP_DUMMY_TITLE);
+                               dappDummy->tile = wmdock_create_tile_dummy();
+                       }
+
+                       dappSnap->glue[gluepos] = dappDummy;
+                       wmdock_order_dockapps(dappDummy);
+                       gtk_widget_show_all(dappDummy->tile);
+               } else if(dappDummy) {
+                       gtk_widget_hide(dappDummy->tile);
+               }
+       }
+}
+
+
 /* Return the translation from glue int postion to glue name.
  *
  * @param gluePos Position to be translated.
@@ -342,122 +431,17 @@ DockappNode *wmdock_get_primary_anchor_dockapp()
 
 
 /**
- * Event handle for the tile in panel off mode (button_press)
- *
- * @param tile The window of the event.
- * @param ev GdkEventButton.
- * @param dapp DockAppNode of the event.
- */
-void wmdock_dockapp_button_press_handler(GtkWidget *tile, GdkEventButton *ev, 
DockappNode *dapp)
-{
-       debug("dockapp.c: Window button press event (dapp: `%s')", dapp->name);
-       dappOnMotion = dapp;
-       motionstartx = (gint) ev->x;
-       motionstarty = (gint) ev->y;
-       gtk_window_set_keep_above(GTK_WINDOW(dapp->tile), TRUE);
-}
-
-
-/**
- * Event handle for the tile in panel off mode (button_release)
- *
- * @param tile The window of the event.
- * @param ev GdkEventButton.
- * @param dapp DockAppNode of the event.
- */
-void wmdock_dockapp_button_release_handler(GtkWidget *tile, GdkEventButton 
*ev, DockappNode *dapp)
-{
-       debug("dockapp.c: Window button release event (dapp: `%s')", 
dapp->name);
-       if(wmdock_replace_tile_dummy(dapp) == TRUE) {
-               debug("dockapp.c: Replaceable dummy tile found.");
-               wmdock_order_dockapps(wmdock_get_primary_anchor_dockapp() ? 
wmdock_get_primary_anchor_dockapp() : dapp);
-       } else {
-               wmdock_remove_anchors_tile_dummy();
-               wmdock_set_autoposition_dockapp(dapp, 
wmdock_get_parent_dockapp(dapp));
-       }
-       if(dappDummy) {
-               gtk_widget_hide(dappDummy->tile);
-       }
-
-       dappOnMotion = NULL;
-       gtk_window_set_keep_above(GTK_WINDOW(dapp->tile), FALSE);
-}
-
-
-/**
- * Event handle for the tile in panel off mode (motion_notify)
- *
- * @param tile The window of the event.
- * @param ev GdkEventButton.
- * @param dapp DockAppNode of the event.
- */
-void wmdock_dockapp_motion_notify_handler(GtkWidget *tile, GdkEventMotion *ev, 
DockappNode *dapp)
-{
-       gint gluepos, x, y, posx, posy;
-       DockappNode *dappSnap = NULL;
-       GdkModifierType m;
-
-       debug("dockapp.c: Window motion notify event (dapp: `%s')", dapp->name);
-
-       gdk_window_get_pointer(dapp->tile->window, &x, &y, &m);
-       if(tile && dappOnMotion && (m & GDK_BUTTON1_MASK)) {
-               gtk_window_get_position(GTK_WINDOW(dapp->tile), &posx, &posy);
-               debug("dockapp.c: Mouse x: %d,  Mouse y: %d,  Dapp x: %d, Dapp 
y: %d,  Msx: %d,  Msy: %d",
-                               x, y, posx, posy, motionstartx, motionstarty);
-               gtk_window_move(GTK_WINDOW(dapp->tile), posx - (motionstartx - 
x), posy - (motionstarty - y));
-       }
-
-       if(dappOnMotion == dapp) {
-               wmdock_remove_anchors_tile_dummy();
-               dappSnap = wmdock_get_snapable_dockapp(dapp, &gluepos);
-               if(dappSnap) {
-                       debug("dockapp.c: Snapable dockapp `%s' for dockapp 
`%s', glue: %d.", dappSnap->name, dapp->name, gluepos);
-                       if(!dappDummy) {
-                               dappDummy = g_new0(DockappNode, 1);
-                               dappDummy->name = g_strdup(DOCKAPP_DUMMY_TITLE);
-                               dappDummy->tile = wmdock_create_tile_dummy();
-                       }
-
-                       dappSnap->glue[gluepos] = dappDummy;
-                       wmdock_order_dockapps(dappDummy);
-                       gtk_widget_show_all(dappDummy->tile);
-               } else if(dappDummy) {
-                       gtk_widget_hide(dappDummy->tile);
-               }
-       }
-}
-
-
-
-/**
  * Event handler for the tile in panel off mode (event_after).
  *
  * @param tile The window of the event.
  * @param ev Event informations.
  * @param dapp DockappNode of the event.
  */
-void wmdock_dockapp_event_after_handler(GtkWidget *tile, GdkEvent *ev, 
DockappNode *dapp)
+void wmdock_dockapp_event_after_handler(GtkWidget *window, GdkEvent *ev, 
DockappNode *dapp)
 {
-       GdkModifierType m;
-
-       debug("dockapp.c: Window event after: %d. (dapp: `%s'), dappOnMove: 
%s", ev->type, dapp->name,
+       debug("dockapp.c: Window event-after: %d. (dapp: `%s'), dappOnMove: 
%s", ev->type, dapp->name,
                        dappOnMotion ? "Yes": "No");
        switch(ev->type) {
-       case GDK_CONFIGURE:
-               gdk_window_get_pointer(tile->window, NULL, NULL, &m);
-               if(!dappOnMotion && (m & GDK_BUTTON1_MASK)) {
-                       dappOnMotion = dapp;
-                       gtk_window_set_keep_above(GTK_WINDOW(dapp->tile), TRUE);
-               }
-               wmdock_dockapp_motion_notify_handler(NULL, &ev->motion, dapp);
-
-               if(!(dappOnMotion && !(m & GDK_BUTTON1_MASK)))
-                       break;
-               /* No break if DockApp is moved and mouse btn released. */
-       case GDK_BUTTON_RELEASE:
-       case GDK_KEY_RELEASE:
-               wmdock_dockapp_button_release_handler(NULL, &ev->button, dapp);
-               break;
        case GDK_FOCUS_CHANGE:
                if(ev->focus_change.in == TRUE) {
                        /* `in' is true if window window got the focus. */
@@ -500,7 +484,6 @@ GtkWidget *wmdock_create_tile_dummy()
        gtk_window_set_skip_pager_hint(GTK_WINDOW(dummy), TRUE);
        gtk_window_set_opacity(GTK_WINDOW(dummy), 0.6);
        gtk_widget_set_size_request(dummy, DEFAULT_DOCKAPP_WIDTH, 
DEFAULT_DOCKAPP_HEIGHT);
-       //      gtk_window_set_type_hint(GTK_WINDOW(dummy), 
GDK_WINDOW_TYPE_HINT_DND);
 
        return (dummy);
 }
@@ -516,8 +499,10 @@ void wmdock_dockapp_tofront(DockappNode *dapp) {
                return;
 
        if ( IS_PANELOFF(wmdock) ) {
+               gtk_window_set_keep_below(GTK_WINDOW(dapp->tile), FALSE);
                gdk_window_raise(dapp->tile->window);
                gtk_window_set_keep_above(GTK_WINDOW(dapp->tile), FALSE);
+               gtk_window_set_keep_below(GTK_WINDOW(dapp->tile), TRUE);
        }
 }
 
@@ -814,25 +799,30 @@ void wmdock_set_socket_postion(DockappNode *dapp, int x, 
int y)
 GtkWidget *wmdock_create_tile_from_socket(DockappNode *dapp)
 {
        GtkWidget *tile = NULL;
-       GtkWidget *fixed = NULL;
+       GtkWidget *_fixed = NULL;
+       GtkWidget *_evbox = NULL;
+
+       tile = _fixed = gtk_fixed_new();
+       gtk_container_set_border_width(GTK_CONTAINER(_fixed), 0);
 
-       tile = fixed = gtk_fixed_new();
-       gtk_container_set_border_width(GTK_CONTAINER(fixed), 0);
+       /* Create an internal eventbox to catch click events outside the 
socket. */
+       _evbox = gtk_event_box_new();
+       gtk_widget_set_size_request(GTK_WIDGET(_evbox), DEFAULT_DOCKAPP_WIDTH, 
DEFAULT_DOCKAPP_HEIGHT);
+       gtk_fixed_put(GTK_FIXED(_fixed), _evbox, 0, 0);
 
-       /* Create an eventbox to catch all click and motion events. */
+       /* Create an eventbox to catch to click and motion events inside the 
socket. */
        dapp->evbox = gtk_event_box_new();
        gtk_event_box_set_above_child(GTK_EVENT_BOX(dapp->evbox), FALSE);
 
        /* Add the GtkSocket with the dockapp fixed and centered. */
        gtk_container_add(GTK_CONTAINER(dapp->evbox), GTK_WIDGET(dapp->s));
-       gtk_fixed_put(GTK_FIXED(fixed), GTK_WIDGET(dapp->evbox),
+       gtk_fixed_put(GTK_FIXED(_fixed), GTK_WIDGET(dapp->evbox),
                        (DEFAULT_DOCKAPP_WIDTH - dapp->width) / 2, 
(DEFAULT_DOCKAPP_HEIGHT - dapp->height) / 2);
 
        /* Add the background tile. */
        dapp->bg = wmdock->propDispTile == TRUE ? 
gtk_image_new_from_pixbuf(gdkPbTileDefault) : gtk_image_new();
        gtk_widget_set_size_request(GTK_WIDGET(dapp->bg), 
DEFAULT_DOCKAPP_WIDTH, DEFAULT_DOCKAPP_HEIGHT);
-       gtk_fixed_put(GTK_FIXED(fixed), dapp->bg, 0, 0);
-
+       gtk_container_add(GTK_CONTAINER(_evbox), GTK_WIDGET(dapp->bg));
 
        if( IS_PANELOFF(wmdock) ) {
                /* If propDispPanelOff is true create a separate window with the
@@ -844,6 +834,10 @@ GtkWidget *wmdock_create_tile_from_socket(DockappNode 
*dapp)
                gtk_window_set_title(GTK_WINDOW(tile), dapp->name);
                gtk_window_set_default_size(GTK_WINDOW(tile), 
DEFAULT_DOCKAPP_WIDTH, DEFAULT_DOCKAPP_HEIGHT);
                gtk_container_set_border_width(GTK_CONTAINER(tile), 0);
+               /* To disable dragging by alt key. */
+               gtk_window_set_type_hint(GTK_WINDOW(tile), 
GDK_WINDOW_TYPE_HINT_DOCK);
+               gtk_window_set_keep_below(GTK_WINDOW(tile), TRUE);
+               gtk_window_set_keep_above(GTK_WINDOW(tile), FALSE);
 
                /* Disable window shrinking resizing and growing. */
                gtk_window_set_policy (GTK_WINDOW(tile), FALSE, FALSE, FALSE);
@@ -856,10 +850,14 @@ GtkWidget *wmdock_create_tile_from_socket(DockappNode 
*dapp)
                gtk_window_set_skip_taskbar_hint(GTK_WINDOW(tile), TRUE);
                gtk_window_set_skip_pager_hint(GTK_WINDOW(tile), TRUE);
 
-               gtk_container_add(GTK_CONTAINER(tile), fixed);
+               gtk_container_add(GTK_CONTAINER(tile), _fixed);
+
+               g_signal_connect(G_OBJECT(tile), "motion_notify_event", 
G_CALLBACK(wmdock_dockapp_motion_notify_handler), dapp);
+               g_signal_connect(G_OBJECT(tile), "button_press_event", 
G_CALLBACK(wmdock_dockapp_button_press_handler), dapp);
+               g_signal_connect(G_OBJECT(tile), "button_release_event", 
G_CALLBACK(wmdock_dockapp_button_release_handler), dapp);
        }
 
-       gtk_widget_show(fixed);
+       gtk_widget_show(_fixed);
 
        return (tile);
 }
diff --git a/panel-plugin/dockapp.h b/panel-plugin/dockapp.h
index 3873eec..4e5a886 100644
--- a/panel-plugin/dockapp.h
+++ b/panel-plugin/dockapp.h
@@ -68,9 +68,6 @@ DockappNode *wmdock_get_parent_dockapp(DockappNode *);
 DockappNode *wmdock_get_primary_anchor_dockapp();
 void wmdock_dockapp_tofront(DockappNode *dapp);
 void wmdock_dockapp_event_after_handler(GtkWidget *, GdkEvent *, DockappNode 
*);
-void wmdock_dockapp_button_press_handler(GtkWidget *, GdkEventButton *, 
DockappNode *);
-void wmdock_dockapp_button_release_handler(GtkWidget *, GdkEventButton *, 
DockappNode *);
-void wmdock_dockapp_motion_notify_handler(GtkWidget *, GdkEventMotion *, 
DockappNode *);
 void wmdock_remove_anchor_dockapp(DockappNode *, DockappNode *);
 void wmdock_order_dockapps(DockappNode *);
 GtkWidget *wmdock_create_tile_dummy();
diff --git a/panel-plugin/rcfile.c b/panel-plugin/rcfile.c
index 0a24da2..034908c 100644
--- a/panel-plugin/rcfile.c
+++ b/panel-plugin/rcfile.c
@@ -64,7 +64,7 @@ void wmdock_read_rc_file (XfcePanelPlugin *plugin)
        if(!rc)
                return;
 
-       rcCmds                     = xfce_rc_read_list_entry(rc, RCKEY_CMDLIST, 
";");
+       rcCmds                     = xfce_rc_read_list_entry(rc, RCKEY_CMDLIST, 
RC_LIST_DELIMITER);
        wmdock->propDispTile       = xfce_rc_read_bool_entry (rc, 
RCKEY_DISPTILE, TRUE);
        wmdock->propDispPropButton = xfce_rc_read_bool_entry (rc, 
RCKEY_DISPPROPBTN, FALSE);
        wmdock->propDispAddOnlyWM  = xfce_rc_read_bool_entry (rc, 
RCKEY_DISPADDONLYWM, TRUE);
@@ -72,7 +72,7 @@ void wmdock_read_rc_file (XfcePanelPlugin *plugin)
        wmdock->filterList         = g_strdup(xfce_rc_read_entry (rc, 
RCKEY_DAFILTER, DOCKAPP_FILTER_PATTERN));
        /* TODO: Set panel off to FALSE. */
        rcPanelOff                 = wmdock->propPanelOff = 
xfce_rc_read_bool_entry (rc, RCKEY_PANELOFF, TRUE);
-       glueList                   = IS_PANELOFF(wmdock) ? 
xfce_rc_read_list_entry(rc, RCKEY_GLUELIST, ";") : NULL;
+       glueList                   = IS_PANELOFF(wmdock) ? 
xfce_rc_read_list_entry(rc, RCKEY_GLUELIST, RC_LIST_DELIMITER) : NULL;
        wmdock->anchorPos          = xfce_rc_read_int_entry(rc, 
RCKEY_ANCHORPOS, -1);
        xfce_rc_close (rc);
 
@@ -124,17 +124,18 @@ void wmdock_read_rc_file (XfcePanelPlugin *plugin)
 
                if( IS_PANELOFF( wmdock ) && g_strv_length(rcCmds) == 
g_strv_length(glueList) ) {
                        for (i = 0; glueList[i]; i++) {
-                               if(!launched[i] || glueList[i][0] == '\0' || 
!(glueInfo = g_strsplit(glueList[i], ",", 0)))
+                               if(!launched[i] || glueList[i][0] == '\0' || 
!(glueInfo = g_strsplit(glueList[i], RC_GLUE_DELIMITER, 0)))
                                        continue;
 
+                               /* Cleanup the default anchors. */
+                               memset(launched[i]->glue, '\0', 
sizeof(DockappNode *) * GLUE_MAX);
+
                                for (j = 0; glueInfo[j]; j++) {
                                        n = g_ascii_strtoll(glueInfo[j], 
&glueName, 10);
                                        if(n > G_MAXINT || n < 0 || n > 
g_strv_length(rcCmds)-1 || glueName == glueInfo[j] || glueName[0] != ':')
                                                continue;
                                        if((gluePos = 
wmdock_get_glue_position(&glueName[1])) == -1)
                                                continue;
-                                       if(j == 0) /* Cleanup the default 
anchors. */
-                                               memset(launched[i]->glue, 0, 
sizeof(DockappNode *) * GLUE_MAX);
 
                                        launched[i]->glue[gluePos] = 
launched[(gint) n];
                                        debug("rcfile.c: Restored panel off 
position. (`%s', %s = %d)", launched[i]->cmd, &glueName[1], gluePos);
@@ -152,7 +153,7 @@ void wmdock_read_rc_file (XfcePanelPlugin *plugin)
 
 void wmdock_write_rc_file (XfcePanelPlugin *plugin)
 {
-       gchar       *file = NULL, *p = NULL;
+       gchar       *file = NULL, *str = NULL;
        XfceRc      *rc;
        gchar       **cmdList = NULL;
        gchar       **glueList = NULL;
@@ -185,22 +186,22 @@ void wmdock_write_rc_file (XfcePanelPlugin *plugin)
                                        if(dapp->glue[gluePos] && (n = 
g_list_index(wmdock->dapps, (gconstpointer) dapp->glue[gluePos])) != -1) {
                                                /* 
ChildIndex1(n):position,ChildIndex2:postion,... */
                                                if(strnlen((const char *) buf, 
sizeof(buf)-1) > 0)
-                                                       p = 
g_strdup_printf(",%d:%s", n, wmdock_get_glue_name(gluePos));
+                                                       str = 
g_strdup_printf("%s%d:%s", RC_GLUE_DELIMITER, n, wmdock_get_glue_name(gluePos));
                                                else
-                                                       p = 
g_strdup_printf("%d:%s", n, wmdock_get_glue_name(gluePos));
-                                               g_strlcat(buf, p, sizeof(buf));
-                                               g_free(p);
+                                                       str = 
g_strdup_printf("%d:%s", n, wmdock_get_glue_name(gluePos));
+                                               g_strlcat(buf, str, 
sizeof(buf));
+                                               g_free(str);
                                        }
                                }
                                glueList[i] = g_strdup(buf);
                        }
                }
 
-               xfce_rc_write_list_entry(rc, RCKEY_CMDLIST, cmdList, ";");
+               xfce_rc_write_list_entry(rc, RCKEY_CMDLIST, cmdList, 
RC_LIST_DELIMITER);
                g_strfreev(cmdList);
 
                if( IS_PANELOFF(wmdock) ) {
-                       xfce_rc_write_list_entry(rc, RCKEY_GLUELIST, glueList, 
";");
+                       xfce_rc_write_list_entry(rc, RCKEY_GLUELIST, glueList, 
RC_LIST_DELIMITER);
                        g_strfreev(glueList);
                }
 
diff --git a/panel-plugin/rcfile.h b/panel-plugin/rcfile.h
index 7556487..8ad48c6 100644
--- a/panel-plugin/rcfile.h
+++ b/panel-plugin/rcfile.h
@@ -33,6 +33,9 @@
 #define RCKEY_ANCHORPOS     (const gchar *) "anchorpos"
 #define RCKEY_GLUELIST      (const gchar *) "glues"
 
+#define RC_LIST_DELIMITER   (const gchar *) ";"
+#define RC_GLUE_DELIMITER   (const gchar *) ","
+
 /* Prototypes */
 void wmdock_read_rc_file (XfcePanelPlugin *);
 void wmdock_write_rc_file (XfcePanelPlugin *);
_______________________________________________
Xfce4-commits mailing list
Xfce4-commits@xfce.org
https://mail.xfce.org/mailman/listinfo/xfce4-commits

Reply via email to