Go to file
Uli Schlachter dcf2f03881 Add systray windows to the save-set
When an X11 client disconnects from the X server, all of its windows are
destroyed. This also means that all the sub-windows of those windows are
destroyed which is not necessary what one wants to happen.

To work around this, X11 has a "save-set". All the windows that are in the
save-set are reparented to their closest ancestor when they would normally be
destroyed. This is just what this code needs. :)

(The windows in the save-set are also mapped when they are saved, dunno if this
hurts here or not)

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-07-14 17:36:10 +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 luaclass: take care of inheritance garbage collection 2010-05-28 13:27:49 +02:00
icons icons: remove invaders 2009-09-08 13:29:25 +02:00
lib Tasklist: Listen to the correct signals 2010-06-22 16:45:06 +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 Reorder some code for fullscreening windows 2010-06-18 18:24:05 +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 Check for UNMAPPED instead of UNVIEWABLE 2010-03-29 17:47:28 +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: fix typo 2009-12-29 09:52:34 +01: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 image: move into objects 2009-10-27 12:16:36 +01:00
event.c Fix mouse::leave signal emit on widgets (FS#774) 2010-06-09 16:09:41 +02:00
event.h client: move stack code into stack 2010-05-28 13:28:49 +02:00
ewmh.c Handle _NET_WM_DESKTOP more intelligently 2010-06-14 20:04:38 +02:00
ewmh.h ewmh: use client signals to update NET_ACTIVE_WINDOW 2010-05-28 13:36:35 +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 globalconf: move conffile out 2009-11-10 10:48:58 +01: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 window: import class 2010-05-28 13:27:42 +02:00
luaa.h luaa: luaA_next is static 2009-11-09 21:28:37 +01:00
mouse.c mouse: coords() get silent parameter 2009-11-06 11:05:07 +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 property: remove unknown code 2010-05-28 13:28:59 +02:00
property.h structs: rename to globalconf 2009-09-07 17:23:01 +02:00
root.c window: rename to xwindow 2009-10-20 20:42:05 +02:00
screen.c client: implements maximized and fullscreen requests with Lua 2010-05-28 13:29:29 +02:00
screen.h screen: store RandR information 2010-05-28 13:26:17 +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 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 stack: stack_client_* calls stack_windows() 2010-05-28 13:29:16 +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 Add systray windows to the save-set 2010-07-14 17:36:10 +02:00
systray.h systray: add some cleanup code 2008-09-03 18:03:50 +02:00
xwindow.c xwindow_set_state(): Use uint32_t instead of long 2010-06-16 18:16:42 +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.