Go to file
Uli Schlachter bf76b3842b Ungrab the server before parsing the config
This moves the loading of the rc.lua and managing of pre-existing clients to
after we ungrab the server during startup. To make sure we have no races with
clients which start up parallel to awesome, we do the QueryTree for all the
clients that we have to manage before the ungrab, but start managing the clients
only after the ungrab.

This means that we have already selected our event mask on the root window in
scan() and thus received an UnmapNotify event when we reparent windows into a
frame window. This has the effect that we immediately unmanage the client again,
whoops.

To fix this, we grab the server again and remove our event mask on the root
window again while we reparent.

This should hopefully fix all cases where we deadlock during startup because
pulseaudio wants to talk to the X server, but is being ignored because we have
the server grabbed while at the same time we are waiting for pulseaudio.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-10-19 15:11:11 +02:00
build-tests use CMake check_function_exists() for execinfo 2010-10-11 22:52:20 +02:00
build-utils Stop using gperf 2010-09-02 19:24:39 +02:00
common remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
icons icons: remove invaders 2009-09-08 13:29:25 +02:00
lib naughty: fix image data copy 2011-10-04 15:23:27 +02:00
luadoc add usage example for keygrabber API 2011-01-16 20:20:44 +01:00
manpages russian man pages 2011-04-13 19:27:57 +02:00
objects Ungrab the server before parsing the config 2011-10-19 15:11:11 +02:00
themes Saving gama values in pngs to prevent compilation errors 2011-10-17 13:19:09 +02:00
utils awsetbg: Add the aspect option with feh 2011-09-29 21:22:39 +02:00
.gitignore gitignore: remove awesome-client 2009-04-11 16:10:42 +02:00
AUTHORS update Arnaud commit years 2009-08-24 11:13:59 +02:00
BUGS BUG's page 2008-04-18 19:33:58 +02:00
CMakeLists.txt remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
LICENSE chance license to GPLv2 2007-09-12 14:29:51 +02:00
Makefile build: allow to specify cmake args 2009-05-08 19:54:38 +02:00
PATCHES PATCHES: add more rules 2009-09-02 10:36:13 +02:00
README Grammar/spelling corrections in comments and docs. 2009-08-31 10:39:36 +02:00
STYLE STYLE: add prefix rule 2009-08-21 15:30:48 +02:00
awesome-version-internal.h.in cmake: consolidate version strings 2008-06-22 22:13:06 +02:00
awesome.c Ungrab the server before parsing the config 2011-10-19 15:11:11 +02:00
awesome.desktop desktop: change description 2008-10-02 17:19:28 +02:00
awesome.doxygen.in awesome.doxygen: doxygen configuration fixes. 2009-09-04 18:18:03 +02:00
awesome.h remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
awesomeConfig.cmake remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
awesomerc.lua.in Use awesome.conffile in menu 2011-09-17 17:24:50 +02:00
banning.c remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
banning.h remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
color.c remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
color.h remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
config.h.in test for __builtin_clz() and fallback to an inline implementation. 2010-10-11 20:42:03 +02:00
dbus.c remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
dbus.h remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
draw.c remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
draw.h remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
event.c remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
event.h remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
ewmh.c remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
ewmh.h remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
globalconf.h Add a define for the root window's event mask 2011-10-19 15:08:54 +02:00
keygrabber.c remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
keygrabber.h remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
keyresolv.c remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
keyresolv.h remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
luaa.c Set the conffile value before executing the code 2011-09-17 17:23:59 +02:00
luaa.h remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
mouse.c remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
mouse.h remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
mousegrabber.c remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
mousegrabber.h remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
property.c remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
property.h remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
root.c remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
screen.c Screen: Convert from lightuserdata to userdata 2011-10-12 13:05:57 +02:00
screen.h remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
selection.c remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
selection.h remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
spawn.c remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
spawn.h remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
stack.c remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
stack.h remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
strut.c remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
strut.h remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
systray.c remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
systray.h remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
xwindow.c remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
xwindow.h remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00

README

awesome
=======
awesome is a highly configurable, next generation framework window manager for X.

Building and installation
-------------------------
After extracting the dist tarball, run:

  make

This will create a build directory, run cmake in it and build awesome.

After building is finished, you can install:

  make install # you might need root permissions

Running awesome
---------------
You can directly select awesome from your display manager. If not, you can
add the following line to your .xinitrc to start awesome using startx
or to .xsession to start awesome using your display manager:

    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 $XDG_CONFIG_HOME/awesome/rc.lua file.
An example configuration named "awesomerc.lua.in" is provided in the source.

Troubleshooting
---------------
In most systems any message printed by awesome (including warnings and errors)
are written to $HOME/.xsession-errors.

If awesome does not start or the configuration file is not producing the desired
results the user should examine this file to gain insight into the problem.