Enlightenment CVS committal Author : sebastid Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_border.c e_border.h e_hints.c Log Message: If something breaks because of the mwm disable, we need to implement more actions on window type :) =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.c,v retrieving revision 1.237 retrieving revision 1.238 diff -u -3 -r1.237 -r1.238 --- e_border.c 3 Jun 2005 19:10:24 -0000 1.237 +++ e_border.c 3 Jun 2005 19:58:26 -0000 1.238 @@ -302,7 +302,7 @@ bd->client.netwm.state.skip_pager = 0; bd->client.netwm.state.fullscreen = 0; bd->client.netwm.state.stacking = E_STACKING_NONE; - bd->client.netwm.type = ECORE_X_WINDOW_TYPE_NORMAL; + bd->client.netwm.type = ECORE_X_WINDOW_TYPE_UNKNOWN; { int at_num = 0, i; @@ -369,6 +369,12 @@ printf("ECORE_X_ATOM_NET_WM_STRUT_PARTIAL\n"); bd->client.netwm.fetch.strut = 1; } + else if (atoms[i] == ECORE_X_ATOM_NET_WM_WINDOW_TYPE) + { + /* Ignore mwm */ + bd->client.mwm.fetch.hints = 0; + bd->client.netwm.fetch.type = 1; + } } free(atoms); } @@ -1965,8 +1971,12 @@ } else if (e->atom == ECORE_X_ATOM_MOTIF_WM_HINTS) { - bd->client.mwm.fetch.hints = 1; - bd->changed = 1; + if ((bd->client.netwm.type == ECORE_X_WINDOW_TYPE_UNKNOWN) && + (!bd->client.netwm.fetch.type)) + { + bd->client.mwm.fetch.hints = 1; + bd->changed = 1; + } } else if (e->atom == ECORE_X_ATOM_WM_TRANSIENT_FOR) { @@ -3039,6 +3049,18 @@ } bd->changes.icon = 0; } + if (bd->client.netwm.fetch.type) + { + e_hints_window_type_get(bd); + if (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DESKTOP) + { + if (bd->client.border.name) free(bd->client.border.name); + bd->client.border.name = strdup("borderless"); + bd->client.border.changed = 1; + } + + bd->client.netwm.fetch.type = 0; + } if (bd->client.icccm.fetch.machine) { if (bd->client.icccm.machine) free(bd->client.icccm.machine); =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.h,v retrieving revision 1.66 retrieving revision 1.67 diff -u -3 -r1.66 -r1.67 --- e_border.h 3 Jun 2005 12:23:34 -0000 1.66 +++ e_border.h 3 Jun 2005 19:58:27 -0000 1.67 @@ -206,6 +206,7 @@ unsigned char icon : 1; unsigned char user_time : 1; unsigned char strut : 1; + unsigned char type : 1; /* No, fetch on new_client, shouldn't be changed after map. unsigned char pid : 1; */ =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_hints.c,v retrieving revision 1.44 retrieving revision 1.45 diff -u -3 -r1.44 -r1.45 --- e_hints.c 3 Jun 2005 19:10:25 -0000 1.44 +++ e_hints.c 3 Jun 2005 19:58:27 -0000 1.45 @@ -299,7 +299,6 @@ { /* Don't need fetch flag, is onlt called from new border */ e_hints_window_state_get(bd); - e_hints_window_type_get(bd); bd->client.icccm.state = ecore_x_icccm_state_get(bd->client.win); if (bd->client.icccm.state == ECORE_X_WINDOW_STATE_HINT_NONE) ------------------------------------------------------- This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? If you want to score the big prize, get to know the little guy. Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs