README fixes (thanks: Cristian Grigoriu)
[wmiirc-lua.git] / README
bloba9e16cd03e9517e00a8eddd24b498dd8f97aaa23
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                     libxrandr-dev                           \
62                     lua5.1 liblua5.1-0-dev liblua5.1-posix1 \
63                     dwm-tools xclip dstat pkg-config
65 Note that liblua5.1-posix1 may actually be liblua5.1-posix0 or someother
66 suffix.  Please check what's available on your platform.
68     apt-get build-dep libixp wmii
70 If you chose to work on plugins, you can install all lua packages
71 like this:
73     apt-cache search lua5.1 | awk '/liblua5.1/ { print $1 }' \
74     | xargs sudo apt-get install -y
77 Building & Installation
78 -----------------------
79 Now that you have the prerequisites installed, you can choose one of the
80 following three options.
82 A. Install in $HOME only
84   This method installs wmii-lua in ~/usr and ~/.wmii-lua only.  Ther is
85   no need for super user privileges.
87     # (optional) get the sources
88     git clone git://github.com/bartman/wmii-lua.git
89     cd wmii-lua
91     # (optional) configure where things go
92     make config.mk
93     vim config.mk
95     # (optional) build and install libixp and wmii
96     make ext-update
97     make ext-install-user
99     # build and install wmii-lua
100     make install-user
102 B. Install system wide
104     # (optional) get the sources
105     git clone git://github.com/bartman/wmii-lua.git
106     cd wmii-lua
108     # (optional) configure where things go
109     make config.mk
110     vim config.mk
112     # (optional) build and install libixp and wmii
113     make ext-update
114     make ext
115     sudo make ext-install
117     # Build wmii-lua as anyone
118     make
120     # Installing software in system directories as root
121     sudo make install
123     # Setting up $HOME for wmii-lua
124     install-wmiirc-lua
126 C. Make a Debian package
128     # (optional) get the sources
129     git clone git://github.com/bartman/wmii-lua.git
130     cd wmii-lua
132     # Switch to the debian branch
133     git checkout -b debian -t origin/debian
135     # Build the .deb
136     make deb
138     # Install deb
139     sudo debi
141     # Setting up $HOME for wmii-lua
142     install-wmiirc-lua
145 Running wmii
146 ------------
147 wmii-lua is now ready to run, but you still have to make wmii your
148 window manager.  You can do this by running the wmii executable from
149 .initrc or .xsession... your choice.
151     cat ~/.xinitrc
152     wmii-lua
156     cat ~/.xsession
157     exec wmii-lua
159 Note: the base configuration uses Mod4 -- the windows key on PC
160 keyboards -- for some of the binding.  If your keyboard, like my
161 Thinkpad's, does not have a windows key you can "make one" with
162 xmodmaprc.  See: contrib/remap-caps-ctrl-mod4
164 Configuration
165 -------------
166 All configuration of wmii-lua is done by editing the ~/.wmii-lua/wmiirc
167 file.  See doc/configuration for more help on configuring wmii-lua.
169 wmii-lua supports all the keyboard shortcuts of wmii's shell wmiirc,
170 some of the features of wmii+ruby, as well as some additional ones.  See
171 the doc/key-bindings for information on how to control wmii with the
172 extended key bindings wmii-lua provides.
174 More advanced users may also write plugins for wmii-lua using the
175 plugin API.  Plugins live in ~/.wmii-lua/plugins/ directory, and several
176 come with this package.  See the wmii.3lua man page, and doc/plugin-api
177 for more information about how to write code for wmii-lua.
179     make man
180     man ./wmii.3lua
183 Credits
184 -------
185 The following people have contributed especially to wmii-lua in
186 various ways.  They are copyright holders of their respective
187 contributions.
189 - Bart Trojanowski <bart@jukie.net>
190 - Dave O'Neill
191 - Jean Richard
192 - David Leadbeater
193 - Jan-David Quesel
194 - Stefan Riegler 
195 - Sytse Wielinga 
198 Credits
199 -------
200 wmii-lua is licensed under GPLv2.
202 References
203 ----------
204 [1] http://www.suckless.org/
205 [2] http://www.cs.bell-labs.com/sys/man/5/INDEX.html 
206 [3] http://www.jukie.net/~bart/blog/wmiirc-in-lua
207 [4] http://www.linuxpowertop.org
208 # vim:set ft=mkd: