Enlightenment CVS committal Author : kwo Project : e16 Module : e
Dir : e16/e/src Modified Files: E.h desktops.c ewin-ops.c pager.c Log Message: Desk switch tweaks, shuffle some code around. =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/E.h,v retrieving revision 1.434 retrieving revision 1.435 diff -u -3 -r1.434 -r1.435 --- E.h 22 May 2005 07:54:51 -0000 1.434 +++ E.h 22 May 2005 13:45:09 -0000 1.435 @@ -276,7 +276,6 @@ #define MODE_DESKRAY 8 #define MODE_PAGER_DRAG_PENDING 9 #define MODE_PAGER_DRAG 10 -#define MODE_DESKSWITCH 11 #define EVENT_MOUSE_DOWN 0 #define EVENT_MOUSE_UP 1 =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/desktops.c,v retrieving revision 1.146 retrieving revision 1.147 diff -u -3 -r1.146 -r1.147 --- desktops.c 14 May 2005 19:40:33 -0000 1.146 +++ desktops.c 22 May 2005 13:45:09 -0000 1.147 @@ -41,7 +41,6 @@ } Desktops; -static void DeskMove(Desk * d, int x, int y); static void DeskRaise(int num); static void DeskLower(int num); static void DesktopHandleEvents(XEvent * ev, void *prm); @@ -955,96 +954,21 @@ Efree(lst); } -void -DeskGoto(int desk) +static void +DesksStackingCheck(void) { Desk *d; + int i; - if (Conf.desks.desks_wraparound) - { - if (desk >= Conf.desks.num) - desk = 0; - else if (desk < 0) - desk = Conf.desks.num - 1; - } - if (desk < 0 || desk >= Conf.desks.num || desk == desks.previous) - return; - - if (EventDebug(EDBUG_TYPE_DESKS)) - Eprintf("DeskGoto %d\n", desk); - - ModulesSignal(ESIGNAL_DESK_SWITCH_START, NULL); - - ActionsSuspend(); - - FocusNewDeskBegin(); - - if (Mode.mode == MODE_NONE) - Mode.mode = MODE_DESKSWITCH; - - if (desk > 0) - { - d = _DeskGet(desk); - - if (Conf.desks.slidein) - { - if (!d->viewable) - { - switch (Conf.desks.dragdir) - { - case 0: - DeskMove(d, VRoot.w, 0); - DeskRaise(desk); - EobjSlideTo(&d->o, VRoot.w, 0, 0, 0, - Conf.desks.slidespeed); - break; - case 1: - DeskMove(d, -VRoot.w, 0); - DeskRaise(desk); - EobjSlideTo(&d->o, -VRoot.w, 0, 0, 0, - Conf.desks.slidespeed); - break; - case 2: - DeskMove(d, 0, VRoot.h); - DeskRaise(desk); - EobjSlideTo(&d->o, 0, VRoot.h, 0, 0, - Conf.desks.slidespeed); - break; - case 3: - DeskMove(d, 0, -VRoot.h); - DeskRaise(desk); - EobjSlideTo(&d->o, 0, -VRoot.h, 0, 0, - Conf.desks.slidespeed); - break; - default: - break; - } - } - else - { - EobjSlideTo(&d->o, EoGetX(d), EoGetY(d), 0, 0, - Conf.desks.slidespeed); - DeskRaise(desk); - } - } - else - { - DeskRaise(desk); - } - DeskMove(d, 0, 0); - } - else + for (i = 0; i < Conf.desks.num; i++) { - DeskRaise(desk); + d = DeskGet(i); + if (i && !d->viewable) + continue; + if (!d->dirty_stack) + continue; + StackDesktop(i); } - - ActionsResume(); - FocusNewDesk(); - - if (Mode.mode == MODE_DESKSWITCH) - Mode.mode = MODE_NONE; - - ModulesSignal(ESIGNAL_DESK_SWITCH_DONE, NULL); } static void @@ -1121,20 +1045,111 @@ } static void -DesksStackingCheck(void) +DeskEnter(Desk * d) { - Desk *d; int i; - for (i = 0; i < Conf.desks.num; i++) + d->viewable = 1; + DeskRefresh(d->num); + MoveToDeskTop(d->num); + + desks.previous = desks.current = d->num; + + if (d->num == 0) { - d = DeskGet(i); - if (i && !d->viewable) - continue; - if (!d->dirty_stack) - continue; - StackDesktop(i); + for (i = Conf.desks.num - 1; i > 0; i--) + DeskHide(desks.order[i]); } + else + { + EoMap(d, 0); + } + + MoveStickyWindowsToCurrentDesk(); + MoveStickyButtonsToCurrentDesk(); + DesksStackingCheck(); + HintsSetCurrentDesktop(); +} + +void +DeskGoto(int desk) +{ + Desk *d; + + if (Conf.desks.desks_wraparound) + { + if (desk >= Conf.desks.num) + desk = 0; + else if (desk < 0) + desk = Conf.desks.num - 1; + } + if (desk < 0 || desk >= Conf.desks.num || desk == desks.previous) + return; + + d = _DeskGet(desk); + + if (EventDebug(EDBUG_TYPE_DESKS)) + Eprintf("DeskGoto %d\n", desk); + + ModulesSignal(ESIGNAL_DESK_SWITCH_START, NULL); + + ActionsSuspend(); + FocusNewDeskBegin(); + + if (desk > 0) + { + if (Conf.desks.slidein) + { + if (!d->viewable) + { + int x, y; + + switch (Conf.desks.dragdir) + { + default: + case 0: + x = VRoot.w; + y = 0; + break; + case 1: + x = -VRoot.w; + y = 0; + break; + case 2: + x = 0; + y = VRoot.h; + break; + case 3: + x = 0; + y = -VRoot.h; + break; + } + DeskMove(d, x, y); + DeskEnter(d); + EobjSlideTo(&d->o, x, y, 0, 0, Conf.desks.slidespeed); + } + else + { + EobjSlideTo(&d->o, EoGetX(d), EoGetY(d), 0, 0, + Conf.desks.slidespeed); + DeskEnter(d); + } + } + else + { + DeskEnter(d); + } + DeskMove(d, 0, 0); + } + else + { + DeskEnter(d); + } + + ActionsResume(); + FocusNewDesk(); + + ModulesSignal(ESIGNAL_DESK_SWITCH_DONE, NULL); } static void @@ -1157,40 +1172,21 @@ DeskRaise(int desk) { Desk *d; - int i; if (desk < 0 || desk >= Conf.desks.num) return; d = _DeskGet(desk); - FocusNewDeskBegin(); - d->viewable = 1; - DeskRefresh(desk); - MoveToDeskTop(desk); - if (EventDebug(EDBUG_TYPE_DESKS)) Eprintf("DeskRaise(%d) current=%d\n", desk, desks.current); - desks.previous = desks.current = desk; + FocusNewDeskBegin(); + DeskEnter(d); + FocusNewDesk(); - if (desk == 0) - { - for (i = Conf.desks.num - 1; i > 0; i--) - DeskHide(desks.order[i]); - } - else - { - EoMap(d, 0); - } + ModulesSignal(ESIGNAL_DESK_SWITCH_DONE, NULL); - MoveStickyWindowsToCurrentDesk(); - MoveStickyButtonsToCurrentDesk(); - DesksStackingCheck(); - FocusNewDesk(); - if (Mode.mode == MODE_NONE) - ModulesSignal(ESIGNAL_DESK_SWITCH_DONE, NULL); - HintsSetCurrentDesktop(); ESync(); } =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/ewin-ops.c,v retrieving revision 1.40 retrieving revision 1.41 diff -u -3 -r1.40 -r1.41 --- ewin-ops.c 22 May 2005 07:54:52 -0000 1.40 +++ ewin-ops.c 22 May 2005 13:45:10 -0000 1.41 @@ -261,8 +261,8 @@ call_depth++; if (EventDebug(EDBUG_TYPE_MOVERESIZE)) - Eprintf("doMoveResizeEwin(%d) %#lx f=%x d=%d %d+%d %d*%d %s\n", - call_depth, ewin->client.win, flags, desk, x, y, w, h, + Eprintf("doMoveResizeEwin(%d,%d) %#lx f=%x d=%d %d+%d %d*%d %s\n", + call_depth, Mode.mode, ewin->client.win, flags, desk, x, y, w, h, EwinGetName(ewin)); pdesk = (ewin->o.stacked >= 0) ? EoGetDesk(ewin) : -1; @@ -456,8 +456,7 @@ EwinDetermineArea(ewin); - if ((Mode.mode == MODE_NONE || - Mode.mode == MODE_DESKSWITCH) /* && (move || resize) */ ) + if (Mode.mode == MODE_NONE) { if (TransparencyEnabled()) EwinBorderDraw(ewin, resize, 1); /* Update the border */ =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/pager.c,v retrieving revision 1.141 retrieving revision 1.142 diff -u -3 -r1.141 -r1.142 --- pager.c 22 May 2005 07:53:49 -0000 1.141 +++ pager.c 22 May 2005 13:45:10 -0000 1.142 @@ -326,7 +326,7 @@ EWin *const *lst; int i, num; - if (!Conf.pagers.enable || Mode.mode == MODE_DESKSWITCH) + if (!Conf.pagers.enable) return; /* Desk may be gone */ @@ -482,7 +482,7 @@ EWin *const *lst; int i, num; - if (!Conf.pagers.enable || Mode.mode == MODE_DESKSWITCH) + if (!Conf.pagers.enable) return; /* Desk may be gone */ ------------------------------------------------------- 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