Private fork of https://github.com/awesomeWM/awesome
7b65f068a1
When one sets a client to fullscreen, this is what currently happens: - lua code: c.fullscreen = true - The C code emits request::fullscreen without having touched the client's fullscreen property yet (c.fullscreen is still false) - awful.ewmh changes the client's geometry to fullscreen via c:geometry() - This causes property::geometry to be emitted - awful.layout reacts on this and causes the screen to be re-arranged, undoing the fullscreen geometry set in awful.ewmh - The C code for c.fullscreen = true continues and actually changes the client's fullscreen flag The result of this is that we get a client which thinks it is fullscreen'd without actually being that. Fix this by first changing the client's fullscreen property and then emitting request::fullscreen. Same thing for maximized_{vertical,horizontal}. Thanks to Jim Pryor for reporting this bug and helping reproducing it. Signed-off-by: Uli Schlachter <psychon@znc.in> |
||
---|---|---|
build-tests | ||
build-utils | ||
common | ||
icons | ||
lib | ||
luadoc | ||
manpages | ||
objects | ||
themes | ||
utils | ||
.gitignore | ||
AUTHORS | ||
BUGS | ||
CMakeLists.txt | ||
LICENSE | ||
Makefile | ||
PATCHES | ||
README | ||
STYLE | ||
awesome-version-internal.h.in | ||
awesome.c | ||
awesome.desktop | ||
awesome.doxygen.in | ||
awesome.h | ||
awesomeConfig.cmake | ||
awesomerc.lua.in | ||
banning.c | ||
banning.h | ||
color.c | ||
color.h | ||
config.h.in | ||
dbus.c | ||
dbus.h | ||
draw.c | ||
draw.h | ||
event.c | ||
event.h | ||
ewmh.c | ||
ewmh.h | ||
font.c | ||
font.h | ||
globalconf.h | ||
keygrabber.c | ||
keygrabber.h | ||
keyresolv.c | ||
keyresolv.h | ||
luaa.c | ||
luaa.h | ||
mouse.c | ||
mouse.h | ||
mousegrabber.c | ||
mousegrabber.h | ||
property.c | ||
property.h | ||
root.c | ||
screen.c | ||
screen.h | ||
selection.c | ||
selection.h | ||
spawn.c | ||
spawn.h | ||
stack.c | ||
stack.h | ||
strut.c | ||
strut.h | ||
systray.c | ||
systray.h | ||
xwindow.c | ||
xwindow.h |
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.