put *item to NULL on unref, as we cannot know if the pointer is valid
after an unref, so just segfault rather than hide a problem.
Also return *item on ref() it allow short versions like:
foo_list_push(&list, foo_ref(&elem));
which is kind of readable _and_ handy.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
awesome
=======
awesome is an extremely fast, small, and dynamic window manager for X.
Requirements
------------
In order to build awesome itself, you need header files and libs of:
- Xlib, xcb and xcb-util.
- Lua 5.1
- cairo
- pango and pangocairo
- libev
- glib
- GdkPixBuf or Imlib2 (use --with-imlib2 with ./configure)
- dbus (optional, use --with-dbus=no with ./configure to disable)
In order to build the awesome man pages, you need these tools:
- asciidoc (recent version)
- xmlto (recent version)
- docbook XSL stylesheets
In order to build the source code reference, you need these tools:
- doxygen
- graphviz
Building and Installation
-------------------------
If building from git sources, run "./autogen.sh". When autoreconf has
finished, you can follow the following instructions for building a dist
tarball.
After extracting the dist tarball, run "./configure --help" and figure out
what you might want to adapt for your system. Then run ./configure with the
proper parameters, and build and install:
./configure [...]
make
make install # might need root permissions
If you're using gcc as your compiler and do not want awesome's default set
of warning flags, add AWESOME_CFLAGS="" to your "make" lines.
The source code reference can be built with "make doc".
Running awesome
-----------
Add the following line to your .xinitrc to start awesome using startx
or to .xsession to start awesome using gdm/kdm/xdm...:
exec awesome
In order to connect awesome to a specific display, make sure that
the DISPLAY environment variable is set correctly, e.g.:
DISPLAY=foo.bar:1 exec awesome
(This will start awesome on display :1 of the host foo.bar.)
Configuration
-------------
The configuration of awesome is done by creating a ~/.awesomerc.lua file.
An example is provided in the sources.