Find a file
Uli Schlachter 4b9584fdb1 Fix awful.ewmh to handle window gravities
Since commit b2aaefd095, we correctly handle window gravities when
the border width of a client changes. Since most windows out there have a
NorthWest gravity, this means that most windows do not have this problem.
However, e.g. mplayer uses gravity "Static" and this causes this issue (any
gravity other than NorthWest will do).

This affects the fullscreen handling in awful.ewmh. The code has to set the
border width before it changes a client's geometry so that the move when the
border width changes doesn't matter.

No new integration test for this since I didn't find anything usable with a
non-NorthWest gravity. A test would be easy to write, just test if `c.fullscreen
= true ; c.fullscreen = false` restores the previous window geometry.

Fixes: https://github.com/awesomeWM/awesome/issues/697
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-15 21:35:28 +01:00
build-tests Add a vim modeline to all C source 2015-12-12 17:42:16 +01:00
build-utils Add vim modelines to all shell scripts 2015-12-12 17:36:35 +01:00
common Require "integer" instead of "number" in more places 2016-02-06 13:59:14 +01:00
docs Fix images in the documentation 2016-02-13 08:04:14 +01:00
icons
lib Fix awful.ewmh to handle window gravities 2016-02-15 21:35:28 +01:00
manpages Document "--replace" better 2015-10-11 15:00:08 +02:00
objects Require "integer" instead of "number" in more places 2016-02-06 13:59:14 +01:00
spec Fix all luacheck warnings in spec/ 2016-02-11 21:55:08 +01:00
tests Merge branch 'more-luacheck-fixes' of https://github.com/psychon/awesome 2016-02-14 14:33:06 +01:00
themes Themes: Use "local" 2016-02-11 21:55:08 +01:00
utils Add vim modelines to all shell scripts 2015-12-12 17:36:35 +01:00
.editorconfig Add an EditorConfig file 2015-12-12 17:48:42 +01:00
.gitignore
.luacov Code coverage: Also consider functional tests 2016-02-12 09:26:29 +01:00
.travis.yml Code coverage: Also consider functional tests 2016-02-12 09:26:29 +01:00
awesome-version-internal.h Add a vim modeline to all C source 2015-12-12 17:42:16 +01:00
awesome.c Remove some unused fields from globalconf 2015-12-22 17:25:45 +01:00
awesome.desktop
awesome.h
awesomeConfig.cmake Remove useless information from awesome -v 2015-12-01 20:17:21 +01:00
awesomerc.lua Merge pull request #693 from psychon/enable-titlebars-by-default 2016-02-13 15:09:21 +01:00
banning.c
banning.h
CMakeLists.txt Merge branch 'fix-images-in-doc' of https://github.com/awesomeWM/awesome 2016-02-14 14:33:51 +01:00
color.c
color.h
config.h Add a vim modeline to all C source 2015-12-12 17:42:16 +01:00
dbus.c Replace many pushnumber calls with pushinteger 2016-02-06 13:46:46 +01:00
dbus.h
draw.c awesome.load_image(): Return errors instead of "throwing" them 2016-01-15 18:38:51 +01:00
draw.h awesome.load_image(): Return errors instead of "throwing" them 2016-01-15 18:38:51 +01:00
event.c Replace many pushnumber calls with pushinteger 2016-02-06 13:46:46 +01:00
event.h Leave titlebars early 2016-01-10 19:27:55 +01:00
ewmh.c Fix icons 2015-12-23 14:19:18 +01:00
ewmh.h add an option to set the preferred client icon size 2015-12-07 22:59:32 +01:00
globalconf.h Remove some unused fields from globalconf 2015-12-22 17:25:45 +01:00
keygrabber.c keygrabber: ignore modifiers for name of control keys 2015-08-10 23:05:16 +02:00
keygrabber.h
LICENSE
luaa.c Replace many pushnumber calls with pushinteger 2016-02-06 13:46:46 +01:00
luaa.h Replace many pushnumber calls with pushinteger 2016-02-06 13:46:46 +01:00
Makefile Makefile: add "tags" to .PHONY targets 2015-07-11 22:50:11 +02:00
mouse.c doc: distinguish between client.object and client.class 2015-07-26 00:45:38 +02:00
mouse.h
mousegrabber.c Document C API directly in the C source code 2015-06-19 23:13:31 +02:00
mousegrabber.h
property.c add an option to set the preferred client icon size 2015-12-07 22:59:32 +01:00
property.h
README.md Add README.md symlink 2015-02-28 23:14:13 +01:00
root.c Require "integer" instead of "number" in more places 2016-02-06 13:59:14 +01:00
selection.c Set WM_CLASS and WM_NAME on all our windows (#551) 2015-11-19 22:23:25 +01:00
selection.h
spawn.c Replace many pushnumber calls with pushinteger 2016-02-06 13:46:46 +01:00
spawn.h
stack.c
stack.h
strut.c Require "integer" instead of "number" in more places 2016-02-06 13:59:14 +01:00
strut.h
systray.c Unmap the systray immediately when it becomes empty 2016-01-15 17:21:26 +01:00
systray.h
xkb.c Replace many pushnumber calls with pushinteger 2016-02-06 13:46:46 +01:00
xkb.h Add a vim modeline to all C source 2015-12-12 17:42:16 +01:00
xrdb.c Add a vim modeline to all C source 2015-12-12 17:42:16 +01:00
xrdb.h Add a vim modeline to all C source 2015-12-12 17:42:16 +01:00
xwindow.c Fix obvious typo in xwindow_translate_for_gravity() 2015-10-10 17:38:51 +02:00
xwindow.h Set WM_CLASS and WM_NAME on all our windows (#551) 2015-11-19 22:23:25 +01:00

Readme

About 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, typically ~/.config/awesome/rc.lua.

An example configuration named awesomerc.lua.in is provided in the source.

Troubleshooting

On most systems any message printed by awesome (including warnings and errors) is written to ~/.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 on our bugtracker. You can submit pull requests on the github repository. Please read the @{02-contributing.md} guide for any coding, documentation or patch guidelines.

Status

Build Status

Documentation

Online documentation is available at http://awesome.naquadah.org/doc/, and can be built using make ldoc.

License

The project is licensed under GNU General Publice License v2 or later. You can read it online at (v2 or v3).