[Xfce4-commits] <xfce4-panel:andrzejr/deskbar-pager> pager-wnck: making the code with a11y addition compilable (a11y not tested but the pager works).

Andrzej noreply at xfce.org
Thu Dec 22 14:56:03 CET 2011


Updating branch refs/heads/andrzejr/deskbar-pager
         to d00ec1dfcca044797a2988a3ac4ba672723cfcce (commit)
       from 2fadf056ac10d0001e65ef0ce7222075b2c92d28 (commit)

commit d00ec1dfcca044797a2988a3ac4ba672723cfcce
Author: Andrzej <ndrwrdck at gmail.com>
Date:   Thu Dec 22 22:47:45 2011 +0900

    pager-wnck: making the code with a11y addition compilable (a11y not tested but the pager works).
    
    Some previously removed pager-wnck functions are brought back (they are used in the a11y code).
    
    Pager-wnck-workspace-accessible is tied fairly closely to wnck-workspace (from libwnck). Not sure if it will cause problems but it is one area we may have to test carefully.

 plugins/pager/Makefile.am                       |    8 ++++
 plugins/pager/pager-wnck-accessible.c           |    1 +
 plugins/pager/pager-wnck-accessible.h           |    2 -
 plugins/pager/pager-wnck-workspace-accessible.c |    1 +
 plugins/pager/pager-wnck.c                      |   51 ++++++++++++++++++++++-
 plugins/pager/pager-wnck.h                      |   11 +++++
 6 files changed, 70 insertions(+), 4 deletions(-)

diff --git a/plugins/pager/Makefile.am b/plugins/pager/Makefile.am
index 742935e..7103e03 100644
--- a/plugins/pager/Makefile.am
+++ b/plugins/pager/Makefile.am
@@ -19,6 +19,14 @@ libpager_la_SOURCES = \
 	pager.h \
 	pager-wnck.h \
 	pager-wnck.c \
+	pager-wnck-accessible.h \
+	pager-wnck-accessible.c \
+	pager-wnck-accessible-factory.h \
+	pager-wnck-accessible-factory.c \
+	pager-wnck-workspace-accessible.h \
+	pager-wnck-workspace-accessible.c \
+	pager-wnck-workspace-accessible-factory.h \
+	pager-wnck-workspace-accessible-factory.c \
 	pager-buttons.h \
 	pager-buttons.c
 
diff --git a/plugins/pager/pager-wnck-accessible.c b/plugins/pager/pager-wnck-accessible.c
index da8e8cd..6efd7bb 100644
--- a/plugins/pager/pager-wnck-accessible.c
+++ b/plugins/pager/pager-wnck-accessible.c
@@ -25,6 +25,7 @@
 #include <gtk/gtk.h>
 #include <string.h>
 #include <atk/atk.h>
+#include "pager.h"
 #include "pager-wnck.h"
 #include "pager-wnck-accessible.h"
 #include "pager-wnck-accessible-factory.h"
diff --git a/plugins/pager/pager-wnck-accessible.h b/plugins/pager/pager-wnck-accessible.h
index 0aac5b9..b03ec18 100644
--- a/plugins/pager/pager-wnck-accessible.h
+++ b/plugins/pager/pager-wnck-accessible.h
@@ -23,8 +23,6 @@
 
 #include <gtk/gtk.h>
 #include <atk/atk.h>
-#include "pager-wnck.h"
-//#include "screen.h"
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/plugins/pager/pager-wnck-workspace-accessible.c b/plugins/pager/pager-wnck-workspace-accessible.c
index 5823657..1de091a 100644
--- a/plugins/pager/pager-wnck-workspace-accessible.c
+++ b/plugins/pager/pager-wnck-workspace-accessible.c
@@ -22,6 +22,7 @@
 #include <gtk/gtk.h>
 #include <errno.h>
 #include <unistd.h>
+#include "pager.h"
 #include "pager-wnck.h"
 #include "pager-wnck-workspace-accessible.h"
 
diff --git a/plugins/pager/pager-wnck.c b/plugins/pager/pager-wnck.c
index 1304a35..dbeadb6 100644
--- a/plugins/pager/pager-wnck.c
+++ b/plugins/pager/pager-wnck.c
@@ -648,8 +648,8 @@ pager_wnck_size_allocate (GtkWidget      *widget,
 
 static void
 pager_wnck_get_workspace_rect (PagerWnck    *pager,
-                    int           space,
-                    GdkRectangle *rect)
+			       int           space,
+			       GdkRectangle *rect)
 {
   int hsize, vsize;
   int n_spaces;
@@ -2833,3 +2833,50 @@ pager_wnck_get_accessible (GtkWidget *widget)
     }
   return GTK_WIDGET_CLASS (pager_wnck_parent_class)->get_accessible (widget);
 }
+
+int 
+_pager_wnck_get_n_workspaces (PagerWnck *pager)
+{
+  return wnck_screen_get_workspace_count (pager->priv->screen);
+}
+
+const char* 
+_pager_wnck_get_workspace_name (PagerWnck *pager,
+                                int        i)
+{
+  WnckWorkspace *space;
+
+  space = wnck_screen_get_workspace (pager->priv->screen, i);
+  if (space)
+    return wnck_workspace_get_name (space);
+  else
+    return NULL;
+}
+
+WnckWorkspace*
+_pager_wnck_get_active_workspace (PagerWnck *pager)
+{
+  return wnck_screen_get_active_workspace (pager->priv->screen);
+}
+
+WnckWorkspace*
+_pager_wnck_get_workspace (PagerWnck *pager,
+                           int        i)
+{
+  return wnck_screen_get_workspace (pager->priv->screen, i);
+} 
+
+void 
+_pager_wnck_activate_workspace (WnckWorkspace *wspace,
+				guint32        timestamp)
+{
+  wnck_workspace_activate (wspace, timestamp);
+}
+
+void
+_pager_wnck_get_workspace_rect (PagerWnck    *pager, 
+                                int           i,
+                                GdkRectangle *rect)
+{
+  pager_wnck_get_workspace_rect (pager, i, rect);
+}
diff --git a/plugins/pager/pager-wnck.h b/plugins/pager/pager-wnck.h
index 2f5401c..3b0f0b2 100644
--- a/plugins/pager/pager-wnck.h
+++ b/plugins/pager/pager-wnck.h
@@ -99,6 +99,17 @@ void pager_wnck_set_show_all     (PagerWnck            *pager,
 void pager_wnck_set_shadow_type  (PagerWnck	       *pager,
 				  GtkShadowType		shadow_type);
 
+int            _pager_wnck_get_n_workspaces     (PagerWnck     *pager);
+const char*    _pager_wnck_get_workspace_name   (PagerWnck     *pager,
+                                                 int            i);
+WnckWorkspace* _pager_wnck_get_active_workspace (PagerWnck     *pager);
+WnckWorkspace* _pager_wnck_get_workspace        (PagerWnck     *pager,
+                                                 int            i);
+void           _pager_wnck_activate_workspace   (WnckWorkspace *wspace,
+                                                 guint32        timestamp);
+void           _pager_wnck_get_workspace_rect   (PagerWnck     *pager, 
+                                                 int            i,
+                                                 GdkRectangle  *rect);
 
 G_END_DECLS
 


More information about the Xfce4-commits mailing list