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