added xlock command (I need it regularly)
Anselm R. Garbe garbeam@wmii.de
Thu, 13 Jul 2006 12:19:10 +0200
M
client.c
→
client.c
@@ -11,9 +11,7 @@ #include <X11/Xutil.h>
#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 @@ stack->x = sx;
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++);@@ -74,17 +75,6 @@ }
} discard_events(EnterWindowMask); } - -void -toggle(void *aux) -{ - if(arrange == floating) - arrange = tiling; - else - arrange = floating; - arrange(); -} - void sel(void *aux)@@ -280,7 +270,7 @@ XGrabButton(dpy, Button2, Mod1Mask, c->win, False, ButtonPressMask,
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 @@
XFlush(dpy); XSetErrorHandler(error_handler); XUngrabServer(dpy); - arrange(); + arrange(NULL); if(stack) focus(stack); }
M
dev.c
→
dev.c
@@ -17,13 +17,16 @@ "urxvtc", "-tr", "+sb", "-bg", "black", "-fg", "white", "-fn",
"-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*",NULL }; const char *browse[] = { "firefox", NULL }; +const char *xlock[] = { "xlock", NULL }; static Key key[] = { { Mod1Mask, XK_Return, (void (*)(void *))spawn, term }, { Mod1Mask, XK_w, (void (*)(void *))spawn, browse }, + { Mod1Mask, XK_l, (void (*)(void *))spawn, xlock }, { Mod1Mask, XK_k, sel, "prev" }, { Mod1Mask, XK_j, sel, "next" }, - { Mod1Mask, XK_space, toggle, NULL }, + { Mod1Mask, XK_t, tiling, NULL }, + { Mod1Mask, XK_f, tiling, NULL }, { Mod1Mask, XK_m, max, NULL }, { Mod1Mask | ShiftMask, XK_c, ckill, NULL }, { Mod1Mask | ShiftMask, XK_q, quit, NULL },
M
dwm.h
→
dwm.h
@@ -100,7 +100,8 @@ extern void lower(Client *c);
extern void ckill(void *aux); extern void sel(void *aux); extern void max(void *aux); -extern void toggle(void *aux); +extern void floating(void *aux); +extern void tiling(void *aux); extern void gravitate(Client *c, Bool invert); /* draw.c */
M
dwm.html
→
dwm.html
@@ -59,9 +59,9 @@ clients.
</li> <li> garbeam <b>does not</b> want any feedback to dwm. If you ask for support, - feature requests or if you report bugs, they will be <b>ignored</b> - with a high chance. dwm is only intended to fit garbeam's needs, - however you are free to download and distribute/relicense it, with the + feature requests, or if you report bugs, they will be <b>ignored</b> + with a high chance. dwm is only intended to fit garbeams needs. + However you are free to download and distribute/relicense it, with the conditions of the <a href="http://wmii.de/cgi-bin/hgwebdir.cgi/dwm?f=f10eb1139362;file=LICENSE;style=raw">MIT/X Consortium license</a>. </li> </ul>