Go to file
Julien Danjou 8745d691fe buttons: change grabbing method
We stop grabbing buttons on root windows. We select button press and
release events, and then we check that we have a bindings for them.
This allow to simply grab buttons on client once, and not redo such
things on arrange or mouse-over-window changes.

Most window managers do like this, anyway.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-12 11:49:58 +01:00
build-utils layout: move layout code to Lua 2008-12-14 10:28:21 +01:00
common client: remove _AWESOME_FLOATING 2009-02-26 12:35:46 +01:00
icons themes: move theme icons to themes/ 2008-11-10 12:02:08 +01:00
lib remove deprecated functions 2009-03-12 11:49:58 +01:00
themes Added fg_minimize and bg_minimize to properly color tasklist minimized clients 2009-02-13 23:00:36 +01:00
utils awsetbg: fix wallpapersetter detection 2009-01-20 19:32:45 +01:00
widgets graph: return if size is 0 (FS#466) 2009-03-02 17:43:14 +01:00
.gitignore gitignore: add binaries 2008-09-22 10:37:07 +02:00
AUTHORS Update copyright years 2009-01-02 11:58:52 +01:00
BUGS BUG's page 2008-04-18 19:33:58 +02:00
CMakeLists.txt remove deprecated functions 2009-03-12 11:49:58 +01:00
LICENSE chance license to GPLv2 2007-09-12 14:29:51 +02:00
Makefile build: do not do build link if it exists 2008-09-29 16:21:36 +02:00
PATCHES update STYLE, add PATCHES 2008-08-30 13:09:15 +02:00
README build: set minimum pango version required 2008-12-29 10:16:11 +01:00
STYLE STYLE: add missing semi colon 2008-11-12 14:27:42 +01:00
awesome-client.1.txt Revert "Replace tags by workspaces" 2008-06-09 21:56:03 +02:00
awesome-client.c awesome-client: fix warning by using a_asprintf() 2008-12-29 18:57:43 +01:00
awesome-version-internal.h.in cmake: consolidate version strings 2008-06-22 22:13:06 +02:00
awesome.1.txt awesomerc: remove class/instance printing 2009-01-15 15:39:00 +01:00
awesome.c buttons: change grabbing method 2009-03-12 11:49:58 +01:00
awesome.desktop desktop: change description 2008-10-02 17:19:28 +02:00
awesome.doxygen.in layout: move layout code to Lua 2008-12-14 10:28:21 +01:00
awesome.h factorize quit/exec elements, and reparent systray 2008-09-02 17:12:10 +02:00
awesomeConfig.cmake change codename 2009-03-06 13:53:17 +01:00
awesomerc.5.txt draw: remove custom markup support 2008-12-14 10:28:23 +01:00
awesomerc.lua.in awesomerc: raise client when focused with mouse buttons 4 and 5 2009-02-24 17:43:25 +01:00
awsetbg.1.txt awsetbg.1: add -m doc 2009-02-18 15:43:27 +01:00
client.c buttons: change grabbing method 2009-03-12 11:49:58 +01:00
client.h client: add Globally Active Input Model (GAIM) 2009-03-03 17:24:40 +01:00
cnode.c comments fixing 2008-06-20 08:38:00 +02:00
cnode.h cnode: move struct to cnode header 2008-10-24 20:40:02 +02:00
config.h.in Fix default search path for configurations 2008-07-24 20:10:13 +02:00
dbus.c dbus: fix fixed array handling 2009-03-11 16:20:39 +01:00
dbus.h Plug dbus in the event loop. 2008-06-16 23:51:07 +02:00
draw.c widget: add fixed alignment 2008-12-14 10:28:23 +01:00
draw.h widget: add fixed alignment 2008-12-14 10:28:23 +01:00
event.c buttons: change grabbing method 2009-03-12 11:49:58 +01:00
event.h wibox: wibox_refresh merge statusbar and titlebar 2008-09-22 11:11:56 +02:00
ewmh.c client: add Globally Active Input Model (GAIM) 2009-03-03 17:24:40 +01:00
ewmh.h ewmh: add support for _NET_DESKTOP_GEOMETRY 2009-02-13 10:57:42 +01:00
hooks.c hooks: manage gets an extra startup arg 2008-12-29 12:23:37 +01:00
image.c image: realloc rather than delete/new 2008-12-29 15:39:31 +01:00
image.h image: add function to create from argb32 data 2008-09-22 11:11:55 +02:00
key.c remove deprecated functions 2009-03-12 11:49:58 +01:00
key.h client: implements per-client key bindings 2009-01-05 16:59:20 +01:00
keygrabber.c keygrabber: report modifier key press 2009-01-05 11:22:04 +01:00
keygrabber.h keygrabber: add stop() method 2008-11-10 17:31:18 +01:00
layout.c buttons: change grabbing method 2009-03-12 11:49:58 +01:00
layout.h layout: move layout code to Lua 2008-12-14 10:28:21 +01:00
luaa.c buttons: change grabbing method 2009-03-12 11:49:58 +01:00
luaa.h screen: modularize padding handling 2008-12-14 10:28:23 +01:00
mouse.c mouse: add object_under_pointer 2008-12-14 10:28:23 +01:00
mouse.h mouse: add object_under_pointer 2008-12-14 10:28:23 +01:00
mousegrabber.c mouse: add object_under_pointer 2008-12-14 10:28:23 +01:00
mousegrabber.h mousegrabber: import 2008-12-12 16:51:41 +01:00
property.c property: do not convert 2009-02-20 11:07:39 +01:00
property.h client: Expose leader_id. 2008-12-14 10:28:22 +01:00
screen.c client: change border handling slightly + remove some old cruft 2009-02-08 14:07:18 +01:00
screen.h wibox: merge statusbar and titlebar types 2008-09-22 11:11:56 +02:00
selection.c selection: do not use a useless module 2009-01-06 17:02:08 +01:00
selection.h selection: do not use a useless module 2009-01-06 17:02:08 +01:00
stack.c stack: add stack_client_append() 2008-11-12 11:23:28 +01:00
stack.h stack: add stack_client_append() 2008-11-12 11:23:28 +01:00
structs.h wibox: add mouse_enter and mouse_leave for wibox 2009-02-13 22:54:36 +01:00
swindow.c client, swindow: switch to a more convient definition of geometry 2008-12-14 10:28:24 +01:00
swindow.h client, swindow: switch to a more convient definition of geometry 2008-12-14 10:28:24 +01:00
systray.c xembed: store windows in an array 2008-12-14 10:28:22 +01:00
systray.h systray: add some cleanup code 2008-09-03 18:03:50 +02:00
tag.c remove deprecated functions 2009-03-12 11:49:58 +01:00
tag.h tag.h: remove extra ; 2009-01-18 10:56:31 +01:00
titlebar.c client: update client geometry when adding and removing titlebars 2009-02-06 22:46:25 +01:00
titlebar.h titlebar: correctly ban/unban (FS#443) 2009-02-05 17:55:59 +01:00
wibox.c wibox: fix south systray orientation (FS#459) 2009-02-23 15:39:37 +01:00
wibox.h client: Also check for struts on client_{ban,unban} 2008-12-14 10:28:23 +01:00
widget.c widget: add align property 2009-01-19 17:17:15 +01:00
widget.h wibox: simplify render proto 2009-01-16 15:26:40 +01:00
window.c buttons: change grabbing method 2009-03-12 11:49:58 +01:00
window.h buttons: change grabbing method 2009-03-12 11:49:58 +01:00

README

awesome
=======
awesome is a highly configurable, next generation framework window manager for X.

Requirements
------------
In order to build awesome itself, you need header files and libs of:
  - cmake (>= 2.6)
  - Xlib
  - xproto
  - xcb (>= 1.1)
  - xcb-util (>= 0.3)
  - Lua (>= 5.1)
  - cairo built with xcb support
  - pango and pangocairo (>= 1.19.3)
  - libev
  - Imlib2
  - dbus (optional, use -DWITH_DBUS=OFF with cmake to disable)
  - gperf

In order to build the awesome man pages and documentation,
you need these tools:
  - asciidoc
  - xmlto
  - docbook XSL stylesheets
  - luadoc

In order to build the source code reference, you need these tools:
  - doxygen
  - graphviz

Building and installation
-------------------------
After extracting the dist tarball, run:

  make

This will create a build directory, run cmake in it and build awesome.

After the building done, you can type this to install:

  make install # 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 is provided in the sources.

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.