Compare commits
236 Commits
Author | SHA1 | Date | |
---|---|---|---|
76d7e80fc4 | |||
af8049bce8 | |||
2bb51b3246 | |||
b16d8282be | |||
fef4614772 | |||
be39dddcc5 | |||
6d209b9b29 | |||
57a0788bd8 | |||
3ad906eede | |||
0be9fb8797 | |||
62a491e36d | |||
0b5dcf229f | |||
fda92f46aa | |||
a62ea4062f | |||
7dc28d130f | |||
fbce733532 | |||
e7572804fa | |||
ed1bef1241 | |||
2b047e460b | |||
5f74dc5e78 | |||
ea8a4ca46a | |||
4883a06221 | |||
4dea5324c0 | |||
53cac17692 | |||
83abfc05eb | |||
862b0d541d | |||
c1c6fdc5d8 | |||
9a4d07d9de | |||
30410108eb | |||
753e0e048e | |||
d15d4ba45a | |||
815f9c054d | |||
addc52c948 | |||
26f41c9055 | |||
73ec124ae9 | |||
ec11a3470c | |||
4b3b597da3 | |||
288cf78b18 | |||
6411aa921b | |||
db5db8806f | |||
258c338030 | |||
85da537856 | |||
2b4157eccd | |||
0f26de991f | |||
840f937a98 | |||
6975a7e31a | |||
47f63dce55 | |||
02a8ca95cf | |||
2ce50a9cad | |||
bfa5869da1 | |||
087a55f8d3 | |||
6d7285fd6e | |||
69c7b4b0ba | |||
97699e5b1b | |||
2dc7f42fd7 | |||
9f3a5cb754 | |||
b48fa3f101 | |||
051a404b66 | |||
d8d733c34f | |||
bb01e5a16f | |||
06f7eed103 | |||
0ffa6d1393 | |||
15ce143620 | |||
63d7190231 | |||
b279cef670 | |||
6254ef9dc7 | |||
4a2902efe4 | |||
6fad4c49f1 | |||
78f0f8595f | |||
7ecadcee39 | |||
c86ed46a1b | |||
9086f98068 | |||
9aa4a9043d | |||
d5893f55be | |||
f529d41ca1 | |||
45768ee04b | |||
a6d23fb61c | |||
bf76cefe47 | |||
9bb0f20515 | |||
2431ae7df7 | |||
829b6b57e7 | |||
7b4c512e62 | |||
7f7c3140a9 | |||
277155cf77 | |||
0c38ec7cd6 | |||
deef4c9bfd | |||
b86c818599 | |||
c2a916bf30 | |||
2bd46d1ce6 | |||
6e0ce46365 | |||
c853d5e9bb | |||
31da0b7525 | |||
12ea925076 | |||
79ecbeca7e | |||
cf98ea2a9c | |||
d8fad9bf7a | |||
f25cc5678f | |||
5a92420fce | |||
ae1d865ac0 | |||
1ce173402f | |||
a06b9193c7 | |||
43bb77a569 | |||
e3da222c1e | |||
66608a60fe | |||
b6aa84e51b | |||
9ff5143acb | |||
1edf6a7866 | |||
4db2f44277 | |||
1f1a132784 | |||
512541bfbd | |||
709da0b858 | |||
5cd65f8cd8 | |||
e3838e8585 | |||
016dca4f69 | |||
8f052596b2 | |||
9463d5354b | |||
d662f98d89 | |||
e5a965a274 | |||
5d422bb1ce | |||
38a43c2dcc | |||
c56533615f | |||
a8e0772c4d | |||
98e7950be8 | |||
88e6eb4a3a | |||
0840c1367c | |||
077d3e435b | |||
d26b60b43e | |||
32f36ab2d5 | |||
08bcf721b4 | |||
fc578c57e4 | |||
c8eaab21b6 | |||
c26e22ccee | |||
c2784e4a38 | |||
6e9387793b | |||
92f3c181c3 | |||
d589f7679a | |||
75690c808d | |||
fde58d5e63 | |||
e1002745fa | |||
940a4cc6c6 | |||
64243ab05b | |||
32c5046635 | |||
6c8618f502 | |||
9189f7a12d | |||
2d4faae522 | |||
5d2385b636 | |||
0fe2e783e9 | |||
cd3d83f571 | |||
0a9ef560c0 | |||
0528a37c79 | |||
56b2fece9e | |||
9f569fac74 | |||
48d0c56eac | |||
825d6cb93a | |||
f852504014 | |||
c3fa9e879f | |||
8e05f6c592 | |||
39d1ecd5b0 | |||
103fb58a44 | |||
5f55af40ae | |||
f806a17692 | |||
822101dd5b | |||
6bdef73a4f | |||
234b12eb73 | |||
bd4deaebfc | |||
499315c22c | |||
f22d047d41 | |||
4a5c8d84db | |||
71365a524f | |||
3afca3e6a1 | |||
bdc80bdad6 | |||
64707da963 | |||
549726869b | |||
42cb2bd3be | |||
585294ce0f | |||
a864a82b34 | |||
bd67a82fb5 | |||
14d8d828ab | |||
4246affc15 | |||
42c4b31003 | |||
a785a0d712 | |||
489ac07e83 | |||
349d768b57 | |||
6dfa7cac56 | |||
71681c21a5 | |||
704781875c | |||
d7cc0f6416 | |||
6b79f3f326 | |||
446fa8c671 | |||
fa244aa7fb | |||
7ac4f8a4af | |||
7eb26288fc | |||
93a4fe1052 | |||
5602f44b29 | |||
b848f4bda8 | |||
86c4797f2c | |||
c094ed2473 | |||
bfd6079a15 | |||
7f70d90219 | |||
858251de46 | |||
d26c28c1e7 | |||
b6335776e4 | |||
c059625128 | |||
874837f653 | |||
5fa559dbfc | |||
146ff227fe | |||
bb0a328978 | |||
721b208478 | |||
6229ed20c2 | |||
940240e5e6 | |||
08c596ed10 | |||
9ce6abb95c | |||
0e21794e02 | |||
d477fb6927 | |||
3d6630b7d2 | |||
c982bb1389 | |||
6cf73e706a | |||
a520ba3c0b | |||
0c71b16b92 | |||
00c28a7ef2 | |||
5a3a2d6b63 | |||
a355782a77 | |||
20cd336087 | |||
a6a216f28c | |||
2c2063bc75 | |||
e6ede461a9 | |||
6877205e9d | |||
fb5f99d935 | |||
7ebab7533a | |||
9fa5ca3538 | |||
fe6b0c0fc1 | |||
aa2395b6a8 | |||
dba22848c7 | |||
33b1960220 | |||
e237b2a76f | |||
dd9ee6d248 |
7
.hgtags
7
.hgtags
@ -51,3 +51,10 @@ e0ec0d5d8b1ef3ee04a83c7c0fee5853aa2ac6a6 4.3
|
|||||||
2acc60d6dfe28c101a8cd44a8aa710a38ae3607c 4.5
|
2acc60d6dfe28c101a8cd44a8aa710a38ae3607c 4.5
|
||||||
bcd7e18e196a00cc2e97ff3a4a58f3cdaba13856 4.6
|
bcd7e18e196a00cc2e97ff3a4a58f3cdaba13856 4.6
|
||||||
d6d3085307d8d98b8b012b669e858fd787befeb1 4.7
|
d6d3085307d8d98b8b012b669e858fd787befeb1 4.7
|
||||||
|
607015ddb091d49cbd3457af41713691aa69f4d6 4.8
|
||||||
|
22c669b2dd3673785c3476b9976da21e8783f745 4.9
|
||||||
|
06eb9644e2dad7667d97495eb7d7bc62aa0429e8 5.0
|
||||||
|
ce355cea9bb89e162f61913737a46908cdfa7e45 5.1
|
||||||
|
e4bcaca8e6ef13d2c3b81f1218ad15e5da4d68bd 5.2
|
||||||
|
4004d61160355d869a7d2672561caad440751ba0 5.3
|
||||||
|
335301ed102fec9b1a15d06bfa0184d53b38fa54 5.3.1
|
||||||
|
21
LICENSE
21
LICENSE
@ -7,21 +7,24 @@ MIT/X Consortium License
|
|||||||
© 2007 Szabolcs Nagy <nszabolcs at gmail dot com>
|
© 2007 Szabolcs Nagy <nszabolcs at gmail dot com>
|
||||||
© 2007 Christof Musik <christof at sendfax dot de>
|
© 2007 Christof Musik <christof at sendfax dot de>
|
||||||
© 2007-2008 Enno Gottox Boland <gottox at s01 dot de>
|
© 2007-2008 Enno Gottox Boland <gottox at s01 dot de>
|
||||||
|
© 2007-2008 Peter Hartlich <sgkkr at hartlich dot com>
|
||||||
|
© 2008 Martin Hurton <martin dot hurton at gmail dot com>
|
||||||
|
© 2008 Neale Pickett <neale dot woozle dot org>
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a
|
Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
copy of this software and associated documentation files (the "Software"),
|
copy of this software and associated documentation files (the "Software"),
|
||||||
to deal in the Software without restriction, including without limitation
|
to deal in the Software without restriction, including without limitation
|
||||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
and/or sell copies of the Software, and to permit persons to whom the
|
and/or sell copies of the Software, and to permit persons to whom the
|
||||||
Software is furnished to do so, subject to the following conditions:
|
Software is furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
The above copyright notice and this permission notice shall be included in
|
||||||
all copies or substantial portions of the Software.
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||||
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
DEALINGS IN THE SOFTWARE.
|
DEALINGS IN THE SOFTWARE.
|
||||||
|
4
Makefile
4
Makefile
@ -1,5 +1,5 @@
|
|||||||
# dwm - dynamic window manager
|
# dwm - dynamic window manager
|
||||||
# © 2006-2007 Anselm R. Garbe, Sander van Dijk
|
# See LICENSE file for copyright and license details.
|
||||||
|
|
||||||
include config.mk
|
include config.mk
|
||||||
|
|
||||||
@ -35,7 +35,7 @@ clean:
|
|||||||
dist: clean
|
dist: clean
|
||||||
@echo creating dist tarball
|
@echo creating dist tarball
|
||||||
@mkdir -p dwm-${VERSION}
|
@mkdir -p dwm-${VERSION}
|
||||||
@cp -R LICENSE Makefile README config.*.h config.mk \
|
@cp -R LICENSE Makefile README config.def.h config.mk \
|
||||||
dwm.1 ${SRC} dwm-${VERSION}
|
dwm.1 ${SRC} dwm-${VERSION}
|
||||||
@tar -cf dwm-${VERSION}.tar dwm-${VERSION}
|
@tar -cf dwm-${VERSION}.tar dwm-${VERSION}
|
||||||
@gzip dwm-${VERSION}.tar
|
@gzip dwm-${VERSION}.tar
|
||||||
|
5
README
5
README
@ -40,9 +40,10 @@ like this in your .xinitrc:
|
|||||||
|
|
||||||
while true
|
while true
|
||||||
do
|
do
|
||||||
echo `date` `uptime | sed 's/.*,//'`
|
xsetroot -name "`date` `uptime | sed 's/.*,//'`"
|
||||||
sleep 1
|
sleep 1
|
||||||
done | dwm
|
done &
|
||||||
|
exec dwm
|
||||||
|
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
|
151
config.anselm.h
151
config.anselm.h
@ -1,151 +0,0 @@
|
|||||||
/* 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"
|
|
||||||
|
|
||||||
/* 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 in tiled resizals */
|
|
||||||
#define SNAP 32 /* snap pixel */
|
|
||||||
|
|
||||||
Layout layouts[] = {
|
|
||||||
/* symbol function isfloating */
|
|
||||||
{ "[]|", tileh, False }, /* first entry is default */
|
|
||||||
{ "[]=", tilev, False },
|
|
||||||
{ "><>", floating, True },
|
|
||||||
{ "[M]", monocle, True },
|
|
||||||
};
|
|
||||||
|
|
||||||
void
|
|
||||||
setanselmgeoms(void) {
|
|
||||||
|
|
||||||
/* screen dimensions */
|
|
||||||
sx = 0;
|
|
||||||
sy = 0;
|
|
||||||
sw = DisplayWidth(dpy, screen);
|
|
||||||
sh = DisplayHeight(dpy, screen);
|
|
||||||
|
|
||||||
/* bar position */
|
|
||||||
bx = sx;
|
|
||||||
by = sy;
|
|
||||||
bw = 1280;
|
|
||||||
bh = dc.font.height + 2;
|
|
||||||
|
|
||||||
/* window area */
|
|
||||||
wx = sx;
|
|
||||||
wy = sy + bh;
|
|
||||||
ww = sw;
|
|
||||||
wh = sh - bh;
|
|
||||||
|
|
||||||
/* master area */
|
|
||||||
mx = wx;
|
|
||||||
my = wy;
|
|
||||||
mw = 1280;
|
|
||||||
mh = 800 - bh;
|
|
||||||
|
|
||||||
/* tile area */
|
|
||||||
tx = 1280;
|
|
||||||
ty = 0;
|
|
||||||
tw = sw - 1280;
|
|
||||||
th = sh;
|
|
||||||
|
|
||||||
/* monocle area */
|
|
||||||
mox = mx;
|
|
||||||
moy = my;
|
|
||||||
mow = mw;
|
|
||||||
moh = mh;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
anselmgeoms(const char *arg) {
|
|
||||||
setgeoms = setanselmgeoms;
|
|
||||||
setgeoms();
|
|
||||||
updatebarpos();
|
|
||||||
setlayout("[]|");
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
defgeoms(const char *arg) {
|
|
||||||
setgeoms = setdefaultgeoms;
|
|
||||||
setgeoms();
|
|
||||||
updatebarpos();
|
|
||||||
setlayout("[]=");
|
|
||||||
}
|
|
||||||
|
|
||||||
/* key definitions */
|
|
||||||
#define MODKEY Mod1Mask
|
|
||||||
Key keys[] = {
|
|
||||||
/* modifier key function argument */
|
|
||||||
{ MODKEY, XK_p, spawn,
|
|
||||||
"exec dmenu_run -fn '"FONT"' -nb '"NORMBGCOLOR"' -nf '"NORMFGCOLOR"' -sb '"SELBGCOLOR"' -sf '"SELFGCOLOR"' -x 0 -y 0 -w 1280" },
|
|
||||||
{ MODKEY|ShiftMask, XK_Return, spawn, "exec uxterm" },
|
|
||||||
{ MODKEY, XK_a, anselmgeoms, NULL },
|
|
||||||
{ MODKEY, XK_d, defgeoms, NULL },
|
|
||||||
{ MODKEY, XK_j, focusnext, NULL },
|
|
||||||
{ MODKEY, XK_k, focusprev, NULL },
|
|
||||||
{ MODKEY, XK_r, reapply, NULL },
|
|
||||||
{ MODKEY, XK_Return, zoom, NULL },
|
|
||||||
{ MODKEY, XK_Tab, viewprevtag, NULL },
|
|
||||||
{ MODKEY, XK_m, setlayout, "[M]" },
|
|
||||||
{ MODKEY, XK_f, setlayout, "><>" },
|
|
||||||
{ MODKEY, XK_v, setlayout, "[]=" },
|
|
||||||
{ MODKEY, XK_h, setlayout, "[]|" },
|
|
||||||
{ MODKEY|ShiftMask, XK_space, togglefloating, NULL },
|
|
||||||
{ MODKEY|ShiftMask, XK_c, killclient, NULL },
|
|
||||||
{ MODKEY, XK_0, view, NULL },
|
|
||||||
{ MODKEY, XK_1, view, tags[0] },
|
|
||||||
{ MODKEY, XK_2, view, tags[1] },
|
|
||||||
{ MODKEY, XK_3, view, tags[2] },
|
|
||||||
{ MODKEY, XK_4, view, tags[3] },
|
|
||||||
{ MODKEY, XK_5, view, tags[4] },
|
|
||||||
{ MODKEY, XK_6, view, tags[5] },
|
|
||||||
{ MODKEY, XK_7, view, tags[6] },
|
|
||||||
{ MODKEY, XK_8, view, tags[7] },
|
|
||||||
{ MODKEY, XK_9, view, tags[8] },
|
|
||||||
{ MODKEY|ControlMask, XK_1, toggleview, tags[0] },
|
|
||||||
{ MODKEY|ControlMask, XK_2, toggleview, tags[1] },
|
|
||||||
{ MODKEY|ControlMask, XK_3, toggleview, tags[2] },
|
|
||||||
{ MODKEY|ControlMask, XK_4, toggleview, tags[3] },
|
|
||||||
{ MODKEY|ControlMask, XK_5, toggleview, tags[4] },
|
|
||||||
{ MODKEY|ControlMask, XK_6, toggleview, tags[5] },
|
|
||||||
{ MODKEY|ControlMask, XK_7, toggleview, tags[6] },
|
|
||||||
{ MODKEY|ControlMask, XK_8, toggleview, tags[7] },
|
|
||||||
{ MODKEY|ControlMask, XK_9, toggleview, tags[8] },
|
|
||||||
{ MODKEY|ShiftMask, XK_0, tag, NULL },
|
|
||||||
{ MODKEY|ShiftMask, XK_1, tag, tags[0] },
|
|
||||||
{ MODKEY|ShiftMask, XK_2, tag, tags[1] },
|
|
||||||
{ MODKEY|ShiftMask, XK_3, tag, tags[2] },
|
|
||||||
{ MODKEY|ShiftMask, XK_4, tag, tags[3] },
|
|
||||||
{ MODKEY|ShiftMask, XK_5, tag, tags[4] },
|
|
||||||
{ MODKEY|ShiftMask, XK_6, tag, tags[5] },
|
|
||||||
{ MODKEY|ShiftMask, XK_7, tag, tags[6] },
|
|
||||||
{ MODKEY|ShiftMask, XK_8, tag, tags[7] },
|
|
||||||
{ MODKEY|ShiftMask, XK_9, tag, tags[8] },
|
|
||||||
{ MODKEY|ControlMask|ShiftMask, XK_1, toggletag, tags[0] },
|
|
||||||
{ MODKEY|ControlMask|ShiftMask, XK_2, toggletag, tags[1] },
|
|
||||||
{ MODKEY|ControlMask|ShiftMask, XK_3, toggletag, tags[2] },
|
|
||||||
{ MODKEY|ControlMask|ShiftMask, XK_4, toggletag, tags[3] },
|
|
||||||
{ MODKEY|ControlMask|ShiftMask, XK_5, toggletag, tags[4] },
|
|
||||||
{ MODKEY|ControlMask|ShiftMask, XK_6, toggletag, tags[5] },
|
|
||||||
{ MODKEY|ControlMask|ShiftMask, XK_7, toggletag, tags[6] },
|
|
||||||
{ MODKEY|ControlMask|ShiftMask, XK_8, toggletag, tags[7] },
|
|
||||||
{ MODKEY|ControlMask|ShiftMask, XK_9, toggletag, tags[8] },
|
|
||||||
{ MODKEY|ShiftMask, XK_q, quit, NULL },
|
|
||||||
};
|
|
167
config.def.h
167
config.def.h
@ -1,93 +1,102 @@
|
|||||||
/* See LICENSE file for copyright and license details. */
|
/* See LICENSE file for copyright and license details. */
|
||||||
|
|
||||||
/* appearance */
|
/* appearance */
|
||||||
#define BORDERPX 1
|
static const char font[] = "-*-terminus-medium-r-normal-*-14-*-*-*-*-*-*-*";
|
||||||
#define FONT "-*-terminus-medium-r-normal-*-14-*-*-*-*-*-*-*"
|
static const char normbordercolor[] = "#cccccc";
|
||||||
#define NORMBORDERCOLOR "#cccccc"
|
static const char normbgcolor[] = "#cccccc";
|
||||||
#define NORMBGCOLOR "#cccccc"
|
static const char normfgcolor[] = "#000000";
|
||||||
#define NORMFGCOLOR "#000000"
|
static const char selbordercolor[] = "#0066ff";
|
||||||
#define SELBORDERCOLOR "#0066ff"
|
static const char selbgcolor[] = "#0066ff";
|
||||||
#define SELBGCOLOR "#0066ff"
|
static const char selfgcolor[] = "#ffffff";
|
||||||
#define SELFGCOLOR "#ffffff"
|
static unsigned int borderpx = 1; /* border pixel of windows */
|
||||||
|
static unsigned int snap = 32; /* snap pixel */
|
||||||
|
static Bool showbar = True; /* False means no bar */
|
||||||
|
static Bool topbar = True; /* False means bottom bar */
|
||||||
|
static Bool usegrab = False; /* True means grabbing the X server
|
||||||
|
during mouse-based resizals */
|
||||||
|
|
||||||
/* tagging */
|
/* tagging */
|
||||||
const char tags[][MAXTAGLEN] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
|
static const char tags[][MAXTAGLEN] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
|
||||||
|
static unsigned int tagset[] = {1, 1}; /* after start, first tag is selected */
|
||||||
|
|
||||||
Rule rules[] = {
|
static Rule rules[] = {
|
||||||
/* class:instance:title substr tags ref isfloating */
|
/* class instance title tags mask isfloating */
|
||||||
{ "Firefox", tags[8], False },
|
{ "Gimp", NULL, NULL, 0, True },
|
||||||
{ "Gimp", NULL, True },
|
{ "Firefox", NULL, NULL, 1 << 8, True },
|
||||||
{ "MPlayer", NULL, True },
|
|
||||||
{ "Acroread", NULL, True },
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* layout(s) */
|
/* layout(s) */
|
||||||
#define RESIZEHINTS True /* False - respect size hints in tiled resizals */
|
static float mfact = 0.55; /* factor of master area size [0.05..0.95] */
|
||||||
#define SNAP 32 /* snap pixel */
|
static Bool resizehints = True; /* False means respect size hints in tiled resizals */
|
||||||
|
|
||||||
Layout layouts[] = {
|
static Layout layouts[] = {
|
||||||
/* symbol function isfloating */
|
/* symbol arrange function */
|
||||||
{ "[]=", tilev, False }, /* first entry is default */
|
{ "[]=", tile }, /* first entry is default */
|
||||||
{ "[]|", tileh, False },
|
{ "><>", NULL }, /* no layout function means floating behavior */
|
||||||
{ "><>", floating, True },
|
{ "[M]", monocle },
|
||||||
{ "[M]", monocle, True },
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* key definitions */
|
/* key definitions */
|
||||||
#define MODKEY Mod1Mask
|
#define MODKEY Mod1Mask
|
||||||
Key keys[] = {
|
#define TAGKEYS(KEY,TAG) \
|
||||||
/* modifier key function argument */
|
{ MODKEY, KEY, view, {.ui = 1 << TAG} }, \
|
||||||
{ MODKEY, XK_p, spawn,
|
{ MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \
|
||||||
"exec dmenu_run -fn '"FONT"' -nb '"NORMBGCOLOR"' -nf '"NORMFGCOLOR"' -sb '"SELBGCOLOR"' -sf '"SELFGCOLOR"'" },
|
{ MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \
|
||||||
{ MODKEY|ShiftMask, XK_Return, spawn, "exec uxterm" },
|
{ MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} },
|
||||||
{ MODKEY, XK_j, focusnext, NULL },
|
|
||||||
{ MODKEY, XK_k, focusprev, NULL },
|
/* helper for spawning shell commands in the pre dwm-5.0 fashion */
|
||||||
{ MODKEY, XK_r, reapply, NULL },
|
#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
|
||||||
{ MODKEY, XK_Return, zoom, NULL },
|
|
||||||
{ MODKEY, XK_Tab, viewprevtag, NULL },
|
/* commands */
|
||||||
{ MODKEY, XK_m, setlayout, "[M]" },
|
static const char *dmenucmd[] = { "dmenu_run", "-fn", font, "-nb", normbgcolor, "-nf", normfgcolor, "-sb", selbgcolor, "-sf", selfgcolor, NULL };
|
||||||
{ MODKEY, XK_f, setlayout, "><>" },
|
static const char *termcmd[] = { "uxterm", NULL };
|
||||||
{ MODKEY, XK_v, setlayout, "[]=" },
|
|
||||||
{ MODKEY, XK_h, setlayout, "[]|" },
|
static Key keys[] = {
|
||||||
{ MODKEY|ShiftMask, XK_space, togglefloating, NULL },
|
/* modifier key function argument */
|
||||||
{ MODKEY|ShiftMask, XK_c, killclient, NULL },
|
{ MODKEY, XK_p, spawn, {.v = dmenucmd } },
|
||||||
{ MODKEY, XK_0, view, NULL },
|
{ MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } },
|
||||||
{ MODKEY, XK_1, view, tags[0] },
|
{ MODKEY, XK_b, togglebar, {0} },
|
||||||
{ MODKEY, XK_2, view, tags[1] },
|
{ MODKEY, XK_j, focusstack, {.i = +1 } },
|
||||||
{ MODKEY, XK_3, view, tags[2] },
|
{ MODKEY, XK_k, focusstack, {.i = -1 } },
|
||||||
{ MODKEY, XK_4, view, tags[3] },
|
{ MODKEY, XK_h, setmfact, {.f = -0.05} },
|
||||||
{ MODKEY, XK_5, view, tags[4] },
|
{ MODKEY, XK_l, setmfact, {.f = +0.05} },
|
||||||
{ MODKEY, XK_6, view, tags[5] },
|
{ MODKEY, XK_Return, zoom, {0} },
|
||||||
{ MODKEY, XK_7, view, tags[6] },
|
{ MODKEY, XK_Tab, view, {0} },
|
||||||
{ MODKEY, XK_8, view, tags[7] },
|
{ MODKEY|ShiftMask, XK_c, killclient, {0} },
|
||||||
{ MODKEY, XK_9, view, tags[8] },
|
{ MODKEY, XK_t, setlayout, {.v = &layouts[0]} },
|
||||||
{ MODKEY|ControlMask, XK_1, toggleview, tags[0] },
|
{ MODKEY, XK_f, setlayout, {.v = &layouts[1]} },
|
||||||
{ MODKEY|ControlMask, XK_2, toggleview, tags[1] },
|
{ MODKEY, XK_m, setlayout, {.v = &layouts[2]} },
|
||||||
{ MODKEY|ControlMask, XK_3, toggleview, tags[2] },
|
{ MODKEY, XK_space, setlayout, {0} },
|
||||||
{ MODKEY|ControlMask, XK_4, toggleview, tags[3] },
|
{ MODKEY|ShiftMask, XK_space, togglefloating, {0} },
|
||||||
{ MODKEY|ControlMask, XK_5, toggleview, tags[4] },
|
{ MODKEY, XK_0, view, {.ui = ~0 } },
|
||||||
{ MODKEY|ControlMask, XK_6, toggleview, tags[5] },
|
{ MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } },
|
||||||
{ MODKEY|ControlMask, XK_7, toggleview, tags[6] },
|
TAGKEYS( XK_1, 0)
|
||||||
{ MODKEY|ControlMask, XK_8, toggleview, tags[7] },
|
TAGKEYS( XK_2, 1)
|
||||||
{ MODKEY|ControlMask, XK_9, toggleview, tags[8] },
|
TAGKEYS( XK_3, 2)
|
||||||
{ MODKEY|ShiftMask, XK_0, tag, NULL },
|
TAGKEYS( XK_4, 3)
|
||||||
{ MODKEY|ShiftMask, XK_1, tag, tags[0] },
|
TAGKEYS( XK_5, 4)
|
||||||
{ MODKEY|ShiftMask, XK_2, tag, tags[1] },
|
TAGKEYS( XK_6, 5)
|
||||||
{ MODKEY|ShiftMask, XK_3, tag, tags[2] },
|
TAGKEYS( XK_7, 6)
|
||||||
{ MODKEY|ShiftMask, XK_4, tag, tags[3] },
|
TAGKEYS( XK_8, 7)
|
||||||
{ MODKEY|ShiftMask, XK_5, tag, tags[4] },
|
TAGKEYS( XK_9, 8)
|
||||||
{ MODKEY|ShiftMask, XK_6, tag, tags[5] },
|
{ MODKEY|ShiftMask, XK_q, quit, {0} },
|
||||||
{ MODKEY|ShiftMask, XK_7, tag, tags[6] },
|
|
||||||
{ MODKEY|ShiftMask, XK_8, tag, tags[7] },
|
|
||||||
{ MODKEY|ShiftMask, XK_9, tag, tags[8] },
|
|
||||||
{ MODKEY|ControlMask|ShiftMask, XK_1, toggletag, tags[0] },
|
|
||||||
{ MODKEY|ControlMask|ShiftMask, XK_2, toggletag, tags[1] },
|
|
||||||
{ MODKEY|ControlMask|ShiftMask, XK_3, toggletag, tags[2] },
|
|
||||||
{ MODKEY|ControlMask|ShiftMask, XK_4, toggletag, tags[3] },
|
|
||||||
{ MODKEY|ControlMask|ShiftMask, XK_5, toggletag, tags[4] },
|
|
||||||
{ MODKEY|ControlMask|ShiftMask, XK_6, toggletag, tags[5] },
|
|
||||||
{ MODKEY|ControlMask|ShiftMask, XK_7, toggletag, tags[6] },
|
|
||||||
{ MODKEY|ControlMask|ShiftMask, XK_8, toggletag, tags[7] },
|
|
||||||
{ MODKEY|ControlMask|ShiftMask, XK_9, toggletag, tags[8] },
|
|
||||||
{ MODKEY|ShiftMask, XK_q, quit, NULL },
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* button definitions */
|
||||||
|
/* click can be a tag number (starting at 0),
|
||||||
|
* ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */
|
||||||
|
static Button buttons[] = {
|
||||||
|
/* click event mask button function argument */
|
||||||
|
{ ClkLtSymbol, 0, Button1, setlayout, {0} },
|
||||||
|
{ ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} },
|
||||||
|
{ ClkWinTitle, 0, Button2, zoom, {0} },
|
||||||
|
{ ClkStatusText, 0, Button2, spawn, {.v = termcmd } },
|
||||||
|
{ ClkClientWin, MODKEY, Button1, movemouse, {0} },
|
||||||
|
{ ClkClientWin, MODKEY, Button2, togglefloating, {0} },
|
||||||
|
{ ClkClientWin, MODKEY, Button3, resizemouse, {0} },
|
||||||
|
{ ClkTagBar, 0, Button1, view, {0} },
|
||||||
|
{ ClkTagBar, 0, Button3, toggleview, {0} },
|
||||||
|
{ ClkTagBar, MODKEY, Button1, tag, {0} },
|
||||||
|
{ ClkTagBar, MODKEY, Button3, toggletag, {0} },
|
||||||
|
};
|
||||||
|
|
||||||
|
14
config.mk
14
config.mk
@ -1,5 +1,5 @@
|
|||||||
# dwm version
|
# dwm version
|
||||||
VERSION = 4.8
|
VERSION = 5.4
|
||||||
|
|
||||||
# Customize below to fit your system
|
# Customize below to fit your system
|
||||||
|
|
||||||
@ -10,20 +10,22 @@ MANPREFIX = ${PREFIX}/share/man
|
|||||||
X11INC = /usr/X11R6/include
|
X11INC = /usr/X11R6/include
|
||||||
X11LIB = /usr/X11R6/lib
|
X11LIB = /usr/X11R6/lib
|
||||||
|
|
||||||
|
# Xinerama, un-comment if you want it
|
||||||
|
#XINERAMALIBS = -L${X11LIB} -lXinerama
|
||||||
|
#XINERAMAFLAGS = -DXINERAMA
|
||||||
|
|
||||||
# includes and libs
|
# includes and libs
|
||||||
INCS = -I. -I/usr/include -I${X11INC}
|
INCS = -I. -I/usr/include -I${X11INC}
|
||||||
LIBS = -L/usr/lib -lc -L${X11LIB} -lX11
|
LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 ${XINERAMALIBS}
|
||||||
|
|
||||||
# flags
|
# flags
|
||||||
CFLAGS = -Os ${INCS} -DVERSION=\"${VERSION}\"
|
CPPFLAGS = -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS}
|
||||||
|
CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
|
||||||
LDFLAGS = -s ${LIBS}
|
LDFLAGS = -s ${LIBS}
|
||||||
#CFLAGS = -g -std=c99 -pedantic -Wall -O2 ${INCS} -DVERSION=\"${VERSION}\" -DWORK
|
|
||||||
#LDFLAGS = -g ${LIBS}
|
|
||||||
|
|
||||||
# Solaris
|
# Solaris
|
||||||
#CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\"
|
#CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\"
|
||||||
#LDFLAGS = ${LIBS}
|
#LDFLAGS = ${LIBS}
|
||||||
#CFLAGS += -xtarget=ultra
|
|
||||||
|
|
||||||
# compiler and linker
|
# compiler and linker
|
||||||
CC = cc
|
CC = cc
|
||||||
|
42
dwm.1
42
dwm.1
@ -20,13 +20,13 @@ Windows are grouped by tags. Each window can be tagged with one or multiple
|
|||||||
tags. Selecting certain tags displays all windows with these tags.
|
tags. Selecting certain tags displays all windows with these tags.
|
||||||
.P
|
.P
|
||||||
dwm contains a small status bar which displays all available tags, the layout,
|
dwm contains a small status bar which displays all available tags, the layout,
|
||||||
the title of the focused window, and the text read from standard input. A
|
the title of the focused window, and the text read from the root window name
|
||||||
floating window is indicated with an empty square and a maximised
|
property. A floating window is indicated with an empty square and a maximised
|
||||||
floating window is indicated with a filled square before the windows
|
floating window is indicated with a filled square before the windows title.
|
||||||
title. The selected tags are indicated with a different color. The tags of
|
The selected tags are indicated with a different color. The tags of the focused
|
||||||
the focused window are indicated with a filled square in the top left
|
window are indicated with a filled square in the top left corner. The tags
|
||||||
corner. The tags which are applied to one or more windows are indicated
|
which are applied to one or more windows are indicated with an empty square in
|
||||||
with an empty square in the top left corner.
|
the top left corner.
|
||||||
.P
|
.P
|
||||||
dwm draws a small border around windows to indicate the focus state.
|
dwm draws a small border around windows to indicate the focus state.
|
||||||
.SH OPTIONS
|
.SH OPTIONS
|
||||||
@ -57,17 +57,20 @@ click on a tag label adds/removes that tag to/from the focused window.
|
|||||||
Start
|
Start
|
||||||
.BR xterm.
|
.BR xterm.
|
||||||
.TP
|
.TP
|
||||||
|
.B Mod1\-b
|
||||||
|
Toggles bar on and off.
|
||||||
|
.TP
|
||||||
|
.B Mod1\-t
|
||||||
|
Sets tiled layout.
|
||||||
|
.TP
|
||||||
.B Mod1\-f
|
.B Mod1\-f
|
||||||
Applies floating layout.
|
Sets floating layout.
|
||||||
.TP
|
.TP
|
||||||
.B Mod1\-m
|
.B Mod1\-m
|
||||||
Applies monocle layout.
|
Sets monocle layout.
|
||||||
.TP
|
.TP
|
||||||
.B Mod1\-v
|
.B Mod1\-space
|
||||||
Applies vertical tiled layout.
|
Toggles between current and previous layout.
|
||||||
.TP
|
|
||||||
.B Mod1\-h
|
|
||||||
Applies horizontal tiled layout.
|
|
||||||
.TP
|
.TP
|
||||||
.B Mod1\-j
|
.B Mod1\-j
|
||||||
Focus next window.
|
Focus next window.
|
||||||
@ -75,6 +78,12 @@ Focus next window.
|
|||||||
.B Mod1\-k
|
.B Mod1\-k
|
||||||
Focus previous window.
|
Focus previous window.
|
||||||
.TP
|
.TP
|
||||||
|
.B Mod1\-h
|
||||||
|
Decrease master area size.
|
||||||
|
.TP
|
||||||
|
.B Mod1\-l
|
||||||
|
Increase master area size.
|
||||||
|
.TP
|
||||||
.B Mod1\-Return
|
.B Mod1\-Return
|
||||||
Zooms/cycles focused window to/from master area (tiled layouts only).
|
Zooms/cycles focused window to/from master area (tiled layouts only).
|
||||||
.TP
|
.TP
|
||||||
@ -87,9 +96,6 @@ Toggle focused window between tiled and floating state.
|
|||||||
.B Mod1\-Tab
|
.B Mod1\-Tab
|
||||||
Toggles to the previously selected tags.
|
Toggles to the previously selected tags.
|
||||||
.TP
|
.TP
|
||||||
.B Mod1\-r
|
|
||||||
Re-applies tagging rules to all windows.
|
|
||||||
.TP
|
|
||||||
.B Mod1\-Shift\-[1..n]
|
.B Mod1\-Shift\-[1..n]
|
||||||
Apply
|
Apply
|
||||||
.RB nth
|
.RB nth
|
||||||
@ -124,7 +130,7 @@ Quit dwm.
|
|||||||
Move focused window while dragging. Tiled windows will be toggled to the floating state.
|
Move focused window while dragging. Tiled windows will be toggled to the floating state.
|
||||||
.TP
|
.TP
|
||||||
.B Mod1\-Button2
|
.B Mod1\-Button2
|
||||||
Zooms/cycles focused window to/from master area. If it is floating (but not fixed) it will be toggled to the tiled state instead.
|
Toggles focused window between floating and tiled state.
|
||||||
.TP
|
.TP
|
||||||
.B Mod1\-Button3
|
.B Mod1\-Button3
|
||||||
Resize focused window while dragging. Tiled windows will be toggled to the floating state.
|
Resize focused window while dragging. Tiled windows will be toggled to the floating state.
|
||||||
|
Reference in New Issue
Block a user