Go to file
Uli Schlachter 0682499895 Ignore all UnmapNotifies due to the root window
We got XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY on the root window, but we also have
XCB_EVENT_MASK_STRUCTURE_NOTIFY on the individual client windows. Since we are
reparenting our windows, we can safely ignore all UnmapNotifies that we get
through the root window.

This fixes a bug if there were any windows already present before awesome
started. Those were obviously already mapped which means that ReparentWindow
would cause an UnmapNotify for them on the root window. This commit makes us
ignore that UnmapNotify and thus not throwing away the window immediately again.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-09 13:30:46 +02:00
build-tests awesomeConfig: test for execinfo.h/backtrace() 2009-10-27 09:33:08 +01:00
build-utils Fix gperf usage (FS#740) 2010-03-15 09:59:02 +01:00
common fix some deprecated atom constants 2010-08-08 21:43:23 +02:00
icons icons: remove invaders 2009-09-08 13:29:25 +02:00
lib Naughty: Handle invalid UTF-8 more sanely 2010-08-06 19:53:34 +02:00
luadoc Update API docs for recent change to spawn 2010-05-03 10:14:54 +02:00
manpages German translation of manpages 2010-05-03 11:14:49 +02:00
objects Push the property requests down 2010-08-09 13:04:08 +02:00
themes awful.widget.tasklist: use symbols chars rather than images 2010-05-28 13:28:43 +02:00
utils awsetbg was missing break 2010-05-17 15:57:21 +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 fix tag header and order build 2010-05-28 13:28:25 +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 Stop using most of libxcb-event 2010-08-08 17:35:48 +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 factorize quit/exec elements, and reparent systray 2008-09-02 17:12:10 +02:00
awesomeConfig.cmake Remove some more unused function arguments 2010-08-08 17:54:13 +02:00
awesomerc.lua.in awful.menu: Change menu:show() args set 2010-04-14 09:38:35 +02:00
banning.c window: rename to xwindow 2009-10-20 20:42:05 +02:00
banning.h Re-add lazy banning 2009-09-28 14:04:59 +02:00
color.c structs: rename to globalconf 2009-09-07 17:23:01 +02:00
color.h color: do not take pointer to push 2009-08-17 17:46:35 +02:00
config.h.in build: detect endianness at compile time 2009-04-27 12:06:24 +02:00
dbus.c dbus: fix compiling error 2010-06-06 14:32:54 +02:00
dbus.h dbus: allow usage of the system bus 2009-04-18 16:07:31 +02:00
draw.c Do not check if we have enough space to draw (FS#731) 2010-03-25 10:32:09 +01:00
draw.h Clear a draw_text_context_t during wipe() 2010-07-16 19:52:42 +02:00
event.c Ignore all UnmapNotifies due to the root window 2010-08-09 13:30:46 +02:00
event.h Stop using most of libxcb-event 2010-08-08 17:35:48 +02:00
ewmh.c Push the property requests down 2010-08-09 13:04:08 +02:00
ewmh.h Push the property requests down 2010-08-09 13:04:08 +02:00
font.c font: remove draw_ prefix in names 2009-10-27 12:16:22 +01:00
font.h font: remove draw_ prefix in names 2009-10-27 12:16:22 +01:00
globalconf.h Stop using most of libxcb-event 2010-08-08 17:35:48 +02:00
keygrabber.c key: split resolving in keyresolv 2010-05-28 13:28:20 +02:00
keygrabber.h keygrabber: add stop() method 2008-11-10 17:31:18 +01:00
keyresolv.c key: split resolving in keyresolv 2010-05-28 13:28:20 +02:00
keyresolv.h key: split resolving in keyresolv 2010-05-28 13:28:20 +02:00
luaa.c Remove all uses of attribute "unused" 2010-08-08 18:19:15 +02:00
luaa.h luaa: luaA_next is static 2009-11-09 21:28:37 +01:00
mouse.c Split up client_getbywin() 2010-08-09 11:56:29 +02:00
mouse.h mouse: split button out 2009-04-26 10:46:09 +02:00
mousegrabber.c structs: rename to globalconf 2009-09-07 17:23:01 +02:00
mousegrabber.h mousegrabber: import 2008-12-12 16:51:41 +01:00
property.c Remove another argument to property handlers 2010-08-09 13:06:32 +02:00
property.h Overhaul property handling 2010-08-09 13:03:16 +02:00
root.c window: rename to xwindow 2009-10-20 20:42:05 +02:00
screen.c Screen: Only use Xrandr if it provides data 2010-07-21 14:46:49 +02:00
screen.h Minor cleanup 2010-07-22 09:25:33 +02:00
selection.c fix some deprecated atom constants 2010-08-08 21:43:23 +02:00
selection.h selection: do not use a useless module 2009-01-06 17:02:08 +01:00
spawn.c Update API docs for recent change to spawn 2010-05-03 10:14:54 +02:00
spawn.h spawn: remove useless proto 2009-11-16 11:26:00 +01:00
stack.c Turn this into a reparenting WM 2010-08-09 11:56:26 +02:00
stack.h client: move stack code into stack 2010-05-28 13:28:49 +02:00
strut.c Fix doxygen generation warnings 2009-08-26 09:15:57 +02:00
strut.h strut: import strut_has_value() 2009-08-28 17:45:18 +02:00
systray.c fix some deprecated atom constants 2010-08-08 21:43:23 +02:00
systray.h Register systray only if systray widgets are attached. (FS#503) 2010-07-22 09:24:36 +02:00
xwindow.c fix some deprecated atom constants 2010-08-08 21:43:23 +02:00
xwindow.h xwindow_set_state(): Use uint32_t instead of long 2010-06-16 18:16:42 +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.