dfcbf20d81
This function updates a hierarchy if the layout of some widgets changed. It does nothing on the parts that did not change. This should be more efficient than recomputing the whole hierarchy whenever something changes. Once again, this has some positive results on the "benchmark test": Before: create wibox: 0.083016 sec/iter ( 13 iters, 1.161 sec for benchmark) update textclock: 0.00391091 sec/iter (271 iters, 3.219 sec for benchmark) relayout textclock: 0.00273234 sec/iter (397 iters, 1.087 sec for benchmark) redraw textclock: 0.0010191 sec/iter (989 iters, 1.745 sec for benchmark) After: create wibox: 0.083146 sec/iter ( 13 iters, 1.163 sec for benchmark) update textclock: 0.00170519 sec/iter (647 iters, 2.201 sec for benchmark) relayout textclock: 0.000581637 sec/iter (1880 iters, 1.094 sec for benchmark) redraw textclock: 0.0010167 sec/iter (997 iters, 1.773 sec for benchmark) So again no difference for creating wiboxes (100.16% compared to before). This time we also have no real difference for creating wiboxes (99.76%). Update (44%) and relayout (21%) are improved a lot. Closes https://github.com/awesomeWM/awesome/pull/463. Signed-off-by: Uli Schlachter <psychon@znc.in> |
||
---|---|---|
build-tests | ||
build-utils | ||
common | ||
docs | ||
icons | ||
lib | ||
manpages | ||
objects | ||
spec | ||
tests | ||
themes | ||
utils | ||
.gitignore | ||
.travis.yml | ||
CMakeLists.txt | ||
LICENSE | ||
Makefile | ||
README.md | ||
awesome-version-internal.h | ||
awesome.c | ||
awesome.desktop | ||
awesome.h | ||
awesomeConfig.cmake | ||
awesomerc.lua | ||
banning.c | ||
banning.h | ||
color.c | ||
color.h | ||
config.h | ||
dbus.c | ||
dbus.h | ||
draw.c | ||
draw.h | ||
event.c | ||
event.h | ||
ewmh.c | ||
ewmh.h | ||
globalconf.h | ||
keygrabber.c | ||
keygrabber.h | ||
luaa.c | ||
luaa.h | ||
mouse.c | ||
mouse.h | ||
mousegrabber.c | ||
mousegrabber.h | ||
property.c | ||
property.h | ||
root.c | ||
selection.c | ||
selection.h | ||
spawn.c | ||
spawn.h | ||
stack.c | ||
stack.h | ||
strut.c | ||
strut.h | ||
systray.c | ||
systray.h | ||
xkb.c | ||
xkb.h | ||
xrdb.c | ||
xrdb.h | ||
xwindow.c | ||
xwindow.h |
README.md
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
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).