JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
cleanup, buffer KeyRelease events too
[dwm.git] / README
1 JasonWoof's fork of dwm - dynamic window manager
2 ================================================
3 dwm is an extremely fast, small, and dynamic window manager for X.
4
5 JasonWoof's modifications include:
6
7 1.      A new layout that's kinda like deck, but there's a little space above and
8         below the main slave window where you can see (a little bit of) the other
9         slave windows.
10
11 2.      When you've got only 1 window in a workspace: by default, it is in the
12         master area. A new tag/attribute is used to specify windows that should use
13         all available space when alone. This results in fewer window resizes, and
14         is nice for applications which are usually not so nice when they're huge
15         (eg firefox, mutt).
16
17 3.      _NET_WM_OPACITY is set. Run xcompmgr or the like, so you can see which
18         window has focus. (Non-zero width borders are probably broken in this fork)
19
20 4.      Terminals are spawned with environmental variable containing the current
21         workspace number. This can be used to eg have separate shell history per
22         workspace, and/or make terminals stay in their correct workspaces accross
23         dwm restarts.
24
25 5.      New windows open to the right (clockwise) of the focused window. Closing
26         the focused window focuses the window to its left (counter-clockwise). This
27         achieves both:
28         
29         1.      After closing a window, focus goes where you expect (it's consistent,
30                 and you don't have to remember what was focused before to predict
31                 correctly.)
32
33         2.      When you open a window, and then close it, focus goes back to where it
34                 was originally.
35         
36         And an added bonus: The master window doesn't move around or change size
37         when you open or close other windows.
38
39
40 Requirements
41 ------------
42 In order to build dwm you need the Xlib header files.
43
44
45 Installation
46 ------------
47 Edit config.mk to match your local setup (dwm is installed into
48 the /usr/local namespace by default).
49
50 Afterwards enter the following command to build and install dwm (if
51 necessary as root):
52
53     make clean install
54
55 If you are going to use the default bluegray color scheme it is highly
56 recommended to also install the bluegray files shipped in the dextra package.
57
58
59 Running dwm
60 -----------
61 Add the following line to your .xinitrc to start dwm using startx:
62
63     exec dwm
64
65 In order to connect dwm to a specific display, make sure that
66 the DISPLAY environment variable is set correctly, e.g.:
67
68     DISPLAY=foo.bar:1 exec dwm
69
70 (This will start dwm on display :1 of the host foo.bar.)
71
72 In order to display status info in the bar, you can do something
73 like this in your .xinitrc:
74
75     while xsetroot -name "`date` `uptime | sed 's/.*,//'`"
76     do
77         sleep 1
78     done &
79     exec dwm
80
81
82 Configuration
83 -------------
84 The configuration of dwm is done by creating a custom config.h
85 and (re)compiling the source code.