Go to file
Julien Danjou 742d85dd0e Handle synthetic UnmapNotify events
According to the Inter-Client Communication Conventions Manual, if you want to
switch your window to withdrawn state, you unmap it and send a synthetic
UnmapNotify to the root window.

This synthetic event fixes a race condition. When you map and unmap a window
quickly, the map will generate a MapRequest for the WM but won't actually map
the window. Thus, the unmap will be discarded (-> window not yet mapped) and the
window stays map once the WM handles the MapRequest

Before this patch, awesome just ignored the synthetic unmap notify which caused
the bug to appear again. With this patch it doesn't happen anymore.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-12-28 16:41:39 +01:00
build-utils build: dist now build .xz instead of .gz 2009-11-26 20:03:25 +01:00
common fix build on NetBSD (FS#706) 2009-12-21 08:48:21 +01:00
icons icons: remove invaders 2009-09-08 13:29:25 +02:00
lib Implement the GetCapabilities call in naughty 2009-12-28 10:42:06 +01:00
luadoc dbus: fix D-Bus documentation typo 2009-12-01 10:01:50 +01:00
manpages awesome.1: remove Java stuff (FS#630) 2009-09-21 10:14:16 +02:00
themes themes: added mouse finder and tooltips 2009-09-13 14:38:59 +02:00
utils Grammar/spelling corrections in comments and docs. 2009-08-31 10:39:36 +02:00
widgets systray: fix screen number retrieval 2009-12-10 10:10:20 +01: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 build: make manpage compression optional 2009-12-28 10:44:10 +01: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 awesome: fix memory leak with confpath 2009-09-08 12:01:07 +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 build: make manpage compression optional 2009-12-28 10:44:10 +01:00
awesomerc.lua.in Make it easier to change the default layout 2009-12-22 12:47:17 +01:00
banning.c Re-add lazy banning 2009-09-28 14:04:59 +02:00
banning.h Re-add lazy banning 2009-09-28 14:04:59 +02:00
button.c luaclass: add handling of {new,}index of missing properties (FS#584) 2009-08-21 15:30:48 +02:00
button.h structs: rename to globalconf 2009-09-07 17:23:01 +02:00
client.c Re-add lazy banning 2009-09-28 14:04:59 +02:00
client.h Add client_ban_unfocus 2009-09-28 14:01:04 +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: add support for array as returned type 2009-12-28 10:39:51 +01:00
dbus.h dbus: allow usage of the system bus 2009-04-18 16:07:31 +02:00
draw.c font: split out of draw 2009-09-07 17:51:40 +02:00
draw.h font: split out of draw 2009-09-07 17:51:40 +02:00
event.c Handle synthetic UnmapNotify events 2009-12-28 16:41:39 +01:00
event.h Re-add lazy banning 2009-09-28 14:04:59 +02:00
ewmh.c ewmh: fix toggle on maximized_horizontal 2009-10-21 11:41:52 +02:00
ewmh.h structs: rename to globalconf 2009-09-07 17:23:01 +02:00
font.c font: split out of draw 2009-09-07 17:51:40 +02:00
font.h font: split out of draw 2009-09-07 17:51:40 +02:00
globalconf.h font: split out of draw 2009-09-07 17:51:40 +02:00
hooks.c structs: rename to globalconf 2009-09-07 17:23:01 +02:00
image.c image: load with image 2009-12-14 10:27:15 +01:00
image.h image: port to new class system 2009-08-21 15:30:47 +02:00
key.c structs: rename to globalconf 2009-09-07 17:23:01 +02:00
key.h key: move grabbing code to window 2009-08-31 13:54:36 +02:00
keygrabber.c structs: rename to globalconf 2009-09-07 17:23:01 +02:00
keygrabber.h keygrabber: add stop() method 2008-11-10 17:31:18 +01:00
luaa.c globalconf: remove config.h include 2009-09-07 17:28:55 +02:00
luaa.h Grammar/spelling corrections in comments and docs. 2009-08-31 10:39:36 +02:00
mouse.c mouse: coords() get silent parameter 2009-11-06 11:06:02 +01: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 Fix doxygen generation warnings 2009-08-26 09:15:57 +02:00
property.h structs: rename to globalconf 2009-09-07 17:23:01 +02:00
root.c structs: rename to globalconf 2009-09-07 17:23:01 +02:00
screen.c screen: only untag if client had a screen 2009-09-22 15:51:55 +02:00
screen.h Re-add lazy banning 2009-09-28 14:04:59 +02:00
selection.c Grammar/spelling corrections in comments and docs. 2009-08-31 10:39:36 +02:00
selection.h selection: do not use a useless module 2009-01-06 17:02:08 +01:00
spawn.c spawn: add spawn_system() which works like system() 2009-08-27 12:07:50 +02:00
spawn.h structs: rename to globalconf 2009-09-07 17:23:01 +02:00
stack.c stack: fix bad rename 2009-08-24 15:07:58 +02:00
stack.h structs: rename to globalconf 2009-09-07 17:23:01 +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 Grammar/spelling corrections in comments and docs. 2009-08-31 10:39:36 +02:00
systray.h systray: add some cleanup code 2008-09-03 18:03:50 +02:00
tag.c Re-add lazy banning 2009-09-28 14:04:59 +02:00
tag.h screen: fix tag removal/add 2009-09-21 12:12:59 +02:00
timer.c structs: rename to globalconf 2009-09-07 17:23:01 +02:00
timer.h timer: import 2009-08-17 17:49:06 +02:00
titlebar.c Add some missing class type checks 2009-09-04 13:58:31 +02:00
titlebar.h Grammar/spelling corrections in comments and docs. 2009-08-31 10:39:36 +02:00
wibox.c Fix a invalid pointer crash bug 2009-12-02 09:33:09 +01:00
wibox.h Fix a invalid pointer crash bug 2009-12-02 09:33:09 +01:00
widget.c widget: fix screen number of layouts as arg 2009-11-09 21:27:32 +01:00
widget.h font: split out of draw 2009-09-07 17:51:40 +02:00
window.c key: move grabbing code to window 2009-08-31 13:54:36 +02:00
window.h font: split out of draw 2009-09-07 17:51:40 +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.