Private fork of https://github.com/awesomeWM/awesome
9b78733922
For setting up the wallpaper, awesome needs a second connection to the X11 server (isn't SetCloseDownMode just great?). However, it was possible to have a dead-lock with our main connection due to this. Awesome does a GrabServer during startup so that nothing else can use the X11 server while we set ourselves up. The server is ungrabbed right before the lua config is read. However, nothing makes sure that this ungrab request really is sent to the server instead of just waiting in xcb's output buffer. The dead-lock would now happen if we try to establish a second connection to the X11 server before the ungrab request was flushed on the main connection. The server will wait for the ungrab on the first connection, awesome is waiting for the second connection to be successfully established. Fix this by making sure the UngrabServer request is flushed before parsing the config file. Signed-off-by: Uli Schlachter <psychon@znc.in> |
||
---|---|---|
build-tests | ||
build-utils | ||
common | ||
icons | ||
lib | ||
luadoc | ||
manpages | ||
objects | ||
themes | ||
utils | ||
.gitignore | ||
AUTHORS | ||
BUGS | ||
CMakeLists.txt | ||
LICENSE | ||
Makefile | ||
PATCHES | ||
README | ||
STYLE | ||
awesome-version-internal.h.in | ||
awesome.c | ||
awesome.desktop | ||
awesome.doxygen.in | ||
awesome.h | ||
awesomeConfig.cmake | ||
awesomerc.lua.in | ||
banning.c | ||
banning.h | ||
color.c | ||
color.h | ||
config.h.in | ||
config.ld.in | ||
dbus.c | ||
dbus.h | ||
draw.c | ||
draw.h | ||
event.c | ||
event.h | ||
ewmh.c | ||
ewmh.h | ||
globalconf.h | ||
keygrabber.c | ||
keygrabber.h | ||
keyresolv.c | ||
keyresolv.h | ||
luaa.c | ||
luaa.h | ||
mouse.c | ||
mouse.h | ||
mousegrabber.c | ||
mousegrabber.h | ||
property.c | ||
property.h | ||
root.c | ||
screen.c | ||
screen.h | ||
selection.c | ||
selection.h | ||
spawn.c | ||
spawn.h | ||
stack.c | ||
stack.h | ||
strut.c | ||
strut.h | ||
systray.c | ||
systray.h | ||
xwindow.c | ||
xwindow.h |
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.