[Xfce4-commits] <xfce4-panel:andrzejr/deskbar-github> pager: added starting_corner properties to the pagers to orientate them properly in vertical modes.

Andrzej noreply at xfce.org
Mon Dec 12 11:40:44 CET 2011


Updating branch refs/heads/andrzejr/deskbar-github
         to f5ef7226cdcaef7065a06477738f8662c10a0df5 (commit)
       from 22fc12a21d322975a7c37554f0b2e9c4de3248c0 (commit)

commit f5ef7226cdcaef7065a06477738f8662c10a0df5
Author: Andrzej <ndrwrdck at gmail.com>
Date:   Tue Nov 29 15:07:09 2011 +0900

    pager: added starting_corner properties to the pagers to orientate them properly in vertical modes.

 plugins/pager/pager-buttons.c |  142 +++++++++++++++++++++++++++++++--------
 plugins/pager/pager-buttons.h |    2 +
 plugins/pager/pager-wnck.c    |  148 +++++++++++++++++++++++-----------------
 plugins/pager/pager-wnck.h    |    6 +-
 plugins/pager/pager.c         |   46 ++++++++++++-
 plugins/pager/pager.h         |   11 +++
 6 files changed, 258 insertions(+), 97 deletions(-)

diff --git a/plugins/pager/pager-buttons.c b/plugins/pager/pager-buttons.c
index 4d773f0..e201647 100644
--- a/plugins/pager/pager-buttons.c
+++ b/plugins/pager/pager-buttons.c
@@ -25,6 +25,7 @@
 #include <libxfce4panel/libxfce4panel.h>
 #include <common/panel-private.h>
 
+#include "pager.h"
 #include "pager-buttons.h"
 
 
@@ -76,6 +77,7 @@ struct _PagerButtons
 
   gint            rows;
   GtkOrientation  orientation;
+  PagerLayoutCorner starting_corner;
 };
 
 enum
@@ -83,7 +85,8 @@ enum
   PROP_0,
   PROP_SCREEN,
   PROP_ROWS,
-  PROP_ORIENTATION
+  PROP_ORIENTATION,
+  PROP_STARTING_CORNER
 };
 
 enum
@@ -131,6 +134,14 @@ pager_buttons_class_init (PagerButtonsClass *klass)
                                                      GTK_TYPE_ORIENTATION,
                                                      GTK_ORIENTATION_HORIZONTAL,
                                                      EXO_PARAM_READWRITE));
+
+  g_object_class_install_property (gobject_class,
+                                   PROP_ORIENTATION,
+                                   g_param_spec_enum ("starting-corner",
+                                                      NULL, NULL,
+                                                      XFCE_TYPE_PAGER_LAYOUT_CORNER,
+                                                      PAGER_LAYOUT_CORNER_TOPLEFT,
+                                                      EXO_PARAM_READWRITE));
 }
 
 
@@ -141,6 +152,7 @@ pager_buttons_init (PagerButtons *pager)
   pager->rows = 1;
   pager->wnck_screen = NULL;
   pager->orientation = GTK_ORIENTATION_HORIZONTAL;
+  pager->starting_corner = PAGER_LAYOUT_CORNER_TOPLEFT;
   pager->buttons = NULL;
   pager->rebuild_id = 0;
 
@@ -170,6 +182,10 @@ pager_buttons_get_property (GObject    *object,
       g_value_set_enum (value, pager->orientation);
       break;
 
+    case PROP_STARTING_CORNER:
+      g_value_set_enum (value, pager->starting_corner);
+      break;
+
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -212,6 +228,10 @@ pager_buttons_set_property (GObject      *object,
       pager_buttons_set_orientation (pager, g_value_get_enum (value));
       break;
 
+    case PROP_STARTING_CORNER:
+      pager_buttons_set_starting_corner (pager, g_value_get_enum (value));
+      break;
+
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -269,6 +289,58 @@ pager_buttons_button_press_event (GtkWidget      *button,
 }
 
 
+static void
+pager_buttons_assign_position (PagerButtons  *pager, gint n, gint rows, gint cols, gint *row, gint *col)
+{
+  *row = *col = 0;
+  if (pager->orientation == GTK_ORIENTATION_HORIZONTAL)
+    switch (pager->starting_corner)
+      {
+      case PAGER_LAYOUT_CORNER_TOPLEFT:
+        *col = n / cols;
+        *row = n % cols;
+        break;
+
+      case PAGER_LAYOUT_CORNER_TOPRIGHT:
+        *col = n / cols;
+        *row = (cols - 1) - n % cols;
+        break;
+
+      case PAGER_LAYOUT_CORNER_BOTTOMLEFT:
+        *col = (rows - 1) - n / cols;
+        *row = n % cols;
+        break;
+
+      case PAGER_LAYOUT_CORNER_BOTTOMRIGHT:
+        *col = (rows - 1) - n / cols;
+        *row = (cols - 1) - n % cols;
+        break;
+      }
+  else
+    switch (pager->starting_corner)
+      {
+      case PAGER_LAYOUT_CORNER_TOPLEFT:
+        *col = n % cols;
+        *row = n / cols;
+        break;
+
+      case PAGER_LAYOUT_CORNER_TOPRIGHT:
+        *col = n % cols;
+        *row = (rows - 1) - n / cols;
+        break;
+
+      case PAGER_LAYOUT_CORNER_BOTTOMLEFT:
+        *col = (cols - 1) - n % cols;
+        *row = n / cols;
+        break;
+
+      case PAGER_LAYOUT_CORNER_BOTTOMRIGHT:
+        *col = (cols - 1) - n % cols;
+        *row = (rows - 1) - n / cols;
+        break;
+      }
+}
+
 
 static gboolean
 pager_buttons_rebuild_idle (gpointer user_data)
@@ -351,10 +423,10 @@ pager_buttons_rebuild_idle (gpointer user_data)
         cols++;
     }
 
-  if (pager->orientation != GTK_ORIENTATION_HORIZONTAL)
-    SWAP_INTEGER (rows, cols);
-
-  gtk_table_resize (GTK_TABLE (pager), rows, cols);
+  if (pager->orientation == GTK_ORIENTATION_HORIZONTAL)
+    gtk_table_resize (GTK_TABLE (pager), rows, cols);
+  else
+    gtk_table_resize (GTK_TABLE (pager), cols, rows);
 
   panel_plugin = gtk_widget_get_ancestor (GTK_WIDGET (pager), XFCE_TYPE_PANEL_PLUGIN);
 
@@ -387,26 +459,26 @@ pager_buttons_rebuild_idle (gpointer user_data)
 
           g_snprintf (text, sizeof (text), "%d", n + 1);
           label = gtk_label_new (text);
-          gtk_label_set_angle (GTK_LABEL (label),
-              pager->orientation == GTK_ORIENTATION_HORIZONTAL ? 0 : 270);
+          if (pager->orientation == GTK_ORIENTATION_HORIZONTAL)
+            gtk_label_set_angle (GTK_LABEL (label), 0);
+          else if (pager->starting_corner ==  PAGER_LAYOUT_CORNER_TOPLEFT ||
+                   pager->starting_corner ==  PAGER_LAYOUT_CORNER_BOTTOMLEFT)
+            gtk_label_set_angle (GTK_LABEL (label), 90);
+          else
+            gtk_label_set_angle (GTK_LABEL (label), 270);
           gtk_container_add (GTK_CONTAINER (button), label);
           gtk_widget_show (label);
 
-          if (pager->orientation == GTK_ORIENTATION_HORIZONTAL)
-            {
-              row = n % cols;
-              col = n / cols;
-            }
-          else
-            {
-              col = n % rows;
-              row = n / rows;
-            }
+          pager->buttons = g_slist_prepend (pager->buttons, button);
+
+          row = col = 0;
+          pager_buttons_assign_position (pager, n, rows, cols, &row, &col);
 
           gtk_table_attach (GTK_TABLE (pager), button,
                             row, row + 1, col, col + 1,
                             GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND,
                             0, 0);
+
         }
     }
   else
@@ -429,23 +501,20 @@ pager_buttons_rebuild_idle (gpointer user_data)
           g_signal_connect_object (G_OBJECT (workspace), "name-changed",
               G_CALLBACK (pager_buttons_workspace_button_label), label, 0);
           pager_buttons_workspace_button_label (workspace, label);
