Go to file
Uli Schlachter 70fef83e50 drawin: Don't special-case moves
The code in drawin_moveresize() tries to be clever and only updates the drawing
state of the drawable when it is resized, not when it is moved around. This used
to be necessary because once upon a time, drawin_update_drawing() threw away all
of the drawing state and thus forcing a repaint. These days it just calls
drawable_set_geometry() as well and that function special-cases moves.

So this old code in drawin_moveresize() is no longer necessary and actually
caused problems.

These problems occurred because drawin_update_drawing() is being clever and
doesn't do anything for .visible = false drawins, because their drawing state
will be updated once they become visible. However, not skipping
drawable_set_geometry() means that this broke, because drawin_map() thought that
the drawing state was up to date while in reality it wasn't.

References: http://article.gmane.org/gmane.comp.window-managers.awesome/10852
Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-10-11 13:12:57 +02: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:52:09 +01:00
common Only include awesome-version-internal.h in one place 2014-04-13 17:48:03 +02:00
icons icons: remove invaders 2009-09-08 13:29:25 +02:00
lib wibox.layout.base.rect_to_device_geometry: Fix for "weird" rotations 2014-10-05 10:47:39 +02:00
luadoc ldoc: fix usage of @usage, which is <code> automatically 2014-08-28 19:45:46 +02:00
manpages Remove F1-9 bindings from the manpages. 2013-03-10 11:22:35 +01:00
objects drawin: Don't special-case moves 2014-10-11 13:12:57 +02:00
spec gears.color: Add a way to bypass the pattern cache 2014-09-13 14:16:54 +02: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 Add unit tests 2014-08-23 22:09:06 +02:00
LICENSE chance license to GPLv2 2007-09-12 14:29:51 +02:00
Makefile Makefile: distclean is a phony target 2014-08-23 22:09:17 +02:00
PATCHES PATCHES: Mention the unit tests 2014-09-13 14:07:09 +02:00
README.md Move README to README.md 2014-04-08 13:47:24 +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 Clean up header includes 2014-03-30 20:07:48 +02: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: Remove useless program checks 2014-07-13 16:18:01 +02:00
awesomerc.lua.in Add and improve some comments to awesomerc.lua 2014-03-29 09:55:43 +01:00
banning.c Clean up header includes 2014-03-30 20:07:48 +02:00
banning.h Clean up header includes 2014-03-30 20:07:48 +02:00
color.c Clean up header includes 2014-03-30 20:07:48 +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 Clean up header includes 2014-03-30 20:07:48 +02:00
dbus.h remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
draw.c Clean up header includes 2014-03-30 20:07:48 +02:00
draw.h draw: Add function for finding a visual by id 2013-09-16 11:59:00 +02:00
event.c Call AllowEvents after grabbed events on a drawin 2014-04-21 10:41:07 +02:00
event.h Clean up header includes 2014-03-30 20:07:48 +02:00
ewmh.c Clean up header includes 2014-03-30 20:07:48 +02:00
ewmh.h Clean up header includes 2014-03-30 20:07:48 +02:00
globalconf.h systray: Only register/unregister when needed 2014-08-20 11:47:47 +02:00
keygrabber.c Clean up header includes 2014-03-30 20:07:48 +02:00
keygrabber.h Clean up header includes 2014-03-30 20:07:48 +02:00
keyresolv.c Clean up header includes 2014-03-30 20:07:48 +02:00
keyresolv.h Clean up header includes 2014-03-30 20:07:48 +02:00
luaa.c Only include awesome-version-internal.h in one place 2014-04-13 17:48:03 +02:00
luaa.h Also allow screen objects were screen indices are expected 2014-03-30 17:55:42 +02:00
mouse.c Clean up header includes 2014-03-30 20:07:48 +02:00
mouse.h Revert "Support more than 5 mouse buttons" (FS#1082) 2013-03-29 16:07:13 +01:00
mousegrabber.c Clean up header includes 2014-03-30 20:07:48 +02:00
mousegrabber.h Revert "Support more than 5 mouse buttons" (FS#1082) 2013-03-29 16:07:13 +01:00
property.c Clean up header includes 2014-03-30 20:07:48 +02:00
property.h Clean up header includes 2014-03-30 20:07:48 +02:00
root.c Revert "root: Make sure cairo doesn't cache our temporary connection" (FS#1245) 2014-04-01 16:15:44 +02:00
selection.c Clean up header includes 2014-03-30 20:07:48 +02:00
selection.h remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
spawn.c Clean up header includes 2014-03-30 20:07:48 +02:00
spawn.h Clean up header includes 2014-03-30 20:07:48 +02:00
stack.c Clean up header includes 2014-03-30 20:07:48 +02:00
stack.h Clean up header includes 2014-03-30 20:07:48 +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 systray: Only register/unregister when needed 2014-08-20 11:47:47 +02:00
systray.h remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
xwindow.c xwindow_shape_pixmap: Correctly handle invalid geometry 2014-04-14 10:04:14 +02:00
xwindow.h Clean up header includes 2014-03-30 20:07:48 +02:00

README.md

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.

Reporting issues

Please report any issues you may find at https://awesome.naquadah.org/bugs/ . You can submit pull requests at https://github.com/awesomeWM/awesome .