Enlightenment CVS committal Author : sebastid Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_border.c Log Message: Update state hints on windows without borders. =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.c,v retrieving revision 1.203 retrieving revision 1.204 diff -u -3 -r1.203 -r1.204 --- e_border.c 15 May 2005 05:20:17 -0000 1.203 +++ e_border.c 15 May 2005 10:11:54 -0000 1.204 @@ -1963,13 +1963,48 @@ { E_Border *bd; Ecore_X_Event_Window_State *e; - int i; + int i, on; e = ev; bd = e_border_find_by_client_window(e->win); - if (!bd) return 1; - for (i = 0; i < 2; i++) - e_hints_window_state_update(bd, e->state[i], e->action); + if (!bd) + { + for (i = 0; i < 2; i++) + { + if (e->state[i] == ECORE_X_WINDOW_STATE_ICONIFIED) + { + if (e->action == ECORE_X_WINDOW_STATE_ACTION_ADD) + { + ecore_x_icccm_state_set(e->win, ECORE_X_WINDOW_STATE_HINT_ICONIC); + ecore_x_netwm_window_state_set(e->win, ECORE_X_WINDOW_STATE_HIDDEN, 1); + } + } + else + { + switch (e->action) + { + case ECORE_X_WINDOW_STATE_ACTION_REMOVE: + ecore_x_netwm_window_state_set(e->win, e->state[i], 0); + break; + case ECORE_X_WINDOW_STATE_ACTION_ADD: + ecore_x_netwm_window_state_set(e->win, e->state[i], 1); + break; + case ECORE_X_WINDOW_STATE_ACTION_TOGGLE: + on = ecore_x_netwm_window_state_isset(e->win, e->state[i]); + if (on) + ecore_x_netwm_window_state_set(e->win, e->state[i], 0); + else + ecore_x_netwm_window_state_set(e->win, e->state[i], 1); + break; + } + } + } + } + else + { + for (i = 0; i < 2; i++) + e_hints_window_state_update(bd, e->state[i], e->action); + } return 1; } ------------------------------------------------------- This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes! http://ads.osdn.com/?ad_id=7393&alloc_id=16281&op=click _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs