Eliminate need for initial EwinMoveToDesktop (fix initial pager background).
SVN revision: 43737
This commit is contained in:
parent
542b551d80
commit
633281a9c6
|
@ -289,14 +289,12 @@ ContainerShow(Container * ct)
|
|||
|
||||
if (ewin->state.placed)
|
||||
{
|
||||
EwinMoveToDesktop(ewin, EoGetDesk(ewin));
|
||||
EwinMoveResize(ewin, EoGetX(ewin), EoGetY(ewin), ewin->client.w,
|
||||
ewin->client.h);
|
||||
EwinMoveResize(ewin, EoGetX(ewin), EoGetY(ewin),
|
||||
ewin->client.w, ewin->client.h);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* The first one */
|
||||
EwinMoveToDesktop(ewin, EoGetDesk(ewin));
|
||||
EwinResize(ewin, 128, 32);
|
||||
EwinMove(ewin, WinGetW(VROOT) - EoGetW(ewin),
|
||||
WinGetH(VROOT) - EoGetH(ewin));
|
||||
|
|
|
@ -448,8 +448,6 @@ DialogShowArranged(Dialog * d, int center)
|
|||
ewin->client.event_mask |= KeyPressMask;
|
||||
ESelectInput(d->win, ewin->client.event_mask);
|
||||
|
||||
EwinMoveToDesktop(ewin, EoGetDesk(ewin));
|
||||
|
||||
if (ewin->state.placed)
|
||||
{
|
||||
EwinMoveResize(ewin, EoGetX(ewin), EoGetY(ewin), d->w, d->h);
|
||||
|
|
|
@ -182,40 +182,40 @@ doEwinMoveResize(EWin * ewin, Desk * dsk, int x, int y, int w, int h, int flags)
|
|||
reparent = move = resize = raise = 0;
|
||||
floating = EoIsFloating(ewin);
|
||||
|
||||
if (flags & (MRF_DESK | MRF_FLOAT | MRF_UNFLOAT))
|
||||
if (flags & MRF_FLOAT)
|
||||
{
|
||||
if (flags & MRF_FLOAT)
|
||||
if (floating == 0)
|
||||
{
|
||||
if (EoIsFloating(ewin) == 0)
|
||||
{
|
||||
dsk = (pdesk == NULL) ? EoGetDesk(ewin) : pdesk;
|
||||
floating = 1;
|
||||
}
|
||||
else if (EoIsFloating(ewin) == 1)
|
||||
{
|
||||
dsk = DeskGet(0);
|
||||
floating = 2;
|
||||
}
|
||||
flags |= MRF_RAISE;
|
||||
dsk = (pdesk == NULL) ? EoGetDesk(ewin) : pdesk;
|
||||
floating = 1;
|
||||
}
|
||||
else if (flags & MRF_UNFLOAT)
|
||||
else if (floating == 1)
|
||||
{
|
||||
floating = 0;
|
||||
flags |= MRF_RAISE;
|
||||
dsk = DeskGet(0);
|
||||
floating = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (EoIsSticky(ewin) && !EoIsFloating(ewin))
|
||||
dsk = DesksGetCurrent();
|
||||
}
|
||||
if (dsk != pdesk)
|
||||
reparent = 1;
|
||||
flags |= MRF_RAISE;
|
||||
}
|
||||
else
|
||||
else if (flags & MRF_UNFLOAT)
|
||||
{
|
||||
floating = 0;
|
||||
flags |= MRF_RAISE;
|
||||
}
|
||||
else if (EoIsSticky(ewin) && !floating)
|
||||
{
|
||||
dsk = DesksGetCurrent();
|
||||
}
|
||||
else if (!dsk)
|
||||
{
|
||||
dsk = EoGetDesk(ewin);
|
||||
}
|
||||
|
||||
if (dsk != pdesk)
|
||||
{
|
||||
reparent = 1;
|
||||
flags |= MRF_DESK;
|
||||
}
|
||||
|
||||
if (Mode.mode == MODE_NONE && Mode.move.check)
|
||||
{
|
||||
/* Don't throw windows offscreen */
|
||||
|
@ -331,9 +331,15 @@ doEwinMoveResize(EWin * ewin, Desk * dsk, int x, int y, int w, int h, int flags)
|
|||
ModulesSignal(ESIGNAL_EWIN_CHANGE, ewin);
|
||||
|
||||
if (reparent)
|
||||
EoReparent(ewin, EoObj(dsk), x, y);
|
||||
{
|
||||
EoReparent(ewin, EoObj(dsk), x, y);
|
||||
if (flags & MRF_RESIZE)
|
||||
EoResize(ewin, w, h);
|
||||
}
|
||||
else
|
||||
EoMoveResize(ewin, x, y, w, h);
|
||||
{
|
||||
EoMoveResize(ewin, x, y, w, h);
|
||||
}
|
||||
|
||||
configure = 0;
|
||||
if (Mode.mode == MODE_NONE || resize || Conf.movres.update_while_moving)
|
||||
|
|
|
@ -425,7 +425,6 @@ MagwinCreate(const char *title, int width, int height)
|
|||
|
||||
mw->ewin->o.ghost = 1;
|
||||
EoSetLayer(mw->ewin, 10);
|
||||
EwinMoveToDesktop(mw->ewin, EoGetDesk(mw->ewin));
|
||||
EwinMoveResize(mw->ewin, EoGetX(mw->ewin), EoGetY(mw->ewin), w, h);
|
||||
|
||||
mw->ewin->client.event_mask |=
|
||||
|
|
|
@ -344,7 +344,6 @@ MenuShow(Menu * m, char noshow)
|
|||
|
||||
ewin->head = head_num;
|
||||
|
||||
EwinMoveToDesktop(ewin, EoGetDesk(ewin));
|
||||
EwinResize(ewin, ewin->client.w, ewin->client.h);
|
||||
|
||||
if (Conf.menus.animate)
|
||||
|
|
15
src/pager.c
15
src/pager.c
|
@ -692,7 +692,6 @@ static void
|
|||
PagerShow(Pager * p)
|
||||
{
|
||||
EWin *ewin;
|
||||
int w, h;
|
||||
|
||||
if (!Conf_pagers.enable)
|
||||
return;
|
||||
|
@ -719,25 +718,23 @@ PagerShow(Pager * p)
|
|||
EnterWindowMask | LeaveWindowMask | PointerMotionMask;
|
||||
ESelectInput(p->win, ewin->client.event_mask);
|
||||
|
||||
w = ewin->client.w;
|
||||
h = ewin->client.h;
|
||||
|
||||
EwinMoveToDesktop(ewin, EoGetDesk(ewin));
|
||||
if (ewin->state.placed)
|
||||
{
|
||||
EwinMoveResize(ewin, EoGetX(ewin), EoGetY(ewin), w, h);
|
||||
EwinMoveResize(ewin, EoGetX(ewin), EoGetY(ewin),
|
||||
ewin->client.w, ewin->client.h);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* no snapshots ? first time ? make a row on the bottom left up */
|
||||
int ax, ay;
|
||||
int ax, ay, x, y, w, h;
|
||||
|
||||
DesksGetAreaSize(&ax, &ay);
|
||||
w = ((48 * WinGetW(VROOT)) / WinGetH(VROOT)) * ax;
|
||||
h = 48 * ay;
|
||||
EwinResize(ewin, w, h); /* Does layout */
|
||||
EwinMove(ewin, 0, WinGetH(VROOT) -
|
||||
(DesksGetNumber() - p->dsk->num) * EoGetH(ewin));
|
||||
x = 0;
|
||||
y = WinGetH(VROOT) - (DesksGetNumber() - p->dsk->num) * EoGetH(ewin);
|
||||
EwinMove(ewin, x, y);
|
||||
}
|
||||
|
||||
EwinShow(ewin);
|
||||
|
|
Loading…
Reference in New Issue