Lua C CMake Other
Latest commit 8210b11 Feb 26, 2017 @Elv13 Elv13 committed on GitHub wibar: Add beautiful variables (#1602)
* wibar: Add beautiful variables

This was done a few weeks ago for the notifications. This was
requested on IRC a while ago to have different font for the wibars.

Now that shapes are supported, it also makes more sense for the
border.
Permalink
Failed to load latest commit information.
build-utils Add a utility checking uses of require()s Feb 8, 2017
common Print full RandR version in --version output Jan 23, 2017
docs docs: Update for awesome 4.0 changes Feb 23, 2017
icons icons: remove invaders Sep 8, 2009
lib wibar: Add beautiful variables (#1602) Feb 26, 2017
manpages Add missing $ for XDG_CONFIG_DIRS in manpages (#1311) Dec 27, 2016
objects maximize: Stop mixing horizontal, vertical and both. Feb 7, 2017
spec Test that beautiful is not used too early (#1471) Feb 14, 2017
tests Replace improperly used asserts with warnings. Feb 20, 2017
themes feat(naughty: core): add shape configuration; expose options to beaut… Feb 12, 2017
utils awesome-client: let env find bash (#1544) Feb 8, 2017
.editorconfig Add an EditorConfig file Dec 12, 2015
.gitignore gitignore: remove awesome-client Apr 11, 2009
.luacheckrc luacheck: configure it for .luacheckrc itself Feb 16, 2017
.luacov luacov: include everything Jan 8, 2017
.travis.yml Test that beautiful is not used too early (#1471) Feb 14, 2017
CMakeLists.txt Add a utility checking uses of require()s Feb 8, 2017
ISSUE_TEMPLATE.md Add an ISSUE_TEMPLATE.md file (#997) Jul 9, 2016
LICENSE chance license to GPLv2 Sep 12, 2007
Makefile Makefile: add "tags" to .PHONY targets Jul 11, 2015
Packaging.cmake Fix "make package" with RPMs (#1370) Jan 8, 2017
README.md Add README.md symlink Feb 28, 2015
awesome-version-internal.h Add a vim modeline to all C source Dec 12, 2015
awesome.c Merge pull request #1475 from psychon/input-shape-support Feb 3, 2017
awesome.desktop Remove deprecated Encoding key from awesome.desktop (#1394) Jan 13, 2017
awesome.h remove encoding=utf-8 from modelines Sep 11, 2011
awesomeConfig.cmake Export build-time paths as entries on awesome Jan 25, 2017
awesomerc.lua config: add bindings to (un)maximize horizontally/vertically Feb 15, 2017
banning.c doc: fix warnings from doxygen Feb 14, 2015
banning.h Clean up header includes Mar 30, 2014
color.c Clean up header includes Mar 30, 2014
color.h remove encoding=utf-8 from modelines Sep 11, 2011
config.h Merge branch 'find-fallback-config' of https://github.com/psychon/awe… Jan 27, 2017
dbus.c Remove @release @AWESOME_VERSION@ everywhere (#1157) Oct 9, 2016
dbus.h remove encoding=utf-8 from modelines Sep 11, 2011
draw.c awesome.load_image(): Return errors instead of "throwing" them Jan 15, 2016
draw.h awesome.load_image(): Return errors instead of "throwing" them Jan 15, 2016
event.c Reply on configurerequest even if geometry is the same (#1388) Jan 12, 2017
event.h Delay client frame window destruction (#1148) Oct 6, 2016
ewmh.c maximize: Stop mixing horizontal, vertical and both. Feb 7, 2017
ewmh.h Initialise Lua later Jan 25, 2017
globalconf.h xwindow: Add support for input shape from SHAPE 1.1 Jan 26, 2017
keygrabber.c Remove @release @AWESOME_VERSION@ everywhere (#1157) Oct 9, 2016
keygrabber.h Clean up header includes Mar 30, 2014
luaa.c doc: fix signals (#1455) Jan 28, 2017
luaa.h Refactor config fallback Jan 25, 2017
mouse.c Remove @release @AWESOME_VERSION@ everywhere (#1157) Oct 9, 2016
mouse.h Revert "Support more than 5 mouse buttons" (FS#1082) Mar 29, 2013
mousegrabber.c Remove @release @AWESOME_VERSION@ everywhere (#1157) Oct 9, 2016
mousegrabber.h Revert "Support more than 5 mouse buttons" (FS#1082) Mar 29, 2013
property.c C: Remove unneeded calls to signal_add() Jun 4, 2016
property.h Add new request::urgent signal Feb 10, 2015
root.c Sync instead of flush after setting a wallpaper (#1278) Dec 18, 2016
selection.c Remove @release @AWESOME_VERSION@ everywhere (#1157) Oct 9, 2016
selection.h remove encoding=utf-8 from modelines Sep 11, 2011
spawn.c Fix build on FreeBSD (#1381) Jan 13, 2017
spawn.h Clean up header includes Mar 30, 2014
stack.c doc: fix warnings from doxygen Feb 14, 2015
stack.h Clean up header includes Mar 30, 2014
strut.c geometry: Use the relevant rounding functions instead of integers Apr 18, 2016
strut.h remove encoding=utf-8 from modelines Sep 11, 2011
systray.c Properly support the XEMBED_MAPPED bit May 31, 2016
systray.h Remove unused argument to systray_request_handle() May 29, 2016
xkb.c Add fallbacks for when XKB is unavailable Nov 4, 2016
xkb.h Add a vim modeline to all C source Dec 12, 2015
xrdb.c Remove obsolete include and Xlib comment. Jan 5, 2017
xrdb.h Add a vim modeline to all C source Dec 12, 2015
xwindow.c xwindow: Add support for input shape from SHAPE 1.1 Jan 26, 2017
xwindow.h Set WM_CLASS and WM_NAME on all our windows (#551) Nov 19, 2015

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 either install via make install:

make install  # you might need root permissions

or by auto-generating a .deb or .rpm package, for easy removal later on:

make package

sudo dpkg -i awesome-x.y.z.deb
# or
sudo rpm -Uvh awesome-x.y.z.rpm

NOTE: awesome uses cmake to build. In case you want to pass arguments to cmake, please use the CMAKE_ARGS environment variable. For instance:

CMAKE_ARGS="-DCMAKE_INSTALL_PREFIX=/opt/awesome" make

Build dependencies

Awesome has the following dependencies (besides a more-or-less standard POSIX environment):

Additionally, the following optional dependencies exist:

  • DBus for DBus integration and the awesome-client utility
  • asciidoc and xmlto for generating man pages
  • gzip for compressing man pages
  • ldoc for generating the documentation
  • busted for running unit tests
  • luacheck for static code analysis
  • LuaCov for collecting code coverage information
  • libexecinfo on systems where libc does not provide backtrace_symbols() to generate slightly better backtraces on crashes
  • Xephyr or Xvfb for running integration tests

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 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.

Debugging tips

You can call awesome with gdb like this:

DISPLAY=:2 gdb awesome

Then in gdb set any args and run it:

(gdb) set arg --replace
(gdb) run

Inside gdb you can use the following to print the current Lua stack traceback:

(gdb) print luaL_dostring(globalconf.L.real_L_dont_use_directly, "print(debug.traceback())")

Reporting issues

Please report any issues you may find on our bugtracker. You can submit pull requests on the github repository. Please read the contributing guide for any coding, documentation or patch guidelines.

Status

Build Status

Documentation

Online documentation is available at https://awesomewm.org/apidoc/.

License

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