Compare commits

...

149 Commits
5.1 ... 5.6

Author SHA1 Message Date
450b08dde2 final style fixes 2009-07-14 16:26:04 +01:00
da80487c07 removed int cast in TAGMASK as suggested by nsz 2009-07-14 16:04:07 +01:00
d9779c06fc some stylistic changes 2009-07-14 16:01:14 +01:00
20996c6c5a removed obsolete BUG 2009-07-13 12:51:00 +01:00
8dc9fcf1b9 mark broken clients as broken 2009-07-12 22:49:06 +01:00
fc21dd4b7e fixing updatetitle 2009-07-12 22:34:29 +01:00
758b100d12 extended rule to apply monitors if set up accordingly 2009-07-09 21:52:17 +01:00
8420fb1ced reverting to optimised compiler options, current state seems stable 2009-07-09 20:49:48 +01:00
f6128a16f9 extended man page to mention number of visible windows 2009-07-09 20:11:33 +01:00
87526be6f0 added client number printing right of layout symbol 2009-07-09 19:58:58 +01:00
565050ac51 removed monsyms, useless 2009-07-09 11:29:01 +01:00
5e408d8ff6 restricting number of mons by length of monsyms 2009-07-09 11:21:06 +01:00
1724f7fa43 introducing const where it might make some sense 2009-07-08 18:59:20 +01:00
3e6fe6b541 no that's definately better 2009-07-08 17:24:39 +01:00
6620615ab9 some minor changes 2009-07-08 17:05:20 +01:00
61c3095f2f die if malloc sizeof(Monitor) fails 2009-07-08 16:05:36 +01:00
a72dc2fec2 applied Mate's patch, added Mate to LICENSE 2009-07-06 20:12:47 +01:00
8b17f5517b some cleanups 2009-07-02 20:56:23 +01:00
cd96232f7e hotfix 2009-07-02 20:38:56 +01:00
a9e145fe6d changed focusmon/tagmon to work on prev/next instead (-1/+1), changed shortcuts to Mod1-, Mod1-. and Mod1-Shift-, Mod1-Shift-. 2009-07-02 20:37:26 +01:00
5dd92c7655 removed some empty lines 2009-07-02 18:40:04 +01:00
52bd69c2a4 interactive resizals allow display dimensions again 2009-07-02 18:30:01 +01:00
ca376970db more sensible 2009-07-02 16:48:54 +01:00
8352f2b3a8 hmm, can't decide on the default monitor symbol set 2009-07-02 16:47:00 +01:00
d4bfde79f3 update 2009-07-02 16:44:57 +01:00
7ac8c1d4e1 introduced monitor symbols 2009-07-02 16:41:52 +01:00
16e1ef5d40 minor fix 2009-07-02 14:42:06 +01:00
1d729384d1 several bugfixes 2009-07-01 19:15:20 +01:00
25c1eb28f9 some minor fix if xinerama is disabled, still some odd behavior in there 2009-07-01 17:08:10 +01:00
d719cc9a0e updated year ranges 2009-06-30 20:20:33 +01:00
9cde6570cc fixed usage of sx, sy, sw, sh 2009-06-30 20:15:31 +01:00
e408ca97d8 don't draw monitor number, if there is just one monitor 2009-06-30 20:00:11 +01:00
183dc670a3 fixed order of transient monitor applicaion and rule application 2009-06-30 19:56:19 +01:00
25947bcfdb hotfix 2009-06-30 19:45:25 +01:00
1ddfc571ae several simplifications 2009-06-30 19:39:59 +01:00
21cd59a630 play safe 2009-06-30 15:56:32 +01:00
6cbe47d481 applied a collection of Christof Musik patches, and fixed an issue reported by waistcoats on IRC 2009-06-30 15:51:09 +01:00
029655bb22 some cleanup handling for index based mon search 2009-06-27 18:50:50 +01:00
27db9d4448 using mon in function names for consistency reasons 2009-06-27 18:42:10 +01:00
176408afa8 fixed several issues with focus handling via mouse, also added sending clients to the right monitor they belong to after mouse moves/resizals 2009-06-27 18:39:03 +01:00
64674c395b fixed focusmon brokeness 2009-06-27 17:38:18 +01:00
b9dee2c6f1 tag fix 2009-06-26 16:41:27 +01:00
a73ff905b0 typo fix 2009-06-25 11:17:42 +01:00
e3f0445df1 assign selected tags of target monitor to client when tagmon is performed (less obtrusive imho) 2009-06-25 11:10:19 +01:00
ab06f7444b added some TODOs, some other focus fixes 2009-06-24 20:04:18 +01:00
a2a3590979 disabled XINULATOR code for now 2009-06-24 19:52:09 +01:00
e8aafb8e91 made bar based monitor switching working 2009-06-24 19:51:41 +01:00
18b1312449 several other focus fixes, introduced unfocus() 2009-06-24 19:45:47 +01:00
80ee95473b some focus fixes 2009-06-24 15:37:32 +01:00
454a04acdf fixed title rendering on non-active screen 2009-06-24 13:51:45 +01:00
891831fe62 fixed getclient brokeness 2009-06-24 12:48:01 +01:00
cdb8e27453 some hotfix cleanup related to wild selmon-> destruction 2009-06-24 11:14:51 +01:00
5c4913e983 some restack fixes, still odd behavior if n>1 on unmanaging clients 2009-06-23 19:09:30 +01:00
fa5ae54bbb added some dual head simulator code 2009-06-23 19:00:32 +01:00
7de534192c simplified left over re-assignment 2009-06-23 17:39:42 +01:00
54dc0d542c fixed tagmon, re-using detach/detachstack and attach/attachstack 2009-06-23 17:34:20 +01:00
913333f518 simplified ISVISBLE and nexttiled 2009-06-23 17:20:33 +01:00
d702f39274 moved clients/stack/sel to Monitor, that's a per monitor structure from now on 2009-06-23 17:17:25 +01:00
0d8671a5ad declare buf only if XINERAMA support is used 2009-06-23 16:29:32 +01:00
38e9b67026 if compiled without XINERAMA support assume 1 monitor by default (n = 1) 2009-06-23 16:28:37 +01:00
a3bbdb1b7b some more refactoring, bar toggle fixes 2009-06-22 20:29:59 +01:00
d53ceee682 hotfixes 2009-06-22 18:13:05 +01:00
78f56672b5 changes monitor structure to be a list 2009-06-22 14:58:08 +01:00
c2fff604a7 we need a tagset per monitor, removed tagset declaration from config.h 2009-06-20 17:02:55 +01:00
6644a6aa2e some minor fixes regarding the new xinerama support 2009-06-20 16:18:02 +01:00
3da2453997 several fixes through ISVISIBLE change (takes Monitor into account) 2009-06-20 15:51:34 +01:00
2ce37bc69e experimental xinerama support, two new actions, Mod1-w/e and Mod1-Shift-w/e 2009-06-20 15:10:04 +01:00
f27ccc5c60 introduction of Monitor for better Xinerama support, work in progress 2009-06-19 20:15:15 +01:00
2dbfda72f0 removed MAXTAGLEN 2009-05-29 09:29:22 +01:00
7df39f3fc7 next version will be 5.6, shortened some very long lines 2009-04-20 11:03:33 +01:00
0b45199cec Added tag 5.5 for changeset deaa276abac1 2009-04-18 12:49:34 +01:00
3632d7132f applied Marc Andre Tanners showhide patch, the removal of ntiled 2009-03-19 13:06:15 +00:00
565697087b applied Gottox' patches, and also removed usegrab 2009-03-17 19:53:00 +00:00
ea0008cba2 applied the patch I missed from Gottox, thanks mate! 2009-03-03 11:22:16 +00:00
af508c2e82 applied Gottox' resizehints patch, thanks Gottox! 2009-03-02 10:43:48 +00:00
f0d1d5206f some NULL fixes 2009-02-21 19:20:11 +00:00
1c80c05587 override_redirect is Bool 2009-02-21 19:15:30 +00:00
1e350be229 applied Gottox' adjustborder removal patch (thanks!) 2009-02-21 19:12:46 +00:00
1a26389e2b applied nsz' remark 2009-02-14 11:21:24 +00:00
bf9da23f07 fix of typo, thx to Enno Gottox Boland 2009-02-12 17:26:12 +01:00
2373940215 Added tag 5.4.1 for changeset 85a78d8afa0f 2009-02-08 12:11:35 +00:00
90687482ad fixed an issue reported by Nibble, also fixed s/2008/2009/ 2009-02-08 12:11:22 +00:00
5ab627c06c Added tag 5.4 for changeset 8b7836a471f8 2009-02-08 09:47:02 +00:00
76d7e80fc4 avoid reverting the border if it's not necessary (avoids some flashing on view()) 2009-02-08 09:46:23 +00:00
af8049bce8 spotted missing spaces 2008-12-20 12:02:14 +00:00
2bb51b3246 reverting some border patches 2008-12-20 00:02:56 +00:00
b16d8282be changed adjustborder to be a macro 2008-12-19 23:56:00 +00:00
fef4614772 applied yiyus applyrules() patch 2008-12-19 23:41:31 +00:00
be39dddcc5 implemented noborder for 1 client in the view 2008-12-17 21:25:32 +00:00
6d209b9b29 made status script example of .xinitrc more useful 2008-12-13 20:20:26 +00:00
57a0788bd8 ok, using signal.h for portability reasons 2008-12-13 17:44:29 +00:00
3ad906eede removed unnecessary closure of stdin reported by Frederic Chardon, thx 2008-12-13 17:27:48 +00:00
0be9fb8797 added sys/signal.h inclusion for BSD compliance 2008-12-13 16:35:34 +00:00
62a491e36d re-applied Neale's spawn patch, credited Neale in LICENSE 2008-12-12 19:55:03 +00:00
0b5dcf229f applied Neale Pickett's xprop status reading patch, updated README and dwm.1 accordingly 2008-12-12 19:49:06 +00:00
fda92f46aa applied yiyus fix 2008-12-06 16:20:14 +00:00
a62ea4062f fix 2008-12-06 11:22:30 +00:00
7dc28d130f Added tag 5.3.1 for changeset 335301ed102f 2008-12-06 09:33:58 +00:00
fbce733532 integrated yiyus clearurgent refactoring 2008-12-06 09:32:32 +00:00
e7572804fa reverted spawn 2008-12-06 09:16:48 +00:00
ed1bef1241 Added tag 5.3 for changeset 4004d6116035 2008-12-04 20:23:08 +00:00
2b047e460b added Neale Pickett's spawn patch, thanks Neale 2008-12-04 20:15:00 +00:00
5f74dc5e78 applied Gottox' comment fix (thanks) 2008-11-16 13:22:24 +00:00
ea8a4ca46a several changes towards 5.3, XINERAMA is disabled by default, introduced usegrab Bool for grabbing the server during mouse-based resizals/movements (disabled by default), continued debugging tile() with resizehints == True and a lot of terminals supporting resizehints, still no optimal solution, I need to think about it, considering recursive algorithm for the space optimization 2008-10-19 12:59:18 +01:00
4883a06221 removed NOBORDER(broken and badly used), introduce WIDTH/HEIGHT macros for computing client size with border added, fixes bug announced by sergey_m 2008-10-15 18:08:24 +02:00
4dea5324c0 Added tag 5.2 for changeset e4bcaca8e6ef 2008-09-09 20:47:01 +01:00
53cac17692 using malloc() instead of calloc() and sticking to static initializer and struct assignment, not using *c = (Client){}; right now to avoid some ugly gcc warning, possibly a gcc bug since we are using -std=c99 2008-09-08 22:24:05 +01:00
83abfc05eb applied XGetWMNormalHints fix 2008-09-07 09:53:59 +01:00
862b0d541d I prefer doing the check in showhide 2008-09-06 09:34:49 +01:00
c1c6fdc5d8 applied Donald Chai's showhide patch in slightly modified ways 2008-09-06 09:21:32 +01:00
9a4d07d9de applied Martin Hurton's checkotherwm simplification 2008-09-06 08:59:51 +01:00
30410108eb applied Peter Hartlichs aspect revert fix 2008-09-02 22:36:06 +01:00
753e0e048e applied Gottox' grabkey patch 2008-09-02 18:47:01 +01:00
d15d4ba45a applied yiyus tagbar patch 2008-09-01 22:18:50 +01:00
815f9c054d merged merge 2008-09-01 08:22:11 +00:00
addc52c948 fixed 2008-08-29 11:29:42 +01:00
26f41c9055 checking result of XGetClassHint, removed some obsolete lines in initfont() 2008-08-29 10:13:47 +01:00
73ec124ae9 merged my changes 2008-08-27 15:03:35 +01:00
ec11a3470c introduced NOBORDER macro to hide the nasty - 2 * c->bw in various calculations, moved tagset to config.def.h 2008-08-27 12:52:44 +01:00
4b3b597da3 WM_NAME is builtin atom 2008-08-25 11:43:45 +02:00
288cf78b18 grabbuttons() and grabkeys() are now independent from prior numlockmask initialization 2008-08-25 09:44:23 +01:00
6411aa921b reverted some resize() changes, reverted setlocale removal 2008-08-25 09:37:39 +01:00
db5db8806f applied Peter Hartlich's patch regarding aspect calculation with slight modifications 2008-08-23 09:54:55 +01:00
258c338030 removed artifact from wmii 2008-08-23 09:33:05 +01:00
85da537856 changed grabkeys, removed initmodmap 2008-08-23 09:31:28 +01:00
2b4157eccd applied Peter Hartlich's initmodmap patch 2008-08-23 09:26:11 +01:00
0f26de991f applied fix of toggletag by Jan Kaliszewski 2008-08-22 15:26:30 +02:00
840f937a98 Martin Hurtons typo fix 2008-08-18 19:28:57 +01:00
6975a7e31a fixed error I did when applying Martin Hurton's drawtext patch 2008-08-18 19:23:03 +01:00
47f63dce55 applied Martin Hurtons resizemouse patch 2008-08-18 19:19:15 +01:00
02a8ca95cf applied Martin Hurton's movemouse() patch 2008-08-18 18:23:39 +01:00
2ce50a9cad using None instead of 0 for trans 2008-08-18 10:22:46 +01:00
bfa5869da1 abc... 2008-08-18 10:21:24 +01:00
087a55f8d3 removed the i = textnw... as remarked by Martin Hurton 2008-08-18 10:16:36 +01:00
6d7285fd6e applied Martin Hurton's scan() patch with slight modifications 2008-08-18 10:14:51 +01:00
69c7b4b0ba changed order of variables in drawtext 2008-08-18 10:00:10 +01:00
97699e5b1b applied Martin Hurton's drawtext() patch 2008-08-18 09:55:36 +01:00
2dc7f42fd7 applied Martin Hurton's view() simplification, not checking arg 2008-08-18 09:49:44 +01:00
9f3a5cb754 making a comment more explicit 2008-08-18 09:39:52 +01:00
b48fa3f101 removed setlocale() stuff, not necessary if Xmb in use 2008-08-18 09:31:55 +01:00
051a404b66 added a comment about FAQ regarding mfact meaning 2008-08-18 09:11:15 +01:00
d8d733c34f added some comments regarding FAQ about s{x,y,w,h}, w{x,y,w,h}, b{y,h,lw} 2008-08-18 09:10:21 +01:00
bb01e5a16f initialize trans with 0 2008-08-18 08:57:34 +01:00
06f7eed103 fix of XGetTransientForHint in manage() 2008-08-14 22:35:52 +02:00
0ffa6d1393 applied cleanup from M. Hurton and S. Nagy 2008-08-14 12:36:49 +02:00
15ce143620 fixes using arg->i instead of arg->ui 2008-08-12 21:24:40 +02:00
63d7190231 applied Johannes Hofmann's patch, please test 2008-08-04 17:39:36 +01:00
b279cef670 made readin a config.h variable 2008-08-02 19:12:15 +01:00
6254ef9dc7 Added tag 5.1 for changeset ce355cea9bb8 2008-07-29 19:19:00 +01:00
7 changed files with 844 additions and 609 deletions

