You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
1.7 KiB
71 lines
1.7 KiB
3 years ago
|
void
|
||
|
maximize(int x, int y, int w, int h)
|
||
|
{
|
||
|
XEvent ev;
|
||
|
|
||
|
if (!selmon->sel || selmon->sel->isfixed)
|
||
|
return;
|
||
|
XRaiseWindow(dpy, selmon->sel->win);
|
||
|
if (!selmon->sel->ismax) {
|
||
|
if (!selmon->lt[selmon->sellt]->arrange || selmon->sel->isfloating)
|
||
|
selmon->sel->wasfloating = True;
|
||
|
else {
|
||
|
togglefloating(NULL);
|
||
|
selmon->sel->wasfloating = False;
|
||
|
}
|
||
|
selmon->sel->oldx = selmon->sel->x;
|
||
|
selmon->sel->oldy = selmon->sel->y;
|
||
|
selmon->sel->oldw = selmon->sel->w;
|
||
|
selmon->sel->oldh = selmon->sel->h;
|
||
|
resize(selmon->sel, x, y, w, h, True);
|
||
|
selmon->sel->ismax = True;
|
||
|
}
|
||
|
else {
|
||
|
resize(selmon->sel, selmon->sel->oldx, selmon->sel->oldy, selmon->sel->oldw, selmon->sel->oldh, True);
|
||
|
if (!selmon->sel->wasfloating)
|
||
|
togglefloating(NULL);
|
||
|
selmon->sel->ismax = False;
|
||
|
}
|
||
|
drawbar(selmon);
|
||
|
while (XCheckMaskEvent(dpy, EnterWindowMask, &ev));
|
||
|
}
|
||
|
|
||
|
#if SETBORDERPX_PATCH
|
||
|
void
|
||
|
togglemax(const Arg *arg)
|
||
|
{
|
||
|
maximize(selmon->wx, selmon->wy, selmon->ww - 2 * selmon->borderpx, selmon->wh - 2 * selmon->borderpx);
|
||
|
}
|
||
|
|
||
|
void
|
||
|
toggleverticalmax(const Arg *arg)
|
||
|
{
|
||
|
maximize(selmon->sel->x, selmon->wy, selmon->sel->w, selmon->wh - 2 * selmon->borderpx);
|
||
|
}
|
||
|
|
||
|
void
|
||
|
togglehorizontalmax(const Arg *arg)
|
||
|
{
|
||
|
maximize(selmon->wx, selmon->sel->y, selmon->ww - 2 * selmon->borderpx, selmon->sel->h);
|
||
|
}
|
||
|
#else
|
||
|
void
|
||
|
togglemax(const Arg *arg)
|
||
|
{
|
||
|
maximize(selmon->wx, selmon->wy, selmon->ww - 2 * borderpx, selmon->wh - 2 * borderpx);
|
||
|
}
|
||
|
|
||
|
void
|
||
|
toggleverticalmax(const Arg *arg)
|
||
|
{
|
||
|
maximize(selmon->sel->x, selmon->wy, selmon->sel->w, selmon->wh - 2 * borderpx);
|
||
|
}
|
||
|
|
||
|
void
|
||
|
togglehorizontalmax(const Arg *arg)
|
||
|
{
|
||
|
maximize(selmon->wx, selmon->sel->y, selmon->ww - 2 * borderpx, selmon->sel->h);
|
||
|
}
|
||
|
#endif // SETBORDERPX_PATCH
|
||
|
|