Compare commits

...

132 Commits
5.4.1 ... 5.8

Author SHA1 Message Date
f83d61dfe8 removed DEBUG code and added 2010 to the copyright list 2010-05-27 08:20:42 +01:00
c6180949a7 applied Sylvain Laurent's EWMH fullscreen state patch, simplified his patch a bit 2010-05-27 08:19:08 +01:00
1973ab0643 added the related bug reported by voltaic 2010-04-11 18:42:32 +01:00
427053f8d1 pretty printing bugs a bit 2010-04-01 22:34:46 +01:00
a88e0373ef selmon optimisation is needed 2010-04-01 19:39:24 +01:00
aa9f2be24e more debug output, experimental focus optimisation 2010-04-01 00:14:15 +01:00
c53b29e60b quick typo fix 2010-03-31 23:27:30 +01:00
d6bdd03d91 it's debug season for upcoming dwm 5.8, so only use this if you really want to run experimental code or debug code 2010-03-31 23:24:22 +01:00
1144e98394 another bug report 2009-11-25 13:56:17 +00:00
7671d03a90 removed misleading comment, thanks Romain Bertrand 2009-11-24 09:31:17 +00:00
bc554d45d8 added nsz's last bug corner case 2009-11-23 08:13:18 +00:00
ac4caea921 added BUGS, next version is 5.8 2009-10-31 11:45:56 +00:00
161f2d921b Added tag 5.7.2 for changeset 15761ac5e2f1 2009-09-27 20:20:14 +01:00
210378f198 applied Ryan Zheng's patch and re-releasing 5.7.2 2009-09-27 20:20:10 +01:00
7879616a75 Added tag 5.7.1 for changeset 48c3f87c335d 2009-09-27 10:31:20 +01:00
9e8dd3479d fixed the layout symbol bug reported by Nibble (but using a different approach as he suggested)
- optimised drawbar() and arrange() handling for multiple monitors, arrange only arranges the relevant monitors when applicable, same with drawbar
- need to release 5.7.1
2009-09-27 10:31:14 +01:00
0b72be924d Added tag 5.7 for changeset 257403d4cd96 2009-09-26 19:52:04 +01:00
91e902f7fe switching to release flags 2009-09-22 20:34:03 +01:00
30fed9a211 implemented nn < n case, k-zed please recheck 2009-09-22 20:33:42 +01:00
c45d46ad9a use buffer instead of pointer for mon->ltsymbol 2009-09-22 09:53:11 +01:00
6f55de8310 added missing scan 2009-09-22 09:16:48 +01:00
07ad298133 implemented different version of updategeom 2009-09-21 19:51:17 +01:00
f0a4845e7d added TODO to updategeom in order to implement a decent version of it soon 2009-09-19 11:52:16 +01:00
82ec7a7ed4 new experimental updategeom() additions that should avoid several problems with Xinerama, this is EXPERIMENTAL and might break something, the algorithms in use are quite complex and cumbersome, patches and comments welcome 2009-09-18 21:18:00 +01:00
e7300e0f6f implemented dynamic layout symbol stuff 2009-09-16 15:59:54 +01:00
c3feffa1e2 applied Tony Lainson's config.def.h patch 2009-09-15 13:50:41 +01:00
956a430054 update 2009-09-08 13:33:58 +01:00
01056b6636 hard-core destruction 2009-09-08 13:30:18 +01:00
eb260b1a41 renaming isdestroyed into destroyed 2009-09-08 13:18:05 +01:00
7fe81359d4 sync when a client is being killed 2009-09-08 13:16:54 +01:00
a3a859b4e9 added isdestroyed flag to unmanage 2009-09-08 13:13:03 +01:00
9c066c24b3 always updategeom when root is configured 2009-09-07 11:46:02 +02:00
0a668922a4 another small optimisation 2009-08-18 15:59:38 +01:00
5762964232 also update title if the client is on an unfocused monitor 2009-08-18 15:42:55 +01:00
cba6b211c2 applied nsz's dwm.1 patch, also added wmname 2009-08-16 21:39:24 +01:00
42750a621b applied Jukka's cosmetic patch 2009-08-16 08:18:54 +01:00
8ef465d592 applied Jukka's sigchld patch 2009-08-16 08:18:25 +01:00
33fe200b52 added merged patch of anydot and Neale 2009-08-13 10:45:59 +01:00
91fffb3f7d fixed nn declaration 2009-07-27 12:01:58 +01:00
1fa31efebf Added tag 5.6.1 for changeset e47a47bd3ed4 2009-07-26 14:02:28 +01:00
244addb3f4 applied nsz patch 2009-07-21 10:57:54 +01:00
c13be8d620 updategeom fix for same geom screens 2009-07-21 08:57:04 +01:00
dc39ae8568 applied nsz' man page comment, thanks! 2009-07-20 17:08:34 +01:00
966d76a428 merge 2009-07-20 16:40:32 +01:00
7151bf8329 removed Standard input hint 2009-07-20 16:39:42 +01:00
dfecd46190 merge 2009-07-18 11:28:31 +01:00
5bc4db0f76 applied nsz' dwm.1 fixes, thanks Szabolcs! 2009-07-18 11:28:03 +01:00
999d6e795f removed misleading comment 2009-07-17 15:28:07 +01:00
636075297c merge 2009-07-17 13:35:44 +01:00
6877a00033 it's all nsz's hard investigation effort, hail nsz! ;) 2009-07-17 13:35:17 +01:00
0927d635bc Added tag 5.6 for changeset 555070221577 2009-07-14 19:07:53 +01:00
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
7 changed files with 957 additions and 535 deletions

