Enlightenment CVS committal Author : kwo Project : e16 Module : e
Dir : e16/e/src Modified Files: E.h desktops.c Log Message: Fix background timeouts with offset desks. =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/E.h,v retrieving revision 1.383 retrieving revision 1.384 diff -u -3 -r1.383 -r1.384 --- E.h 5 Mar 2005 12:19:46 -0000 1.383 +++ E.h 5 Mar 2005 17:52:01 -0000 1.384 @@ -1361,7 +1361,6 @@ void DeskGetArea(int desk, int *ax, int *ay); void DeskSetArea(int desk, int ax, int ay); int DeskIsViewable(int desk); -void DeskSetViewable(int desk, int on); void DeskSetDirtyStack(int desk); void DeskGetCurrentArea(int *ax, int *ay); Window DeskGetCurrentRoot(void); =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/desktops.c,v retrieving revision 1.128 retrieving revision 1.129 diff -u -3 -r1.128 -r1.129 --- desktops.c 5 Mar 2005 12:19:48 -0000 1.128 +++ desktops.c 5 Mar 2005 17:52:01 -0000 1.129 @@ -552,12 +552,6 @@ } void -DeskSetViewable(int desk, int on) -{ - _DeskGet(desk)->viewable = on; -} - -void DeskSetDirtyStack(int desk) { Desk *d = _DeskGet(desk); @@ -863,14 +857,14 @@ if (desk < 0 || desk >= Conf.desks.num) return; - if (!_DeskGet(desk)->viewable) + d = _DeskGet(desk); + + if (!d->viewable) return; if (EventDebug(EDBUG_TYPE_DESKS)) Eprintf("DeskRefresh %d\n", desk); - d = _DeskGet(desk); - bg = d->bg; if (!bg) return; @@ -1094,75 +1088,52 @@ if (desk <= 0 || desk >= Conf.desks.num) return; + n = -1; + i = 0; + while (n < 0 && i < Conf.desks.num) + { + if (desks.order[i] == desk) + n = i; + i++; + } + if (n < 0) /* Should not be possible */ + return; + d = _DeskGet(desk); dx = x - EoGetX(d); dy = y - EoGetY(d); - if ((x == 0) && (y == 0)) + if (x == 0 && y == 0) { - n = -1; - i = 0; - while (n < 0 && i < Conf.desks.num) - { - if (desks.order[i] == desk) - n = i; - i++; - } - if (n >= 0) + /* Desks below are obscured - touch and set unviewable */ + for (i = n + 1; i < Conf.desks.num; i++) { - for (i = n + 1; i < Conf.desks.num; i++) - { - dd = _DeskGet(desks.order[i]); - if (dd->viewable) - BackgroundTouch(dd->bg); - dd->viewable = 0; - } + dd = _DeskGet(desks.order[i]); + if (dd->viewable) + BackgroundTouch(dd->bg); + dd->viewable = 0; } } else { - n = -1; - i = 0; + v = d->viewable; - while (n < 0 && i < Conf.desks.num) + for (i = n + 1; i < Conf.desks.num; i++) { - if (desks.order[i] == desk) - n = i; - i++; - } - - if (n >= 0) - { - dd = _DeskGet(desks.order[n]); - if (dd->viewable) + dd = _DeskGet(desks.order[i]); + if (!dd->viewable && v) { - v = 1; + dd->viewable = 1; + DeskRefresh(desks.order[i]); } - else + else if (dd->viewable && !v) { - v = 0; + BackgroundTouch(dd->bg); + dd->viewable = 0; } - for (i = n + 1; i < Conf.desks.num; i++) - { - dd = _DeskGet(desks.order[i]); - if ((!d->viewable) && (v)) - { - d->viewable = v; - DeskRefresh(desks.order[i]); - } - else - { - if ((!v) && (d->viewable)) - BackgroundTouch(d->bg); - d->viewable = v; - } - - if (EoGetX(d) == 0 && EoGetY(d) == 0) - { - v = 0; - } - } + if (EoGetX(dd) == 0 && EoGetY(dd) == 0) + v = 0; } } @@ -1660,8 +1631,7 @@ case ESIGNAL_CONFIGURE: SetAreaSize(Conf.desks.areas_nx, Conf.desks.areas_ny); - DeskSetViewable(0, 1); - DeskRefresh(0); + UncoverDesktop(0); /* toss down the dragbar and related */ DesksControlsCreate(); @@ -2248,6 +2218,18 @@ sscanf(prm, "%i", &desk); ChangeNumberOfDesktops(desk); } + else if (!strncmp(cmd, "list", 2)) + { + Desk *d; + + for (desk = 0; desk < Conf.desks.num; desk++) + { + d = _DeskGet(desk); + IpcPrintf("Desk %d: x,y=%d,%d w,h=%d,%d viewable=%d order=%d\n", + desk, EoGetX(d), EoGetY(d), EoGetW(d), EoGetH(d), + d->viewable, desks.order[desk]); + } + } else if (!strncmp(cmd, "goto", 2)) { sscanf(prm, "%i", &desk); ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs