Enlightenment CVS committal Author : kwo Project : e16 Module : e
Dir : e16/e/src Modified Files: dialog.c ewins.c iconify.c menus.c pager.c Log Message: Internal window initial setup fixes. =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/dialog.c,v retrieving revision 1.100 retrieving revision 1.101 diff -u -3 -r1.100 -r1.101 --- dialog.c 20 Feb 2005 18:51:52 -0000 1.100 +++ dialog.c 27 Feb 2005 13:17:28 -0000 1.101 @@ -534,10 +534,19 @@ static void DialogEwinInit(EWin * ewin, void *ptr) { + Dialog *d = ptr; + ewin->data = ptr; + ewin->MoveResize = DialogEwinMoveResize; ewin->Refresh = DialogEwinRefresh; ewin->Close = DialogEwinClose; + + ewin->client.width.min = ewin->client.width.max = ewin->client.w = d->w; + ewin->client.height.min = ewin->client.height.max = ewin->client.h = d->h; + ewin->client.no_resize_h = ewin->client.no_resize_v = 1; + + EoSetLayer(ewin, 10); } void =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/ewins.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -3 -r1.20 -r1.21 --- ewins.c 27 Feb 2005 01:11:51 -0000 1.20 +++ ewins.c 27 Feb 2005 13:17:28 -0000 1.21 @@ -548,7 +548,10 @@ } static EWin * -AdoptInternal(Window win, Border * border, int type) +AdoptInternal(Window win, Border * border, int type, void (*init) (EWin * + ewin, + void *ptr), + void *ptr) { EWin *ewin; @@ -556,57 +559,15 @@ ewin->border = border; - /* This should go into the init functions... */ - switch (type) - { - case EWIN_TYPE_DIALOG: - EoSetLayer(ewin, 10); - break; - case EWIN_TYPE_MENU: - EoSetLayer(ewin, 30); - ewin->skiptask = 1; - ewin->skip_ext_pager = 1; - ewin->no_actions = 1; - ewin->skipfocus = 1; - ewin->skipwinlist = 1; - ewin->neverfocus = 1; - ewin->client.grav = StaticGravity; - break; - case EWIN_TYPE_ICONBOX: - EoSetSticky(ewin, 1); - ewin->skiptask = 1; - ewin->skip_ext_pager = 1; - ewin->skipfocus = 1; - ewin->skipwinlist = 1; - ewin->neverfocus = 1; - ewin->props.inhibit_iconify = 1; - ewin->props.autosave = 1; - break; - case EWIN_TYPE_PAGER: - EoSetSticky(ewin, 1); - ewin->skiptask = 1; - ewin->skip_ext_pager = 1; - ewin->skipfocus = 1; - ewin->skipwinlist = 1; - ewin->neverfocus = 1; - ewin->props.autosave = 1; - break; - } + if (init) + init(ewin, ptr); /* Type specific initialisation */ ICCCM_AdoptStart(ewin); ICCCM_GetTitle(ewin, 0); ICCCM_GetInfo(ewin, 0); ICCCM_GetShapeInfo(ewin); ICCCM_GetGeoms(ewin, 0); - switch (type) - { - case EWIN_TYPE_DIALOG: - case EWIN_TYPE_MENU: - ewin->client.width.min = ewin->client.width.max = ewin->client.w; - ewin->client.height.min = ewin->client.height.max = ewin->client.h; - ewin->client.no_resize_h = ewin->client.no_resize_v = 1; - break; - } + WindowMatchEwinOps(ewin); /* Window matches */ SnapshotEwinMatch(ewin); /* Saved settings */ ICCCM_MatchSize(ewin); @@ -934,21 +895,24 @@ ecore_x_grab(); - ewin = AdoptInternal(win, b, type); - - EoSetDesk(ewin, EoGetDesk(ewin)); - EwinConformToDesktop(ewin); + ewin = AdoptInternal(win, b, type, init, ptr); - if (init) - init(ewin, ptr); /* Type specific initialisation */ +#if 0 + Eprintf("Desk=%d, layer=%d, sticky=%d, floating=%d\n", + EoGetDesk(ewin), EoGetLayer(ewin), EoIsSticky(ewin), + EoIsFloating(ewin)); +#endif #if 0 /* FIXME - Remove? */ EwinBorderDraw(ewin, 1, 1, 1); #endif + EwinConformToDesktop(ewin); EwinDetermineArea(ewin); +#if 1 /* FIXME - Handle via object stack */ StartupWindowsRaise(); +#endif ecore_x_ungrab(); =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/iconify.c,v retrieving revision 1.136 retrieving revision 1.137 diff -u -3 -r1.136 -r1.137 --- iconify.c 26 Feb 2005 08:32:16 -0000 1.136 +++ iconify.c 27 Feb 2005 13:17:29 -0000 1.137 @@ -503,7 +503,7 @@ call_depth++; if (!TransparencyEnabled() && - ib->w == ewin->client.w && ib->h == ewin->client.h) + ib->w == ewin->client.w && ib->h == ewin->client.h && !ib->force_update) goto done; ib->w = ewin->client.w; @@ -541,9 +541,20 @@ IconboxEwinInit(EWin * ewin, void *ptr) { ewin->data = (Iconbox *) ptr; + ewin->MoveResize = IconboxEwinMoveResize; ewin->Refresh = IconboxEwinRefresh; ewin->Close = IconboxEwinClose; + + ewin->skiptask = 1; + ewin->skip_ext_pager = 1; + ewin->skipfocus = 1; + ewin->skipwinlist = 1; + ewin->neverfocus = 1; + ewin->props.inhibit_iconify = 1; + ewin->props.autosave = 1; + + EoSetSticky(ewin, 1); } static void =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/menus.c,v retrieving revision 1.171 retrieving revision 1.172 diff -u -3 -r1.171 -r1.172 --- menus.c 22 Feb 2005 21:44:58 -0000 1.171 +++ menus.c 27 Feb 2005 13:17:29 -0000 1.172 @@ -74,8 +74,9 @@ { char *name; char *title; - EWin *ewin; MenuStyle *style; + EWin *ewin; + int w, h; int num; MenuItem **items; Window win; @@ -229,13 +230,30 @@ static void MenuEwinInit(EWin * ewin, void *ptr) { + Menu *m = ptr; + ewin->data = ptr; + ewin->MoveResize = MenuEwinMoveResize; ewin->Refresh = MenuEwinRefresh; ewin->Close = MenuEwinClose; - EoSetOpacity(ewin, OpacityExt(Conf.menus.opacity)); + + ewin->skiptask = 1; + ewin->skip_ext_pager = 1; + ewin->no_actions = 1; + ewin->skipfocus = 1; + ewin->skipwinlist = 1; + ewin->neverfocus = 1; + ewin->client.grav = StaticGravity; + + ewin->client.width.min = ewin->client.width.max = ewin->client.w = m->w; + ewin->client.height.min = ewin->client.height.max = ewin->client.h = m->h; + ewin->client.no_resize_h = ewin->client.no_resize_v = 1; + EoSetSticky(ewin, 1); + EoSetLayer(ewin, 30); EoSetFloating(ewin, 1); + EoSetOpacity(ewin, OpacityExt(Conf.menus.opacity)); } static void MenuShowMasker(Menu * m); @@ -824,6 +842,7 @@ else y += maxh; } + if ((m->style->bg_iclass) && (!m->style->use_item_bg)) { mmw += m->style->bg_iclass->padding.right; @@ -831,6 +850,8 @@ } m->redraw = 1; + m->w = mmw; + m->h = mmh; EResizeWindow(m->win, mmw, mmh); Mode.queue_up = pq; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/pager.c,v retrieving revision 1.117 retrieving revision 1.118 diff -u -3 -r1.117 -r1.118 --- pager.c 26 Feb 2005 16:40:36 -0000 1.117 +++ pager.c 27 Feb 2005 13:17:30 -0000 1.118 @@ -569,9 +569,19 @@ PagerEwinInit(EWin * ewin, void *ptr) { ewin->data = ptr; + ewin->MoveResize = PagerEwinMoveResize; ewin->Refresh = PagerEwinRefresh; ewin->Close = PagerEwinClose; + + ewin->skiptask = 1; + ewin->skip_ext_pager = 1; + ewin->skipfocus = 1; + ewin->skipwinlist = 1; + ewin->neverfocus = 1; + ewin->props.autosave = 1; + + EoSetSticky(ewin, 1); } static void ------------------------------------------------------- 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