Go to file
Uli Schlachter 0bf4771e51 Spawn: Improve handling of startup notification
The ID for startup notification is transmitted to the spawned process via the
DESKTOP_STARTUP_ID environment variable. Before this commit, we set this
variable in the main process. This meant that if we started something "without"
a startup id, then it might get the ID that was used by the last spawn and which
was still saved in our env. Fix this by setting the environment variable only
after fork().

Small anecdote: The above wasn't enough to make Daniel's test case succeed and
at first I couldn't figure out why.

Turns out that rxvt-unicode doesn't unset the DESKTOP_STARTUP_ID environment
variable (I think it should, according to some spec), even though it supports
startup notification. So awesome was already started with DESKTOP_STARTUP_ID set
and thus all spawned processes used this ID.

Fix this by explicitly unsetting DESKTOP_STARTUP_ID if we don't set any new
value (even though this breaks encapsulation; we shouldn't have to care about
this "implementation detail" of libstartup-notification).

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-11-06 21:44:15 +01:00
build-tests use CMake check_function_exists() for execinfo 2010-10-11 22:52:20 +02:00
build-utils Bump minimum lgi dependency to 0.7.0 2014-03-17 17:59:58 +01:00
common Fix the definition of A_STRNEQ_CASE 2015-11-06 21:32:49 +01:00
icons icons: remove invaders 2009-09-08 13:29:25 +02:00
lib awful.menu: update t new layout api 2015-08-29 18:01:00 +02:00
luadoc awesome: Add get_* and set_xproperty 2014-03-23 18:24:49 +01:00
manpages Remove F1-9 bindings from the manpages. 2013-03-10 11:22:35 +01:00
objects Grab client keys on the client window (#496) 2015-11-06 21:42:49 +01:00
themes taglist: Add [bg|fg]_empty 2013-12-02 15:10:10 +01:00
utils Remove all traces of awsetbg and wallpaper setters 2012-07-29 15:38:31 +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 CMake: Check for the needed lgi dependency 2012-11-25 19:43:09 +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 Make awesome.quit() during startup work 2015-11-06 21:34:55 +01:00
awesome.desktop Remove NoDisplay from desktop file 2013-02-25 11:50:00 +01: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 cmake: s/ESCAPE_QUOTE/ESCAPE_QUOTES 2015-08-29 18:08:28 +02:00
awesomerc.lua.in Add and improve some comments to awesomerc.lua 2014-03-29 18:09:50 +01: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 C color code: Ignore alpha component (FS#966) 2012-04-07 22:03:38 +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
config.ld.in Use LDoc instead of Luadoc (FS#1006) 2012-11-19 14:57:47 +01:00
dbus.c a_dbus_message_iter: Handle DBUS_TYPE_DOUBLE 2015-01-17 19:44:59 +01:00
dbus.h remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
draw.c Implement icon_pixmap and icon_mask from WM_HINTS (FS#1297) 2014-12-07 14:16:55 +01:00
draw.h draw: Add function for finding a visual by id 2013-09-16 11:59:00 +02:00
event.c Grab client keys on the client window (#496) 2015-11-06 21:42:49 +01:00
event.h remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
ewmh.c Add context to request::activate signal 2014-11-09 00:07:38 +01:00
ewmh.h Don't pass cairo surfaces around on the lua stack 2012-05-28 09:29:47 +02:00
globalconf.h Never explicitly focus the root window 2015-11-06 21:33:54 +01:00
keygrabber.c Make debug::index::miss and newindex work on classes and all objects 2014-03-23 19:30:59 +01: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 Make awesome.quit() during startup work 2015-11-06 21:34:55 +01:00
luaa.h Make debug::index::miss and newindex work on classes and all objects 2014-03-23 19:30:59 +01:00
mouse.c Make debug::index::miss and newindex work on classes and all objects 2014-03-23 19:30:59 +01:00
mouse.h Revert "Support more than 5 mouse buttons" (FS#1082) 2013-03-29 16:07:13 +01:00
mousegrabber.c Make debug::index::miss and newindex work on classes and all objects 2014-03-23 19:30:59 +01:00
mousegrabber.h Revert "Support more than 5 mouse buttons" (FS#1082) 2013-03-29 16:07:13 +01:00
property.c Implement icon_pixmap and icon_mask from WM_HINTS (FS#1297) 2014-12-07 14:16:55 +01:00
property.h awesome: Add get_* and set_xproperty 2014-03-23 18:24:49 +01:00
root.c Revert "root: Make sure cairo doesn't cache our temporary connection" (FS#1245) 2014-04-01 16:21:28 +02:00
screen.c Screen __index: Don't turn argument into a string 2015-08-29 18:05:57 +02:00
screen.h screen: Fix screen equality comparison (FS#1151) 2013-10-04 15:24: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 Spawn: Improve handling of startup notification 2015-11-06 21:44:15 +01: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 Force systray redraw on BG color change 2015-08-29 18:26:34 +02:00
systray.h remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
xwindow.c Fix obvious typo in xwindow_translate_for_gravity() 2015-11-06 21:37:19 +01:00
xwindow.h Finish C-side support for window shapes (FS#1051) 2014-01-03 17:01:43 +01: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.