Enlightenment CVS committal Author : raster Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_border.h e_hints.c Log Message: 1. TODO item 2. netwm stuff broke e17 - it was setting all windwos to want to go to desk 0 as if it didnt find netwm hints - netwm.desk was 0 anyway - and thus bordfers got instantly re-attached to deskt 0... and thus if u flipped desktops, things got weird (new windwos all jumped to desk 0) =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.h,v retrieving revision 1.53 retrieving revision 1.54 diff -u -3 -r1.53 -r1.54 --- e_border.h 16 May 2005 15:43:09 -0000 1.53 +++ e_border.h 17 May 2005 08:30:15 -0000 1.54 @@ -148,6 +148,7 @@ struct { pid_t pid; unsigned int desktop; + unsigned char use_desktop : 1; /* NetWM Window state */ struct { =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_hints.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -3 -r1.23 -r1.24 --- e_hints.c 16 May 2005 15:43:09 -0000 1.23 +++ e_hints.c 17 May 2005 08:30:26 -0000 1.24 @@ -289,14 +289,20 @@ e_border_raise(bd); if (!ecore_x_netwm_desktop_get(bd->client.win, &bd->client.netwm.desktop)) - bd->client.netwm.desktop = 0; + { + bd->client.netwm.use_desktop = 0; + bd->client.netwm.desktop = 0; + } + else + bd->client.netwm.use_desktop = 1; if (!ecore_x_netwm_pid_get(bd->client.win, &bd->client.netwm.pid)) bd->client.netwm.pid = -1; if (bd->client.netwm.desktop == 0xffffffff) e_border_stick(bd); - else if ((bd->client.netwm.desktop >= 0) - && (bd->client.netwm.desktop < (bd->zone->desk_x_count * bd->zone->desk_y_count))) + else if ((bd->client.netwm.use_desktop) && + (bd->client.netwm.desktop >= 0) && + (bd->client.netwm.desktop < (bd->zone->desk_x_count * bd->zone->desk_y_count))) { E_Desk *desk; int x, y; @@ -305,7 +311,8 @@ x = bd->client.netwm.desktop - (y * bd->zone->desk_x_count); desk = e_desk_at_xy_get(bd->zone, x, y); - e_border_desk_set(bd, desk); + if (desk) + e_border_desk_set(bd, desk); } if (bd->client.netwm.state.sticky) ------------------------------------------------------- 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=7412&alloc_id=16344&op=click _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs