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