View File

@ -59,3 +59,10 @@ e4bcaca8e6ef13d2c3b81f1218ad15e5da4d68bd 5.2
4004d61160355d869a7d2672561caad440751ba0 5.3
335301ed102fec9b1a15d06bfa0184d53b38fa54 5.3.1
8b7836a471f8f9ee61bec980df00971888d76343 5.4
85a78d8afa0fe8b106a8223b5327e5bddb5dd5e3 5.4.1
deaa276abac17ca08fbeb936916e4c8292d293a4 5.5
5550702215773aad462f22a774dced9b87437c51 5.6
e47a47bd3ed42fd3cf023572147b75ebc2adef82 5.6.1
257403d4cd962cac03344a871ea56cc742bae38e 5.7
48c3f87c335d6606e55fbae97267fa6b39ca56e0 5.7.1
15761ac5e2f1e9010900f891616a24a22d82f128 5.7.2

97
BUGS Normal file
View File

@ -0,0 +1,97 @@
---
18:17 < Biolunar> when i change my resolution in dwm (to a smaller one) and then back to the native, the top bar is not repainted. that's since 5.7.2, in 5.6 it worked fine
18:19 < Biolunar> is it just happening to me or a (known) bug?
18:24 < Biolunar> and in addition, mplayers fullscreen is limited to the small resolution after i changed it back to the native
reproducible with xrandr -s but not with --output and --mode, strange
---
> enternotify is handled even when the entered window is already focused
> (eg moving the mouse to the bar and back, scrolling on the border..)
>
> focusing might be expensive for some clients (eg dim/light up)
>
> a possible solution is to modify enternotify:
>
> + c = wintoclient(ev->window);
> if((m = wintomon(ev->window)) && m != selmon) {
> unfocus(selmon->sel);
> selmon = m;
> }
> + else if (c == selmon->sel || c == NULL)
> + return;
---
> another corner case:
a tiled client can be resized with mod+right click, but it only works
on the main monitor
---
dmenu appears on the monitor where the pointer is and not on selmon
---
yet another corner case:
open a terminal, focus another monitor, but without moving the mouse
pointer there
if there is no client on the other monitor to get the focus, then the
terminal will be unfocused but it will accept input
---
Donald Allen reported this:
starting emacs from dmenu in archlinux results in missing configure of emacs, but mod1-space or mod1-shift-space fix this problem. this problem is new and did not happen in 1.6 xorg servers
Starting emacs from xterm doesnt show this problem, he uses tag 8 for emacs
---
2009/12/7 Alexandr Krylovskiy <wing_AT_tversu.ru>:
> Fullscreen mode with flash applications (youtube, for example) doesn't
> work properly neither in tiled nor in floating mode.
> Fullscreen window closes immediately after opening.
This is a known bug (for some curiosity I received the same report via
privmail from 2 other people within one week, really strange).
The quick fix is commenting out the code in lines 817/818 in hg tip
dwm. I cannot confirm this has no side effects (I think it does) and I
will address this issue shortly with a real fix.
---
SDL seems to not like non-reparenting WMs:
> I would like to mention SDL problems, however SDL is not crucial to
> me anymore; people that really care about it should speak up and
> propose dwm / SDL patch or cooperation scheme in that matter.
Patching SDL, bugging them?
---
voltaic reports this:
When I use two monitors, one larger in resolution than the other, the
bar is drawn using the smaller x-dimension on both screens. I think
what's happening is that there are two bars drawn, but the short bar
is always on top of the long bar such that I can't see the information
under the short bar. If I switch to the small screen, hide the short
bar, and then switch to the large screen, the long bar is drawn
correctly.
A similar problem occurs when I have started dwm on a small resolution
monitor (laptop screen) and then I switch to a large external display.
When I do this, the bar itself is drawn for the original smaller
resolution, but the information to be printed on the bar is
right-aligned for a longer bar. So what I see is a bar that has the
right hand side of it cut-off. See attached screenshot.
I am using standard options for xrandr such as --output VGA1 --auto, etc.
---

