Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
        ewins.h ewmh.c 


Log Message:
Track window modality state (not honoured).
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/ewins.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- ewins.h     25 Aug 2005 22:28:48 -0000      1.10
+++ ewins.h     3 Sep 2005 14:28:39 -0000       1.11
@@ -62,14 +62,17 @@
       char                visibility;
       char                iconified;
       char                shaded;
-      char                active;
 
       unsigned            placed:1;
       unsigned            maximized_horz:1;
       unsigned            maximized_vert:1;
       unsigned            fullscreen:1;
-      unsigned            showingdesk:1;       /* Iconified by show desktop */
+
+      unsigned            active:1;
+      unsigned            modal:1;
       unsigned            attention:1;
+
+      unsigned            showingdesk:1;       /* Iconified by show desktop */
       unsigned            animated:1;
 
       /* Derived state flags. Change only in EwinStateUpdate() */
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/ewmh.c,v
retrieving revision 1.87
retrieving revision 1.88
diff -u -3 -r1.87 -r1.88
--- ewmh.c      25 Aug 2005 20:55:55 -0000      1.87
+++ ewmh.c      3 Sep 2005 14:28:39 -0000       1.88
@@ -373,6 +373,8 @@
    int                 atom_count;
 
    atom_count = 0;
+   atom_list_set(atom_list, len, &atom_count, ECORE_X_ATOM_NET_WM_STATE_MODAL,
+                ewin->state.modal);
    atom_list_set(atom_list, len, &atom_count, ECORE_X_ATOM_NET_WM_STATE_STICKY,
                 EoIsSticky(ewin));
    atom_list_set(atom_list, len, &atom_count, ECORE_X_ATOM_NET_WM_STATE_SHADED,
@@ -507,6 +509,7 @@
    /* We must clear/set all according to not present/present */
 /* EoSetSticky(ewin, 0); Do not override if set via _NET_WM_DESKTOP */
    ewin->state.shaded = 0;
+   ewin->state.modal = 0;
    ewin->props.skip_ext_task = ewin->props.skip_ext_pager = 0;
    ewin->state.maximized_horz = ewin->state.maximized_vert = 0;
    ewin->state.fullscreen = ewin->state.attention = 0;
@@ -515,7 +518,9 @@
    for (i = 0; i < n_atoms; i++)
      {
        atom = p_atoms[i];
-       if (atom == ECORE_X_ATOM_NET_WM_STATE_STICKY)
+       if (atom == ECORE_X_ATOM_NET_WM_STATE_MODAL)
+          ewin->state.modal = 1;
+       else if (atom == ECORE_X_ATOM_NET_WM_STATE_STICKY)
           EoSetSticky(ewin, 1);
        else if (atom == ECORE_X_ATOM_NET_WM_STATE_SHADED)
           ewin->state.shaded = 1;
@@ -890,7 +895,13 @@
        action = ev->data.l[0];
        atom = ev->data.l[1];
        atom2 = ev->data.l[2];
-       if (atom == ECORE_X_ATOM_NET_WM_STATE_STICKY)
+       if (atom == ECORE_X_ATOM_NET_WM_STATE_MODAL)
+         {
+            action = do_set(ewin->state.modal, action);
+            /* TBD */
+            ewin->state.modal = action;
+         }
+       else if (atom == ECORE_X_ATOM_NET_WM_STATE_STICKY)
          {
             action = do_set(EoIsSticky(ewin), action);
             if (action)




-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to