wmii updated upstream
[wmiirc-lua.git] / README
blobff86b36c384a9312e230e162d46dcda4412290b2
1 wmii-lua copyright (c) 2007 Bart Trojanowski <bart@jukie.net>
3                    website - http://www.jukie.net/~bart/blog/tag/wmiirc-lua
4                        irc - #wmiirc-lua on oftc.net
5                      email - http://groups.google.ca/group/wmii-lua
6                     source - http://github.com/bartman/wmii-lua
8 Abstract
9 --------
10 wmii [1], window manager improved-improved, is a dynamic window manager
11 for X11.  It supports classic and tiled window management with extended
12 keyboard, mouse, and 9P-based [2] remote control.
14 wmii-lua [3] implements an "event loop" script for the wmii window
15 manager.  The goals of the project are to
17  - be fast, small, feature rich, and extensible through plugins,
18  - avoid threading and polling at all costs, and
19  - replicate the functionality of wmii+ruby.
21 As the name suggests the script is written in Lua.  Before writing it I
22 was a happy user of wmii+ruby.  Happy, until powertop [4] was written.
23 Powertop told me that ruby was the number 1 reason my battery life
24 sucked.  I chose lua because it helps me achieve the first and second
25 goals.
28 Requirements for wmii-lua
29 -------------------------
30 The following are required to build wmii-lua project:
32  - lua5.1
33  - liblua5.1
34  - liblua5.1-posix0
35  - patience (no, it's not a package)
37 Naturally, wmii-lua depends on wmii.  It also depends on libixp, which
38 is used to communicate with wmii.  Both of these projects come from
39 suskless.org and are tracked upstream using mercurial.  You are free
40 chose how you wish to get libixp and wmii:
42  - from your distribution
43  - from wmii-lua's extra packages
44  - from suckless.org's mercurial repositories
46 Your distribution may have upto date libixp and wmii.  Great.
48 The easiest way to build libixp and wmii from source is to use the git
49 submodules of this repository.  But that assumes that you have received
50 this project in a form of a git repository from the above URL.  More on
51 this under "building" below.
54 Installing prerequisites
55 ------------------------
56 If you are running Debian (or derivative) these steps may help you:
58     apt-get install git-core                                \
59                     build-essential debhelper               \
60                     libx11-dev libxext-dev libxt-dev        \
61                     lua5.1 liblua5.1-0-dev liblua5.1-posix0 \
62                     dwm-tools xclip dstat pkg-config
64     apt-get build-dep libixp wmii
66 If you chose to work on plugins, you can install all lua packages
67 like this:
69     apt-cache search lua5.1 | awk '/liblua5.1/ { print $1 }' \
70     | xargs sudo apt-get install -y
73 Building & Installation
74 -----------------------
75 Now that you have the prerequisites installed, you can choose one of the
76 following three options.
78 A. Install in $HOME only
80   This method installs wmii-lua in ~/usr and ~/.wmii-lua only.  Ther is
81   no need for super user privileges.
83     # (optional) get the sources
84     git clone git://github.com/bartman/wmii-lua.git
85     cd wmii-lua
87     # (optional) configure where things go
88     make config.mk
89     vim config.mk
91     # (optional) build and install libixp and wmii
92     make ext-update
93     make ext-install-user
95     # build and install wmii-lua
96     make install-user
98 B. Install system wide
100     # (optional) get the sources
101     git clone git://github.com/bartman/wmii-lua.git
102     cd wmii-lua
104     # (optional) configure where things go
105     make config.mk
106     vim config.mk
108     # (optional) build and install libixp and wmii
109     make ext-update
110     make ext
111     sudo make ext-install
113     # Build wmii-lua as anyone
114     make
116     # Installing software in system directories as root
117     sudo make install
119     # Setting up $HOME for wmii-lua
120     install-wmiirc-lua
122 C. Make a Debian package
124     # (optional) get the sources
125     git clone git://github.com/bartman/wmii-lua.git
126     cd wmii-lua
128     # Switch to the debian branch
129     git checkout debian
131     # Build the .deb
132     make deb
134     # Install deb
135     sudo debi
137     # Setting up $HOME for wmii-lua
138     install-wmiirc-lua
141 Running wmii
142 ------------
143 wmii-lua is now ready to run, but you still have to make wmii your
144 window manager.  You can do this by running the wmii executable from
145 .initrc or .xsession... your choice.
147     cat ~/.xinitrc
148     wmii-lua
152     cat ~/.xsession
153     exec wmii-lua
155 Note: the base configuration uses Mod4 -- the windows key on PC
156 keyboards -- for some of the binding.  If your keyboard, like my
157 Thinkpad's, does not have a windows key you can "make one" with
158 xmodmaprc.  See: contrib/remap-caps-ctrl-mod4
160 Configuration
161 -------------
162 All configuration of wmii-lua is done by editing the ~/.wmii-lua/wmiirc
163 file.  See doc/configuration for more help on configuring wmii-lua.
165 wmii-lua supports all the keyboard shortcuts of wmii's shell wmiirc,
166 some of the features of wmii+ruby, as well as some additional ones.  See
167 the doc/key-bindings for information on how to control wmii with the
168 extended key bindings wmii-lua provides.
170 More advanced users may also write plugins for wmii-lua using the
171 plugin API.  Plugins live in ~/.wmii-lua/plugins/ directory, and several
172 come with this package.  See the wmii.3lua man page, and doc/plugin-api
173 for more information about how to write code for wmii-lua.
175     make man
176     man ./wmii.3lua
179 Credits
180 -------
181 The following people have contributed especially to wmii-lua in
182 various ways.  They are copyright holders of their respective
183 contributions.
185 - Bart Trojanowski <bart@jukie.net>
186 - Dave O'Neill
187 - Jean Richard
188 - David Leadbeater
189 - Jan-David Quesel
190 - Stefan Riegler 
191 - Sytse Wielinga 
194 Credits
195 -------
196 wmii-lua is licensed under GPLv2.
198 References
199 ----------
200 [1] http://www.suckless.org/
201 [2] http://www.cs.bell-labs.com/sys/man/5/INDEX.html 
202 [3] http://www.jukie.net/~bart/blog/wmiirc-in-lua
203 [4] http://www.linuxpowertop.org
204 # vim:set ft=mkd: