|
|
@ -11,9 +11,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
#include "dwm.h"
|
|
|
|
#include "dwm.h"
|
|
|
|
|
|
|
|
|
|
|
|
static void floating(void);
|
|
|
|
static void (*arrange)(void *) = floating;
|
|
|
|
static void tiling(void);
|
|
|
|
|
|
|
|
static void (*arrange)(void) = floating;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
void
|
|
|
|
max(void *aux)
|
|
|
|
max(void *aux)
|
|
|
@ -24,27 +22,30 @@ max(void *aux)
|
|
|
|
stack->y = sy;
|
|
|
|
stack->y = sy;
|
|
|
|
stack->w = sw - 2 * stack->border;
|
|
|
|
stack->w = sw - 2 * stack->border;
|
|
|
|
stack->h = sh - 2 * stack->border;
|
|
|
|
stack->h = sh - 2 * stack->border;
|
|
|
|
|
|
|
|
craise(stack);
|
|
|
|
resize(stack);
|
|
|
|
resize(stack);
|
|
|
|
discard_events(EnterWindowMask);
|
|
|
|
discard_events(EnterWindowMask);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static void
|
|
|
|
void
|
|
|
|
floating(void)
|
|
|
|
floating(void *aux)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
Client *c;
|
|
|
|
Client *c;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
arrange = floating;
|
|
|
|
for(c = stack; c; c = c->snext)
|
|
|
|
for(c = stack; c; c = c->snext)
|
|
|
|
resize(c);
|
|
|
|
resize(c);
|
|
|
|
discard_events(EnterWindowMask);
|
|
|
|
discard_events(EnterWindowMask);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static void
|
|
|
|
void
|
|
|
|
tiling(void)
|
|
|
|
tiling(void *aux)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
Client *c;
|
|
|
|
Client *c;
|
|
|
|
int n, cols, rows, gw, gh, i, j;
|
|
|
|
int n, cols, rows, gw, gh, i, j;
|
|
|
|
float rt, fd;
|
|
|
|
float rt, fd;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
arrange = tiling;
|
|
|
|
if(!clients)
|
|
|
|
if(!clients)
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
for(n = 0, c = clients; c; c = c->next, n++);
|
|
|
|
for(n = 0, c = clients; c; c = c->next, n++);
|
|
|
@ -75,17 +76,6 @@ tiling(void)
|
|
|
|
discard_events(EnterWindowMask);
|
|
|
|
discard_events(EnterWindowMask);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
|
|
|
|
toggle(void *aux)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if(arrange == floating)
|
|
|
|
|
|
|
|
arrange = tiling;
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
arrange = floating;
|
|
|
|
|
|
|
|
arrange();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
void
|
|
|
|
sel(void *aux)
|
|
|
|
sel(void *aux)
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -280,7 +270,7 @@ manage(Window w, XWindowAttributes *wa)
|
|
|
|
GrabModeAsync, GrabModeSync, None, None);
|
|
|
|
GrabModeAsync, GrabModeSync, None, None);
|
|
|
|
XGrabButton(dpy, Button3, Mod1Mask, c->win, False, ButtonPressMask,
|
|
|
|
XGrabButton(dpy, Button3, Mod1Mask, c->win, False, ButtonPressMask,
|
|
|
|
GrabModeAsync, GrabModeSync, None, None);
|
|
|
|
GrabModeAsync, GrabModeSync, None, None);
|
|
|
|
arrange();
|
|
|
|
arrange(NULL);
|
|
|
|
XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w / 2, c->h / 2);
|
|
|
|
XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w / 2, c->h / 2);
|
|
|
|
focus(c);
|
|
|
|
focus(c);
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -400,7 +390,7 @@ unmanage(Client *c)
|
|
|
|
XFlush(dpy);
|
|
|
|
XFlush(dpy);
|
|
|
|
XSetErrorHandler(error_handler);
|
|
|
|
XSetErrorHandler(error_handler);
|
|
|
|
XUngrabServer(dpy);
|
|
|
|
XUngrabServer(dpy);
|
|
|
|
arrange();
|
|
|
|
arrange(NULL);
|
|
|
|
if(stack)
|
|
|
|
if(stack)
|
|
|
|
focus(stack);
|
|
|
|
focus(stack);
|
|
|
|
}
|
|
|
|
}
|
|
|
|