11
LICENSE
View File

@ -1,15 +1,16 @@
MIT/X Consortium License
© 2006-2009 Anselm R Garbe <garbeam at gmail dot com>
© 2006-2010 Anselm R Garbe <anselm@garbe.us>
© 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>
© 2006-2009 Jukka Salmi <jukka at salmi dot ch>
© 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"),

View File

@ -1,35 +1,32 @@
/* See LICENSE file for copyright and license details. */
/* appearance */
static const char font[] = "-*-terminus-medium-r-normal-*-14-*-*-*-*-*-*-*";
static const char font[] = "-*-terminus-medium-r-*-*-16-*-*-*-*-*-*-*";
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 Bool usegrab = False; /* True means grabbing the X server
during mouse-based resizals */
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 unsigned int tagset[] = {1, 1}; /* after start, first tag is selected */
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; /* factor of master area size [0.05..0.95] */
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; /* True 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 */
@ -70,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)
@ -83,8 +84,7 @@ static Key keys[] = {
};
/* button definitions */
/* click can be a tag number (starting at 0),
* ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */
/* click can be ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */
static Button buttons[] = {
/* click event mask button function argument */
{ ClkLtSymbol, 0, Button1, setlayout, {0} },

View File

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

74
dwm.1
View File

@ -19,14 +19,14 @@ 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 the root window name
property. 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 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
@ -36,8 +36,10 @@ prints version information to standard output, then exits.
.SH USAGE
.SS Status bar
.TP
.B Standard input
is read and displayed in the status text area.
.B X root window name
is read and displayed in the status text area. It can be set with the
.BR xsetroot (1)
command.
.TP
.B Button1
click on a tag label to display all windows with that tag, click on the layout
@ -55,7 +57,19 @@ click on a tag label adds/removes that tag to/from the focused window.
.TP
.B Mod1\-Shift\-Return
Start
.BR xterm.
.BR uxterm (1).
.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.
@ -97,30 +111,22 @@ Toggle focused window between tiled and floating state.
Toggles to the previously selected tags.
.TP
.B Mod1\-Shift\-[1..n]
Apply
.RB nth
tag to focused window.
Apply nth tag to focused window.
.TP
.B Mod1\-Shift\-0
Apply all tags to focused window.
.TP
.B Mod1\-Control\-Shift\-[1..n]
Add/remove
.B nth
tag to/from focused window.
Add/remove nth tag to/from focused window.
.TP
.B Mod1\-[1..n]
View all windows with
.BR nth
tag.
View all windows with nth tag.
.TP
.B Mod1\-0
View all windows with any tag.
.TP
.B Mod1\-Control\-[1..n]
Add/remove all windows with
.BR nth
tag to/from the view.
Add/remove all windows with nth tag to/from the view.
.TP
.B Mod1\-Shift\-q
Quit dwm.
@ -140,19 +146,19 @@ 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
you can use JDK 1.4 (which doesn't contain the XToolkit/XAWT backend) or you
can set the following environment variable (to use the older Motif
backend instead):
.BR AWT_TOOLKIT=MToolkit .
JDK 1.6 versions, because it assumes a reparenting window manager. Possible workarounds
are using JDK 1.4 (which doesn't contain the XToolkit/XAWT backend) or setting the
environment variable
.BR AWT_TOOLKIT=MToolkit
(to use the older Motif backend instead) or running
.B xprop -root -f _NET_WM_NAME 32a -set _NET_WM_NAME LG3D
or
.B wmname LG3D
(to pretend that a non-reparenting window manager is running that the
XToolkit/XAWT backend can recognize) or when using OpenJDK setting the environment variable
.BR _JAVA_AWT_WM_NONREPARENTING=1 .
.P
GTK 2.10.9+ versions contain a broken
.BR Save\-As

1253
dwm.c

File diff suppressed because it is too large Load Diff