Introduction
Introduction Statistics Contact Development Disclaimer Help
tnew stuff - dwm - [fork] customized build of dwm, the dynamic window manager
git clone git://src.adamsgaard.dk/dwm
Log
Files
Refs
README
LICENSE
---
commit d7b074fcce4877ed404f6a92671689fcdee9133b
parent c9170189bf0d0234f8d97fd7b717f859b7242674
Author: Anselm R Garbe <[email protected]>
Date: Thu, 6 Mar 2008 19:20:14 +0000
new stuff
Diffstat:
A config.anselm.h | 127 +++++++++++++++++++++++++++++…
M config.def.h | 10 ++++++----
M dwm.1 | 7 +++++--
M dwm.c | 49 ++++++++++++++++++++++++-----…
4 files changed, 177 insertions(+), 16 deletions(-)
---
diff --git a/config.anselm.h b/config.anselm.h
t@@ -0,0 +1,127 @@
+/* See LICENSE file for copyright and license details. */
+
+/* appearance */
+#define BORDERPX 1
+#define FONT "-*-terminus-medium-r-normal-*-14-*-*-*-*-…
+#define NORMBORDERCOLOR "#cccccc"
+#define NORMBGCOLOR "#cccccc"
+#define NORMFGCOLOR "#000000"
+#define SELBORDERCOLOR "#0066ff"
+#define SELBGCOLOR "#0066ff"
+#define SELFGCOLOR "#ffffff"
+
+/* bar position */
+#define BX 0
+#define BY 0
+#define BW 1280
+
+/* window area, including floating windows */
+#define WX 0
+#define WY bh
+#define WW sw
+#define WH sh - bh
+
+/* master area */
+#define MX WX
+#define MY bh
+#define MW 1280
+#define MH 800 - bh
+
+/* tile area, might be on a different screen */
+#define TX 1280
+#define TY 0
+#define TW 1680
+#define TH 1050
+
+/* monocle area, might be restricted to a specific screen */
+#define MOX MX
+#define MOY MY
+#define MOW MW
+#define MOH MH
+
+/* tagging */
+const char tags[][MAXTAGLEN] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
+
+Rule rules[] = {
+ /* class:instance:title substr tags ref isfloating */
+ { "Firefox", tags[8], False },
+ { "Gimp", NULL, True },
+ { "MPlayer", NULL, True },
+ { "Acroread", NULL, True },
+};
+
+/* layout(s) */
+#define RESIZEHINTS True /* False - respect size hints i…
+#define SNAP 32 /* snap pixel */
+
+Layout layouts[] = {
+ /* symbol function isfloating */
+ { "[]|", tileh, False }, /* first entry …
+ { "[]=", tilev, False },
+ { "><>", floating, True },
+ { "[M]", monocle, True },
+};
+
+/* key definitions */
+#define MODKEY Mod1Mask
+Key keys[] = {
+ /* modifier key function …
+#if ANSELM_OFFICE
+ { MODKEY, XK_p, spawn,
+ "exec dmenu_run -fn '"FONT"' -nb '"NORMBGCOLOR"' -nf '"NORMFGC…
+#else
+ { MODKEY, XK_p, spawn,
+ "exec dmenu_run -fn '"FONT"' -nb '"NORMBGCOLOR"' -nf '"NORMFGC…
+#endif
+ { MODKEY|ShiftMask, XK_Return, spawn, "exec uxte…
+ { MODKEY, XK_j, focusnext, …
+ { MODKEY, XK_k, focusprev, …
+ { MODKEY, XK_r, reapply, …
+ { MODKEY, XK_Return, zoom, …
+ { MODKEY, XK_Tab, viewprevtag, …
+ { MODKEY, XK_m, setlayout, …
+ { MODKEY, XK_f, setlayout, …
+ { MODKEY, XK_v, setlayout, …
+ { MODKEY, XK_h, setlayout, …
+ { MODKEY|ShiftMask, XK_space, togglefloating, …
+ { MODKEY|ShiftMask, XK_c, killclient, …
+ { MODKEY, XK_0, view, …
+ { MODKEY, XK_1, view, …
+ { MODKEY, XK_2, view, …
+ { MODKEY, XK_3, view, …
+ { MODKEY, XK_4, view, …
+ { MODKEY, XK_5, view, …
+ { MODKEY, XK_6, view, …
+ { MODKEY, XK_7, view, …
+ { MODKEY, XK_8, view, …
+ { MODKEY, XK_9, view, …
+ { MODKEY|ControlMask, XK_1, toggleview, …
+ { MODKEY|ControlMask, XK_2, toggleview, …
+ { MODKEY|ControlMask, XK_3, toggleview, …
+ { MODKEY|ControlMask, XK_4, toggleview, …
+ { MODKEY|ControlMask, XK_5, toggleview, …
+ { MODKEY|ControlMask, XK_6, toggleview, …
+ { MODKEY|ControlMask, XK_7, toggleview, …
+ { MODKEY|ControlMask, XK_8, toggleview, …
+ { MODKEY|ControlMask, XK_9, toggleview, …
+ { MODKEY|ShiftMask, XK_0, tag, …
+ { MODKEY|ShiftMask, XK_1, tag, …
+ { MODKEY|ShiftMask, XK_2, tag, …
+ { MODKEY|ShiftMask, XK_3, tag, …
+ { MODKEY|ShiftMask, XK_4, tag, …
+ { MODKEY|ShiftMask, XK_5, tag, …
+ { MODKEY|ShiftMask, XK_6, tag, …
+ { MODKEY|ShiftMask, XK_7, tag, …
+ { MODKEY|ShiftMask, XK_8, tag, …
+ { MODKEY|ShiftMask, XK_9, tag, …
+ { MODKEY|ControlMask|ShiftMask, XK_1, toggletag,…
+ { MODKEY|ControlMask|ShiftMask, XK_2, toggletag,…
+ { MODKEY|ControlMask|ShiftMask, XK_3, toggletag,…
+ { MODKEY|ControlMask|ShiftMask, XK_4, toggletag,…
+ { MODKEY|ControlMask|ShiftMask, XK_5, toggletag,…
+ { MODKEY|ControlMask|ShiftMask, XK_6, toggletag,…
+ { MODKEY|ControlMask|ShiftMask, XK_7, toggletag,…
+ { MODKEY|ControlMask|ShiftMask, XK_8, toggletag,…
+ { MODKEY|ControlMask|ShiftMask, XK_9, toggletag,…
+ { MODKEY|ShiftMask, XK_q, quit, …
+};
diff --git a/config.def.h b/config.def.h
t@@ -56,9 +56,10 @@ Rule rules[] = {
Layout layouts[] = {
/* symbol function isfloating */
- { "[]=", tile, False }, /* first entry i…
- { "><>", floating True },
- { "[M]", monocle True },
+ { "[]|", tileh, False }, /* first entry …
+ { "[]=", tilev, False },
+ { "><>", floating, True },
+ { "[M]", monocle, True },
};
/* key definitions */
t@@ -80,7 +81,8 @@ Key keys[] = {
{ MODKEY, XK_Tab, viewprevtag, …
{ MODKEY, XK_m, setlayout, …
{ MODKEY, XK_f, setlayout, …
- { MODKEY, XK_t, setlayout, …
+ { MODKEY, XK_v, setlayout, …
+ { MODKEY, XK_h, setlayout, …
{ MODKEY|ShiftMask, XK_space, togglefloating, …
{ MODKEY|ShiftMask, XK_c, killclient, …
{ MODKEY, XK_0, view, …
diff --git a/dwm.1 b/dwm.1
t@@ -69,8 +69,11 @@ Apply floating layout.
.B Mod1\-m
Apply monocle layout.
.TP
-.B Mod1\-t
-Apply tiled layout.
+.B Mod1\-v
+Apply vertical tiled layout.
+.TP
+.B Mod1\-h
+Apply horizontal tiled layout.
.TP
.B Mod1\-j
Focus next window.
diff --git a/dwm.c b/dwm.c
t@@ -1,6 +1,3 @@
-/**
- * - allow for vstack
- */
/* See LICENSE file for copyright and license details.
*
* dynamic window manager is designed like any other X client as well. It is
t@@ -36,7 +33,6 @@
#include <sys/select.h>
#include <sys/types.h>
#include <sys/wait.h>
-#include <regex.h>
#include <X11/cursorfont.h>
#include <X11/keysym.h>
#include <X11/Xatom.h>
t@@ -170,8 +166,10 @@ void spawn(const char *arg);
void tag(const char *arg);
unsigned int textnw(const char *text, unsigned int len);
unsigned int textw(const char *text);
-void tile(void);
+void tileh(void);
+void tilehstack(unsigned int n);
unsigned int tilemaster(void);
+void tilev(void);
void tilevstack(unsigned int n);
void togglefloating(const char *arg);
void toggletag(const char *arg);
t@@ -1547,6 +1545,37 @@ tileresize(Client *c, int x, int y, int w, int h) {
resize(c, x, y, w, h, False);
}
+void
+tileh(void) {
+ tilehstack(tilemaster());
+}
+
+void
+tilehstack(unsigned int n) {
+ int i, x, w;
+ Client *c;
+
+ if(n == 0)
+ return;
+
+ x = TX;
+ w = (TW) / n;
+ if(w < bh)
+ w = TW;
+
+ for(i = 0, c = nexttiled(clients); c; c = nexttiled(c->next), i++)
+ if(i > 0) {
+ if(i > 1 && i == n) /* remainder */
+ tileresize(c, x, TY, ((TX) + (TW)) - x - 2 * c…
+ TH - 2 * c->border);
+ else
+ tileresize(c, x, TY, w - 2 * c->border,
+ TH - 2 * c->border);
+ if(w != TW)
+ x = c->x + c->w + 2 * c->border;
+ }
+}
+
unsigned int
tilemaster(void) {
unsigned int n;
t@@ -1564,6 +1593,11 @@ tilemaster(void) {
}
void
+tilev(void) {
+ tilevstack(tilemaster());
+}
+
+void
tilevstack(unsigned int n) {
int i, y, h;
Client *c;
t@@ -1590,11 +1624,6 @@ tilevstack(unsigned int n) {
}
void
-tile(void) {
- tilevstack(tilemaster());
-}
-
-void
togglefloating(const char *arg) {
if(!sel)
return;
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.