View File

@ -54,3 +54,10 @@ 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
8b7836a471f8f9ee61bec980df00971888d76343 5.4
85a78d8afa0fe8b106a8223b5327e5bddb5dd5e3 5.4.1
deaa276abac17ca08fbeb936916e4c8292d293a4 5.5

12
LICENSE
View File

@ -1,12 +1,16 @@
MIT/X Consortium License
© 2006-2008 Anselm R Garbe <garbeam at gmail dot com>
© 2006-2009 Anselm R Garbe <garbeam at gmail dot com>
© 2006-2007 Sander van Dijk <a dot h dot vandijk at gmail dot com>
© 2006-2007 Jukka Salmi <jukka at salmi dot ch>
© 2007 Premysl Hruby <dfenze at gmail dot com>
© 2007 Szabolcs Nagy <nszabolcs at gmail dot com>
© 2007 Christof Musik <christof at sendfax dot de>
© 2007-2009 Premysl Hruby <dfenze at gmail dot com>
© 2007-2009 Szabolcs Nagy <nszabolcs at gmail dot com>
© 2007-2009 Christof Musik <christof at sendfax 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>
© 2009 Mate Nagy <mnagy@port70.net>
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),

5
README
View File

@ -40,9 +40,10 @@ like this in your .xinitrc:
while true
do
echo `date` `uptime | sed 's/.*,//'`
xsetroot -name "`date` `uptime | sed 's/.*,//'`"
sleep 1
done | dwm
done &
exec dwm
Configuration

