Enlightenment CVS committal Author : sebastid Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_hints.c Log Message: Honour lock flags. =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_hints.c,v retrieving revision 1.64 retrieving revision 1.65 diff -u -3 -r1.64 -r1.65 --- e_hints.c 11 Aug 2005 04:44:08 -0000 1.64 +++ e_hints.c 21 Aug 2005 23:36:07 -0000 1.65 @@ -346,16 +346,19 @@ bd->client.icccm.state = ECORE_X_WINDOW_STATE_HINT_NORMAL; } - if (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DESKTOP) - bd->layer = 0; - else if (bd->client.netwm.state.stacking == E_STACKING_BELOW) - bd->layer = 50; - else if (bd->client.netwm.state.stacking == E_STACKING_ABOVE) - bd->layer = 150; - else if (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DOCK) - bd->layer = 150; - else - bd->layer = 100; + if (!bd->lock_client_stacking) + { + if (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DESKTOP) + bd->layer = 0; + else if (bd->client.netwm.state.stacking == E_STACKING_BELOW) + bd->layer = 50; + else if (bd->client.netwm.state.stacking == E_STACKING_ABOVE) + bd->layer = 150; + else if (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DOCK) + bd->layer = 150; + else + bd->layer = 100; + } e_border_raise(bd); #if 0 @@ -394,22 +397,47 @@ bd->client.netwm.pid = -1; if (bd->client.netwm.state.sticky) - e_border_stick(bd); + { + if (!bd->lock_client_sticky) + e_border_stick(bd); + else + e_hints_window_sticky_set(bd, 0); + } if (bd->client.netwm.state.shaded) - e_border_shade(bd, e_hints_window_shade_direction_get(bd)); + { + if (!bd->lock_client_shade) + e_border_shade(bd, e_hints_window_shade_direction_get(bd)); + else + e_hints_window_shaded_set(bd, 0); + } if ((bd->client.netwm.state.maximized_v) && (bd->client.netwm.state.maximized_h)) { - e_hints_window_size_get(bd); - e_border_maximize(bd, e_config->maximize_policy); + if (!bd->lock_client_maximize) + { + e_hints_window_size_get(bd); + e_border_maximize(bd, e_config->maximize_policy); + } + else + e_hints_window_maximized_set(bd, 0); } if (bd->client.netwm.state.fullscreen) { - e_hints_window_size_get(bd); - e_border_fullscreen(bd); + if (!bd->lock_client_fullscreen) + { + e_hints_window_size_get(bd); + e_border_fullscreen(bd); + } + else + e_hints_window_fullscreen_set(bd, 0); + } + if ((bd->client.icccm.state == ECORE_X_WINDOW_STATE_HINT_ICONIC) && + (bd->client.netwm.state.hidden)) + { + if (!bd->lock_client_iconify) + e_border_iconify(bd); + else + e_hints_window_visible_set(bd); } - if ((bd->client.icccm.state == ECORE_X_WINDOW_STATE_HINT_ICONIC) - && (bd->client.netwm.state.hidden)) - e_border_iconify(bd); /* If a window isn't iconic, and is one the current desk, * show it! */ else if (bd->desk == e_desk_current_get(bd->zone)) @@ -483,8 +511,8 @@ case ECORE_X_WINDOW_STATE_ICONIFIED: if (action != ECORE_X_WINDOW_STATE_ACTION_ADD) return; if (bd->client.icccm.state == ECORE_X_WINDOW_STATE_HINT_ICONIC) return; - if (!bd->lock_client_iconify) - e_border_iconify(bd); + if (bd->lock_client_iconify) return; + e_border_iconify(bd); break; case ECORE_X_WINDOW_STATE_MODAL: changed = 0; @@ -516,6 +544,7 @@ } break; case ECORE_X_WINDOW_STATE_STICKY: + if (bd->lock_client_sticky) return; switch (action) { case ECORE_X_WINDOW_STATE_ACTION_REMOVE: @@ -533,6 +562,7 @@ } break; case ECORE_X_WINDOW_STATE_MAXIMIZED_VERT: + if (bd->lock_client_maximize) return; changed = 0; switch (action) { @@ -559,15 +589,16 @@ { bd->client.netwm.update.state = 1; bd->changed = 1; - if ((bd->client.netwm.state.maximized_v) - && (bd->client.netwm.state.maximized_h)) + if ((bd->client.netwm.state.maximized_v) && + (bd->client.netwm.state.maximized_h)) e_border_maximize(bd, e_config->maximize_policy); - else if ((!bd->client.netwm.state.maximized_v) - && (!bd->client.netwm.state.maximized_h)) + else if ((!bd->client.netwm.state.maximized_v) && + (!bd->client.netwm.state.maximized_h)) e_border_unmaximize(bd); } break; case ECORE_X_WINDOW_STATE_MAXIMIZED_HORZ: + if (bd->lock_client_maximize) return; changed = 0; switch (action) { @@ -594,15 +625,16 @@ { bd->client.netwm.update.state = 1; bd->changed = 1; - if ((bd->client.netwm.state.maximized_v) - && (bd->client.netwm.state.maximized_h)) + if ((bd->client.netwm.state.maximized_v) && + (bd->client.netwm.state.maximized_h)) e_border_maximize(bd, e_config->maximize_policy); - else if ((!bd->client.netwm.state.maximized_v) - && (!bd->client.netwm.state.maximized_h)) + else if ((!bd->client.netwm.state.maximized_v) && + (!bd->client.netwm.state.maximized_h)) e_border_unmaximize(bd); } break; case ECORE_X_WINDOW_STATE_SHADED: + if (bd->lock_client_shade) return; switch (action) { case ECORE_X_WINDOW_STATE_ACTION_REMOVE: @@ -681,6 +713,7 @@ /* Ignore */ break; case ECORE_X_WINDOW_STATE_FULLSCREEN: + if (bd->lock_client_fullscreen) return; switch (action) { case ECORE_X_WINDOW_STATE_ACTION_REMOVE: @@ -698,6 +731,7 @@ } break; case ECORE_X_WINDOW_STATE_ABOVE: + if (bd->lock_client_stacking) return; /* FIXME: Should this require that BELOW is set to 0 first, or just * do it? */ switch (action) @@ -720,6 +754,7 @@ } break; case ECORE_X_WINDOW_STATE_BELOW: + if (bd->lock_client_stacking) return; /* FIXME: Should this require that ABOVE is set to 0 first, or just * do it? */ switch (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 [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs