Find a file
Uli Schlachter 6f2424e901 Enable detectable autorepeat (#550)
Imagine the following snippet is run:

    keygrabber.run(function(mod, key, event)
      gears.debug.dump{mod, key, event}
    end)

The above starts a keygrabber and prints the events that are received.
Currently, when a key is pressed and held down, this prints a series of press
and release, because that's what the X11 server sends us.

This commit enables detectable autorepeat. This means that the X11 server only
sends us a series of press events for autorepeat and a single release when the
key really is released.

Testing this is a bit hard, because detectable autorepeat does not seem to work
with Xephyr. Instead, a "real" Xorg instance is needed.

We do not check the response to the PerClientFlags request, because it doesn't
really tell us anything useful. If the server does not support detectable
autorepeat, we could print a warning, but so what? As I just said, this does not
work in Xephyr and yet Xephyr announced to support this.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-11-07 12:45:04 +01:00
build-tests
build-utils travis-apidoc: swap 'relevant' and 'boilerplate' commits 2015-10-30 00:02:19 +01:00
common Fix the definition of A_STRNEQ_CASE 2015-09-28 23:34:52 +02:00
docs doc: distinguish between client.object and client.class 2015-07-26 00:45:38 +02:00
icons
lib Merge pull request #537 from psychon/timer-signals 2015-11-05 23:07:31 +01:00
manpages Document "--replace" better 2015-10-11 15:00:08 +02:00
objects Merge pull request #531 from psychon/property_geometry 2015-11-05 23:08:02 +01:00
spec Add some constructor arguments to some layouts 2015-10-17 14:50:46 +02:00
tests Add failing test: c.startup_id should be nil when snid is disabled 2015-11-05 23:03:59 +01:00
themes feat(themes: default): add icons for minimize button 2015-09-13 14:41:07 +02:00
utils
.gitignore
.travis.yml Add failing test: c.startup_id should be nil when snid is disabled 2015-11-05 23:03:59 +01:00
awesome-version-internal.h
awesome.c Document "--replace" better 2015-10-11 15:00:08 +02:00
awesome.desktop
awesome.h
awesomeConfig.cmake Modify CFLAGS handling 2015-09-19 12:02:03 +02:00
awesomerc.lua feat(awesomerc): add descriptions for some keybindings 2015-10-27 19:52:39 -04:00
banning.c
banning.h
CMakeLists.txt Modify CFLAGS handling 2015-09-19 12:02:03 +02:00
color.c
color.h
config.h
dbus.c Expose dbus signal sender 2015-09-23 21:05:03 +02:00
dbus.h
draw.c
draw.h Emit property::geometry only if something changed 2015-10-14 19:40:18 +02:00
event.c Grab client keys on the client window (#496) 2015-10-16 17:30:46 +02:00
event.h drawin: lazily configure drawin windows 2015-08-23 15:25:23 +02:00
ewmh.c
ewmh.h
globalconf.h Exit when we loose the WM_Sn selection 2015-10-10 21:59:12 +02:00
keygrabber.c keygrabber: ignore modifiers for name of control keys 2015-08-10 23:05:16 +02:00
keygrabber.h
LICENSE
luaa.c Make awesome.quit() during startup work 2015-10-10 22:25:56 +02:00
luaa.h drawin.c: check for integer for x, y, width, height 2015-08-12 14:07:22 +02:00
Makefile
mouse.c doc: distinguish between client.object and client.class 2015-07-26 00:45:38 +02:00
mouse.h
mousegrabber.c
mousegrabber.h
property.c
property.h
README.md
root.c Do not call xcb_ungrab_key twice (before xwindow_grabkeys) 2015-08-01 14:16:06 +02:00
selection.c
selection.h
spawn.c Spawn: Improve handling of startup notification 2015-11-05 23:02:20 +01:00
spawn.h
stack.c
stack.h
strut.c
strut.h
systray.c Select SubstructureRedirect on our systray window 2015-10-10 20:34:43 +02:00
systray.h
xkb.c Enable detectable autorepeat (#550) 2015-11-07 12:45:04 +01:00
xkb.h
xrdb.c
xrdb.h
xwindow.c Fix obvious typo in xwindow_translate_for_gravity() 2015-10-10 17:38:51 +02:00
xwindow.h

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