Enlightenment CVS committal Author : kwo Project : e16 Module : e
Dir : e16/e/src Modified Files: ecompmgr.c eobj.c ewins.c menus.c stacking.c Log Message: More stacking fixes. =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/ecompmgr.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- ecompmgr.c 12 Feb 2005 23:48:00 -0000 1.10 +++ ecompmgr.c 27 Feb 2005 17:32:18 -0000 1.11 @@ -2005,6 +2005,8 @@ eo = EobjListStackFind(ev->xmap.window); if (!eo) eo = EobjRegister(ev->xmap.window, EOBJ_TYPE_OVERR); + else + EobjListStackRaise(eo); /* FIXME - Use Configure/CirculateNotify */ if (eo) ECompMgrWinMap(eo, ev->xmap.serial, True); break; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/eobj.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- eobj.c 27 Feb 2005 01:11:51 -0000 1.12 +++ eobj.c 27 Feb 2005 17:32:19 -0000 1.13 @@ -77,7 +77,7 @@ * For usual EWin's the internal layer is the "old" E-layer * 10. * * Internal layers: - * 0: Desktop (possibly virtual) + * 0: Root * 3: Desktop type apps * 5: Below buttons * 10: Lowest ewins @@ -88,9 +88,11 @@ * 75: Above buttons * 80: Ontop ewins * 100: E-Dialogs - * 300: E-Menus - * 500: Floating ewins - * TBD: Override redirect + * 512-: Floating windows + * + 0: Virtual desktops + * +30: E-Menus + * +40: Override redirects + * +40: E-Tooltips */ switch (eo->type) @@ -129,8 +131,16 @@ if (floating == eo->floating) return; + switch (eo->type) + { + default: + break; + case EOBJ_TYPE_EWIN: + if (floating > 1) + eo->desk = 0; + break; + } eo->floating = floating; - eo->desk = 0; EobjSetLayer(eo, eo->layer); } @@ -202,13 +212,16 @@ if (!eo) return eo; - /* Just for debug */ +#if 1 /* Just for debug */ eo->name = ecore_x_icccm_title_get(win); +#endif if (EventDebug(EDBUG_TYPE_EWINS)) Eprintf("EobjRegister: %#lx %s\n", win, eo->name); - EobjSetLayer(eo, 80); + if (type == EOBJ_TYPE_OVERR) + EobjSetFloating(eo, 1); + EobjSetLayer(eo, 4); EobjListStackAdd(eo, 1); return eo; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/ewins.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -3 -r1.22 -r1.23 --- ewins.c 27 Feb 2005 14:42:40 -0000 1.22 +++ ewins.c 27 Feb 2005 17:32:19 -0000 1.23 @@ -979,6 +979,7 @@ } else { + RaiseEwin(ewin); MoveEwin(ewin, EoGetX(ewin), EoGetY(ewin)); } @@ -1411,14 +1412,6 @@ if (EventDebug(EDBUG_TYPE_STACKING)) Eprintf("RestackEwin %#lx %s\n", ewin->client.win, EwinGetName(ewin)); -#if 0 /* FIXME - remove? */ - if (EoIsFloating(ewin)) - { - ERaiseWindow(EoGetWin(ewin)); - goto done; - } -#endif - lst = EwinListGetForDesk(&num, EoGetDesk(ewin)); if (num < 2) goto done; @@ -1465,14 +1458,6 @@ if (EoGetWin(ewin)) { -#if 0 /* FIXME - remove? */ - if (EoIsFloating(ewin)) - { - ERaiseWindow(EoGetWin(ewin)); - goto done; - } -#endif - num = EwinListStackRaise(ewin); if (num == 0) /* Quit if stacking is unchanged */ goto done; @@ -1511,11 +1496,7 @@ Eprintf("LowerEwin(%d) %#lx %s\n", call_depth, ewin->client.win, EwinGetName(ewin)); -#if 0 /* FIXME - remove? */ - if ((EoGetWin(ewin)) && (!EoIsFloating(ewin))) -#else if (EoGetWin(ewin)) -#endif { num = EwinListStackLower(ewin); if (num == 0) /* Quit if stacking is unchanged */ =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/menus.c,v retrieving revision 1.172 retrieving revision 1.173 diff -u -3 -r1.172 -r1.173 --- menus.c 27 Feb 2005 13:17:29 -0000 1.172 +++ menus.c 27 Feb 2005 17:32:19 -0000 1.173 @@ -251,7 +251,7 @@ ewin->client.no_resize_h = ewin->client.no_resize_v = 1; EoSetSticky(ewin, 1); - EoSetLayer(ewin, 30); + EoSetLayer(ewin, 3); EoSetFloating(ewin, 1); EoSetOpacity(ewin, OpacityExt(Conf.menus.opacity)); } @@ -989,9 +989,9 @@ Mode_menus.cover_win = ECreateEventWindow(ewin->parent, 0, 0, VRoot.w, VRoot.h); Mode_menus.win_covered = EoGetWin(ewin); - eo = EobjRegister(Mode_menus.cover_win, EOBJ_TYPE_OTHER); + eo = EobjRegister(Mode_menus.cover_win, EOBJ_TYPE_OVERR); EobjSetDesk(eo, EoGetDesk(ewin)); - EobjSetLayer(eo, 20); + EobjSetLayer(eo, 2); EobjSetFloating(eo, 1); EobjListStackLower(eo); ESelectInput(Mode_menus.cover_win, =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/stacking.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -3 -r1.17 -r1.18 --- stacking.c 27 Feb 2005 01:11:51 -0000 1.17 +++ stacking.c 27 Feb 2005 17:32:20 -0000 1.18 @@ -97,12 +97,14 @@ if (ontop) { ewl->list[ewl->nwins] = eo; + ewl->nwins++; EobjListRaise(ewl, eo); } else { memmove(ewl->list + 1, ewl->list, ewl->nwins * sizeof(EObj *)); ewl->list[0] = eo; + ewl->nwins++; EobjListLower(ewl, eo); } @@ -119,8 +121,8 @@ { ewl->list[ewl->nwins] = eo; } + ewl->nwins++; } - ewl->nwins++; EobjListShow("EobjListAdd", ewl); } ------------------------------------------------------- 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