View File

@ -1,32 +1,32 @@
/* See LICENSE file for copyright and license details. */
/* appearance */
static const char font[] = "-*-terminus-medium-r-normal-*-14-*-*-*-*-*-*-*";
static const char font[] = "-*-*-medium-*-*-*-14-*-*-*-*-*-*-*";
static const char normbordercolor[] = "#cccccc";
static const char normbgcolor[] = "#cccccc";
static const char normfgcolor[] = "#000000";
static const char selbordercolor[] = "#0066ff";
static const char selbgcolor[] = "#0066ff";
static const char 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 const unsigned int borderpx = 1; /* border pixel of windows */
static const unsigned int snap = 32; /* snap pixel */
static const Bool showbar = True; /* False means no bar */
static const Bool topbar = True; /* False means bottom bar */
/* tagging */
static const char tags[][MAXTAGLEN] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
static Rule rules[] = {
/* class instance title tags mask isfloating */
{ "Gimp", NULL, NULL, 0, True },
{ "Firefox", NULL, NULL, 1 << 8, True },
static const Rule rules[] = {
/* class instance title tags mask isfloating monitor */
{ "Gimp", NULL, NULL, 0, True, -1 },
{ "Firefox", NULL, NULL, 1 << 8, False, -1 },
};
/* layout(s) */
static float mfact = 0.55;
static Bool resizehints = True; /* False means respect size hints in tiled resizals */
static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */
static const Bool resizehints = True; /* False means respect size hints in tiled resizals */
static Layout layouts[] = {
static const Layout layouts[] = {
/* symbol arrange function */
{ "[]=", tile }, /* first entry is default */
{ "><>", NULL }, /* no layout function means floating behavior */
@ -67,6 +67,10 @@ static Key keys[] = {
{ MODKEY|ShiftMask, XK_space, togglefloating, {0} },
{ MODKEY, XK_0, view, {.ui = ~0 } },
{ MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } },
{ MODKEY, XK_comma, focusmon, {.i = -1 } },
{ MODKEY, XK_period, focusmon, {.i = +1 } },
{ MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } },
{ MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } },
TAGKEYS( XK_1, 0)
TAGKEYS( XK_2, 1)
TAGKEYS( XK_3, 2)

View File

@ -1,5 +1,5 @@
# dwm version
VERSION = 5.1
VERSION = 5.6
# Customize below to fit your system
@ -10,7 +10,7 @@ MANPREFIX = ${PREFIX}/share/man
X11INC = /usr/X11R6/include
X11LIB = /usr/X11R6/lib
# Xinerama, comment if you don't want it
# Xinerama, un-comment if you want it
XINERAMALIBS = -L${X11LIB} -lXinerama
XINERAMAFLAGS = -DXINERAMA
@ -20,7 +20,9 @@ LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 ${XINERAMALIBS}
# flags
CPPFLAGS = -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS}
#CFLAGS = -g -std=c99 -pedantic -Wall -O0 ${INCS} ${CPPFLAGS}
CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
#LDFLAGS = -g ${LIBS}
LDFLAGS = -s ${LIBS}
# Solaris