-          gtk_label_set_angle (GTK_LABEL (label),
-              pager->orientation == GTK_ORIENTATION_HORIZONTAL ? 0 : 270);
+          if (pager->orientation == GTK_ORIENTATION_HORIZONTAL)
+            gtk_label_set_angle (GTK_LABEL (label), 0);
+          else if (pager->starting_corner ==  PAGER_LAYOUT_CORNER_TOPLEFT ||
+                   pager->starting_corner ==  PAGER_LAYOUT_CORNER_BOTTOMLEFT)
+            gtk_label_set_angle (GTK_LABEL (label), 90);
+          else
+            gtk_label_set_angle (GTK_LABEL (label), 270);
           gtk_container_add (GTK_CONTAINER (button), label);
           gtk_widget_show (label);
 
           pager->buttons = g_slist_prepend (pager->buttons, button);
 
-          if (pager->orientation == GTK_ORIENTATION_HORIZONTAL)
-            {
-              row = n % cols;
-              col = n / cols;
-            }
-          else
-            {
-              col = n % rows;
-              row = n / rows;
-            }
+          row = col = 0;
+          pager_buttons_assign_position (pager, n, rows, cols, &row, &col);
 
           gtk_table_attach (GTK_TABLE (pager), button,
                             row, row + 1, col, col + 1,
@@ -663,3 +732,18 @@ pager_buttons_set_n_rows (PagerButtons *pager,
   pager->rows = rows;
   pager_buttons_queue_rebuild (pager);
 }
+
+
+void
+pager_buttons_set_starting_corner (PagerButtons      *pager,
+                                   PagerLayoutCorner  starting_corner)
+{
+  g_return_if_fail (XFCE_IS_PAGER_BUTTONS (pager));
+
+  if (pager->starting_corner == starting_corner)
+    return;
+
+  pager->starting_corner = starting_corner;
+  pager_buttons_queue_rebuild (pager);
+}
+
diff --git a/plugins/pager/pager-buttons.h b/plugins/pager/pager-buttons.h
index b8014f5..39b176a 100644
--- a/plugins/pager/pager-buttons.h
+++ b/plugins/pager/pager-buttons.h
@@ -45,6 +45,8 @@ void       pager_buttons_set_orientation (PagerButtons        *pager,
 
 void       pager_buttons_set_n_rows      (PagerButtons        *pager,
                                           gint                 rows);
+void       pager_buttons_set_starting_corner (PagerButtons       *pager,
+                                              PagerLayoutCorner   starting_corner);
 
 G_END_DECLS
 
diff --git a/plugins/pager/pager-wnck.c b/plugins/pager/pager-wnck.c
index b5daa33..ef67f83 100644
--- a/plugins/pager/pager-wnck.c
+++ b/plugins/pager/pager-wnck.c
@@ -70,6 +70,7 @@ struct _PagerWnckPrivate
   int n_rows; /* really columns for vertical orientation */
   PagerWnckDisplayMode display_mode;
   PagerLayoutPolicy layout_policy;
+  PagerLayoutCorner starting_corner;
   gboolean show_all_workspaces;
   GtkShadowType shadow_type;
   
@@ -228,6 +229,7 @@ pager_wnck_init (PagerWnck *pager)
 
   pager->priv->orientation = GTK_ORIENTATION_HORIZONTAL;
   pager->priv->layout_policy = PAGER_LAYOUT_POLICY_WIDTH_FOR_HEIGHT;
+  pager->priv->starting_corner = PAGER_LAYOUT_CORNER_TOPLEFT;
   pager->priv->workspace_size = 48;
 
   for (i = 0; i < N_SCREEN_CONNECTIONS; i++)
@@ -716,8 +718,33 @@ pager_wnck_get_workspace_rect (PagerWnck    *pager,
       rect->width = (hsize - (pager->priv->n_rows - 1)) / pager->priv->n_rows;
       rect->height = (vsize - (spaces_per_row - 1)) / spaces_per_row;
 
-      col = space / spaces_per_row;
-      row = space % spaces_per_row;
+      switch (pager->priv->starting_corner)
+	{
+	case PAGER_LAYOUT_CORNER_TOPLEFT:
+	  col = space / spaces_per_row;
+	  row = space % spaces_per_row;
+	  break;
+
+	case PAGER_LAYOUT_CORNER_TOPRIGHT:
+	  col = (pager->priv->n_rows - 1) - space / spaces_per_row;
+	  row = space % spaces_per_row;
+	  break;
+
+	case PAGER_LAYOUT_CORNER_BOTTOMLEFT:
+	  col = space / spaces_per_row;
+	  row = (spaces_per_row - 1) - space % spaces_per_row;
+	  break;
+
+	case PAGER_LAYOUT_CORNER_BOTTOMRIGHT:
+	  col = (pager->priv->n_rows - 1) - space / spaces_per_row;
+	  row = (spaces_per_row - 1) - space % spaces_per_row;
+	  break;
+
+	default:
+	  row = 0;
+	  col = 0;
+	  break;
+	}
 
       if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
         col = pager->priv->n_rows - col - 1;
@@ -736,8 +763,33 @@ pager_wnck_get_workspace_rect (PagerWnck    *pager,
       rect->width = (hsize - (spaces_per_row - 1)) / spaces_per_row;
       rect->height = (vsize - (pager->priv->n_rows - 1)) / pager->priv->n_rows;
       
-      col = space % spaces_per_row;
-      row = space / spaces_per_row;
+      switch (pager->priv->starting_corner)
+	{
+	case PAGER_LAYOUT_CORNER_TOPLEFT:
+	  row = space / spaces_per_row;
+	  col = space % spaces_per_row;
+	  break;
+
+	case PAGER_LAYOUT_CORNER_TOPRIGHT:
+	  row = space / spaces_per_row;
+	  col = (spaces_per_row - 1) - space % spaces_per_row;
+	  break;
+
+	case PAGER_LAYOUT_CORNER_BOTTOMLEFT:
+	  row = (pager->priv->n_rows - 1) - space / spaces_per_row;
+	  col = space % spaces_per_row;
+	  break;
+
+	case PAGER_LAYOUT_CORNER_BOTTOMRIGHT:
+	  row = (pager->priv->n_rows - 1) - space / spaces_per_row;
+	  col = (spaces_per_row - 1) - space % spaces_per_row;
+	  break;
+
+	default:
+	  row = 0;
+	  col = 0;
+	  break;
+	}
 
       if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
         col = spaces_per_row - col - 1;
@@ -2057,16 +2109,8 @@ pager_wnck_set_layout_hint (PagerWnck *pager)
   if (!pager->priv->show_all_workspaces)
     return FALSE;
 
-  if (pager->priv->orientation == GTK_ORIENTATION_HORIZONTAL)
-    {
-      layout_rows = pager->priv->n_rows;
-      layout_cols = 0;
-    }
-  else
-    {
-      layout_rows = 0;
-      layout_cols = pager->priv->n_rows;
-    }
+  layout_rows = pager->priv->n_rows;
+  layout_cols = 0;
 
   pager->priv->layout_manager_token =
     wnck_screen_try_set_workspace_layout (pager->priv->screen,
@@ -2077,62 +2121,20 @@ pager_wnck_set_layout_hint (PagerWnck *pager)
   return (pager->priv->layout_manager_token != PAGER_WNCK_NO_MANAGER_TOKEN);
 }
 
-/**
- * pager_wnck_set_orientation:
- * @pager: a #PagerWnck.
- * @orientation: orientation to use for the layout of #WnckWorkspace on the
- * #WnckScreen @pager is watching.
- *
- * Tries to change the orientation of the layout of #WnckWorkspace on the
- * #WnckScreen @pager is watching. Since no more than one application should
- * set this property of a #WnckScreen at a time, setting the layout is not
- * guaranteed to work. 
- *
- * If @orientation is %GTK_ORIENTATION_HORIZONTAL, the #WnckWorkspace will be
- * laid out in rows, with the first #WnckWorkspace in the top left corner.
- *
- * If @orientation is %GTK_ORIENTATION_VERTICAL, the #WnckWorkspace will be
- * laid out in columns, with the first #WnckWorkspace in the top left corner.
- *
- * For example, if the layout contains one row, but the orientation of the
- * layout is vertical, the #PagerWnck will display a column of #WnckWorkspace.
- *
- * If @pager has not been added to a widget hierarchy, the call will fail
- * because @pager can't know the screen on which to modify the orientation.
- *
- * Return value: %TRUE if the layout of #WnckWorkspace has been successfully
- * changed or did not need to be changed, %FALSE otherwise.
- */
-gboolean
+void
 pager_wnck_set_orientation (PagerWnck     *pager,
                             GtkOrientation orientation)
 {
-  GtkOrientation old_orientation;
-  gboolean       old_orientation_is_valid;
-
-  g_return_val_if_fail (XFCE_IS_PAGER_WNCK (pager), FALSE);
+  g_return_if_fail (XFCE_IS_PAGER_WNCK (pager));
 
   if (pager->priv->orientation == orientation)
-    return TRUE;
-
-  old_orientation = pager->priv->orientation;
-  old_orientation_is_valid = pager->priv->screen != NULL;
+    return;
 
   pager->priv->orientation = orientation;
-
-  if (pager_wnck_set_layout_hint (pager))
-    {
-      gtk_widget_queue_resize (GTK_WIDGET (pager));
-      return TRUE;
-    }
-  else
-    {
-      if (old_orientation_is_valid)
-        pager->priv->orientation = old_orientation;
-      return FALSE;
-    }
 }
 
+/* Setting the number of rows of the workspace layout */
+/* will be removed once the switch is moved to the workspace settings. */
 gboolean
 pager_wnck_set_n_rows (PagerWnck *pager,
 		       int        n_rows)
@@ -2187,8 +2189,28 @@ pager_wnck_set_display_mode (PagerWnck            *pager,
 }
 
 /**
- * wnck_pager_set_layout_policy:
- * @pager: a #WnckPager.
+ * pager_wnck_set_starting_corner:
+ * @pager: a #PagerWnck.
+ * @starting_corner: location of a starting corner.
+ *
+ * Sets the starting corner of the @pager to @starting_corner.
+ */
+void
+pager_wnck_set_starting_corner (PagerWnck         *pager,
+				PagerLayoutCorner  starting_corner)
+{
+  g_return_if_fail (XFCE_IS_PAGER_WNCK (pager));
+
+  if (pager->priv->starting_corner == starting_corner)
+    return;
+
+  pager->priv->starting_corner = starting_corner;
+  gtk_widget_queue_resize (GTK_WIDGET (pager));
+}
+
+/**
+ * pager_wnck_set_layout_policy:
+ * @pager: a #PagerWnck.
  * @policy: a layout policy.
  *
  * Sets the layout policy for @pager to @policy.
diff --git a/plugins/pager/pager-wnck.h b/plugins/pager/pager-wnck.h
index 3124a1c..2f5401c 100644
--- a/plugins/pager/pager-wnck.h
+++ b/plugins/pager/pager-wnck.h
@@ -84,12 +84,14 @@ void       pager_wnck_register_type   (XfcePanelTypeModule *type_module);
 
 GtkWidget* pager_wnck_new (WnckScreen *screen);
 
-gboolean pager_wnck_set_orientation (PagerWnck         *pager,
-				     GtkOrientation     orientation);
+void pager_wnck_set_orientation  (PagerWnck            *pager,
+                                  GtkOrientation        orientation);
 gboolean pager_wnck_set_n_rows   (PagerWnck            *pager,
 				  int                   n_rows);
 void pager_wnck_set_display_mode (PagerWnck            *pager,
 				  PagerWnckDisplayMode  mode);
+void pager_wnck_set_starting_corner (PagerWnck         *pager,
+                                    PagerLayoutCorner   starting_corner);
 void pager_wnck_set_layout_policy (PagerWnck           *pager,
 				   PagerLayoutPolicy    layout_policy);
 void pager_wnck_set_show_all     (PagerWnck            *pager,
diff --git a/plugins/pager/pager.c b/plugins/pager/pager.c
index f13a8d7..e820826 100644
--- a/plugins/pager/pager.c
+++ b/plugins/pager/pager.c
@@ -68,7 +68,27 @@ static void     pager_plugin_screen_layout_changed        (PagerPlugin       *pl
 static void     pager_plugin_size_request                 (GtkWidget         *widget,
                                                            GtkRequisition    *requisition);
 
-
+GType
+pager_layout_corner_get_type (void)
+{
+  static GType layout_corner_type = 0;
+
+  if (!layout_corner_type) {
+    static GEnumValue corner_types[] = {
+      { PAGER_LAYOUT_CORNER_TOPLEFT,     "First workspace in top-left corner",     "top-left" },
+      { PAGER_LAYOUT_CORNER_TOPRIGHT,    "First workspace in top-right corner",    "top-right" },
+      { PAGER_LAYOUT_CORNER_BOTTOMLEFT,  "First workspace in bottom-left corner",  "bottom-left" },
+      { PAGER_LAYOUT_CORNER_BOTTOMRIGHT, "First workspace in bottom-right corner", "bottom-right" },
+      { 0, NULL, NULL },
+    };
+
+    layout_corner_type =
+	g_enum_register_static ("PagerLayoutCorner",
+				corner_types);
+  }
+
+  return layout_corner_type;
+}
 
 struct _PagerPluginClass
 {
@@ -310,12 +330,20 @@ pager_plugin_screen_layout_changed (PagerPlugin *plugin)
       else
         pager_wnck_set_layout_policy (XFCE_PAGER_WNCK (plugin->pager), PAGER_LAYOUT_POLICY_HEIGHT_FOR_WIDTH);
       pager_wnck_set_orientation (XFCE_PAGER_WNCK (plugin->pager), plugin_orientation);
+      if (plugin_orientation == GTK_ORIENTATION_HORIZONTAL)
+        pager_wnck_set_starting_corner (XFCE_PAGER_WNCK (plugin->pager), PAGER_LAYOUT_CORNER_TOPLEFT);
+      else
+        pager_wnck_set_starting_corner (XFCE_PAGER_WNCK (plugin->pager), PAGER_LAYOUT_CORNER_BOTTOMLEFT);
     }
   else
     {
       plugin->pager = pager_buttons_new (plugin->wnck_screen);
       pager_buttons_set_n_rows (XFCE_PAGER_BUTTONS (plugin->pager), plugin->rows);
       pager_buttons_set_orientation (XFCE_PAGER_BUTTONS (plugin->pager), plugin_orientation);
+      if (plugin_orientation == GTK_ORIENTATION_HORIZONTAL)
+        pager_buttons_set_starting_corner (XFCE_PAGER_BUTTONS (plugin->pager), PAGER_LAYOUT_CORNER_TOPLEFT);
+      else
+        pager_buttons_set_starting_corner (XFCE_PAGER_BUTTONS (plugin->pager), PAGER_LAYOUT_CORNER_BOTTOMLEFT);
     }
 
   gtk_container_add (GTK_CONTAINER (plugin), plugin->pager);
@@ -438,9 +466,21 @@ pager_plugin_orientation_changed (XfcePanelPlugin *panel_plugin,
     orientation = GTK_ORIENTATION_HORIZONTAL;
 
   if (plugin->miniature_view)
-    pager_wnck_set_orientation (XFCE_PAGER_WNCK (plugin->pager), orientation);
+    {
+      pager_wnck_set_orientation (XFCE_PAGER_WNCK (plugin->pager), orientation);
+      if (orientation == GTK_ORIENTATION_HORIZONTAL)
+        pager_wnck_set_starting_corner (XFCE_PAGER_WNCK (plugin->pager), PAGER_LAYOUT_CORNER_TOPLEFT);
+      else
+        pager_wnck_set_starting_corner (XFCE_PAGER_WNCK (plugin->pager), PAGER_LAYOUT_CORNER_BOTTOMLEFT);
+    }
   else
-    pager_buttons_set_orientation (XFCE_PAGER_BUTTONS (plugin->pager), orientation);
+    {
+      pager_buttons_set_orientation (XFCE_PAGER_BUTTONS (plugin->pager), orientation);
+      if (orientation == GTK_ORIENTATION_HORIZONTAL)
+        pager_buttons_set_starting_corner (XFCE_PAGER_BUTTONS (plugin->pager), PAGER_LAYOUT_CORNER_TOPLEFT);
+      else
+        pager_buttons_set_starting_corner (XFCE_PAGER_BUTTONS (plugin->pager), PAGER_LAYOUT_CORNER_BOTTOMLEFT);
+    }
 }
 
 
diff --git a/plugins/pager/pager.h b/plugins/pager/pager.h
index 0a16287..96dd2a8 100644
--- a/plugins/pager/pager.h
+++ b/plugins/pager/pager.h
@@ -43,6 +43,17 @@ typedef enum {
   PAGER_LAYOUT_POLICY_HEIGHT_FOR_WIDTH
 } PagerLayoutPolicy;
 
+typedef enum
+{
+  PAGER_LAYOUT_CORNER_TOPLEFT,
+  PAGER_LAYOUT_CORNER_TOPRIGHT,
+  PAGER_LAYOUT_CORNER_BOTTOMRIGHT,
+  PAGER_LAYOUT_CORNER_BOTTOMLEFT
+} PagerLayoutCorner;
+
+#define XFCE_TYPE_PAGER_LAYOUT_CORNER (pager_layout_corner_get_type ())
+
+GType pager_layout_corner_get_type (void);
 
 G_END_DECLS
 


More information about the Xfce4-commits mailing list