Enlightenment CVS committal

Author  : kwo
Project : e17
Module  : libs/ecore

Dir     : e17/libs/ecore/src/lib/ecore_x


Modified Files:
        Ecore_X.h ecore_x_window_prop.c 


Log Message:
Suggesting a minor change to ecore_x_window_prop_window_type_set().
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/Ecore_X.h,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -3 -r1.28 -r1.29
--- Ecore_X.h   22 Jan 2004 23:13:43 -0000      1.28
+++ Ecore_X.h   28 Jan 2004 21:48:27 -0000      1.29
@@ -577,6 +577,18 @@
 
 } Ecore_X_Window_State;
 
+typedef enum _Ecore_X_Window_Type {
+    ECORE_X_WINDOW_TYPE_DESKTOP,
+    ECORE_X_WINDOW_TYPE_DOCK,
+    ECORE_X_WINDOW_TYPE_TOOLBAR,
+    ECORE_X_WINDOW_TYPE_MENU,
+    ECORE_X_WINDOW_TYPE_UTILITY,
+    ECORE_X_WINDOW_TYPE_SPLASH,
+    ECORE_X_WINDOW_TYPE_DIALOG,
+    ECORE_X_WINDOW_TYPE_NORMAL
+} Ecore_X_Window_Type;
+
+
 int              ecore_x_init(const char *name);
 int              ecore_x_shutdown(void);       
 Ecore_X_Display *ecore_x_display_get(void);
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_window_prop.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -3 -r1.24 -r1.25
--- ecore_x_window_prop.c       20 Jan 2004 01:03:15 -0000      1.24
+++ ecore_x_window_prop.c       28 Jan 2004 21:48:27 -0000      1.25
@@ -836,6 +836,65 @@
    return desktop;
 }
 
+
+#if 0
+/*
+ * Suggesting a slight change of API.
+ * The ECORE_X_WINDOW_TYPE_...'s I think we want in Ecore_X.h anyway.
+ * It makes things more similar to ecore_x_window_prop_state_set().
+ * It also avoids having to define all the different
+ * ecore_x_window_prop_window_type_..._set()'s.
+ * Setting a window to type desktop would then become
+ * ecore_x_window_prop_window_type_set(win, ECORE_X_WINDOW_TYPE_DESKTOP);
+ * /Kim
+ */
+
+static Ecore_X_Atom 
+_ecore_x_window_prop_type_atom_get(Ecore_X_Window_Type type)
+{
+   switch (type)
+   {
+      case ECORE_X_WINDOW_TYPE_DESKTOP:
+         return _ecore_x_atom_net_wm_window_type_desktop;
+      case ECORE_X_WINDOW_TYPE_DOCK:
+         return _ecore_x_atom_net_wm_window_type_dock;
+      case ECORE_X_WINDOW_TYPE_TOOLBAR:
+         return _ecore_x_atom_net_wm_window_type_toolbar;
+      case ECORE_X_WINDOW_TYPE_MENU:
+         return _ecore_x_atom_net_wm_window_type_menu;
+      case ECORE_X_WINDOW_TYPE_UTILITY:
+         return _ecore_x_atom_net_wm_window_type_utility;
+      case ECORE_X_WINDOW_TYPE_SPLASH:
+         return _ecore_x_atom_net_wm_window_type_splash;
+      case ECORE_X_WINDOW_TYPE_DIALOG:
+         return _ecore_x_atom_net_wm_window_type_dialog;
+      case ECORE_X_WINDOW_TYPE_NORMAL:
+         return _ecore_x_atom_net_wm_window_type_normal;
+      default:
+         return 0;
+   }
+}
+
+/**
+ * Set a window's type.
+ * @param win The Window
+ * @param type The Type
+ *
+ * Set a windows type.
+ * <hr><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
+ */
+void
+ecore_x_window_prop_window_type_set(Ecore_X_Window win, Ecore_X_Window_Type type)
+{
+   Atom a;
+
+   a = _ecore_x_window_prop_type_atom_get(type);
+   if (a)
+      ecore_x_window_prop_property_set(win, _ecore_x_atom_net_wm_window_type,
+                                      XA_ATOM, 32, (unsigned char*)&a, 1);
+}
+#endif
+
 /**
  * Change a window's type.
  * @param win The Window




-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to