35
dwm.1
View File

@ -19,14 +19,15 @@ layout applied.
Windows are grouped by tags. Each window can be tagged with one or multiple
tags. Selecting certain tags displays all windows with these tags.
.P
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
floating window is indicated with an empty square and a maximised
floating window is indicated with a filled square before the windows
title. The selected tags are indicated with a different color. The tags of
the focused window are indicated with a filled square in the top left
corner. The tags which are applied to one or more windows are indicated
with an empty square in the top left corner.
Each screen contains a small status bar which displays all available tags, the
layout, the number of visible windows, the title of the focused window, and the
text read from the root window name property, if the screen is focused. A
floating window is indicated with an empty square and a maximised floating
window is indicated with a filled square before the windows title. The
selected tags are indicated with a different color. The tags of the focused
window are indicated with a filled square in the top left corner. The tags
which are applied to one or more windows are indicated with an empty square in
the top left corner.
.P
dwm draws a small border around windows to indicate the focus state.
.SH OPTIONS
@ -57,6 +58,18 @@ click on a tag label adds/removes that tag to/from the focused window.
Start
.BR xterm.
.TP
.B Mod1\-,
Focus previous screen, if any.
.TP
.B Mod1\-.
Focus next screen, if any.
.TP
.B Mod1\-Shift\-,
Send focused window to previous screen, if any.
.TP
.B Mod1\-Shift\-,
Send focused window to next screen, if any.
.TP
.B Mod1\-b
Toggles bar on and off.
.TP
@ -140,12 +153,6 @@ code. This keeps it fast, secure and simple.
.SH SEE ALSO
.BR dmenu (1)
.SH BUGS
The status bar may display
.BR "EOF"
when dwm has been started by an X session manager like
.BR xdm (1),
because those close standard output before executing dwm.
.P
Java applications which use the XToolkit/XAWT backend may draw grey windows
only. The XToolkit/XAWT backend breaks ICCCM-compliance in recent JDK 1.5 and early
JDK 1.6 versions, because it assumes a reparenting window manager. As a workaround

1358
dwm.c

File diff suppressed because it is too large Load Diff