Find a file
Julien Danjou 9b654095ec client: add Globally Active Input Model (GAIM)
with small fixes, changes:
- client_focus handles case when c==NULL
- don't focus on already focused client

- added window_takefocus function, that sends WM_TAKE_FOCUS client
  message. It is needed by GAIM and Locally Active Input Model.
- moved invocation of lua focus hook from client_focus to
  client_focus_hook function.

- client_focus has one additional paremeter, sendmessage.
  It is used in FocusIn event handler, to disable sending SetInputFocus
  and WM_TAKE_FOCUS messages ( to avoid infinite loop )

Signed-off-by: Mariusz Ceier <mceier@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-03 17:24:40 +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
lib lib/awful/hooks: fix removal of last timer hook 2009-02-24 19:31:18 +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
AUTHORS Update copyright years 2009-01-02 11:58:52 +01:00
awesome-client.1.txt
awesome-client.c awesome-client: fix warning by using a_asprintf() 2008-12-29 18:57:43 +01:00
awesome-version-internal.h.in
awesome.1.txt awesomerc: remove class/instance printing 2009-01-15 15:39:00 +01:00
awesome.c awesome: flush after ungrabbing server 2009-02-14 17:54:04 +01:00
awesome.desktop
awesome.doxygen.in layout: move layout code to Lua 2008-12-14 10:28:21 +01:00
awesome.h
awesomeConfig.cmake change codename 2009-02-27 10:47:29 +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
BUGS
client.c client: add Globally Active Input Model (GAIM) 2009-03-03 17:24:40 +01:00
client.h client: add Globally Active Input Model (GAIM) 2009-03-03 17:24:40 +01:00
CMakeLists.txt awesome: add selection() for getting the primary X selection 2009-01-03 11:52:24 +01:00
cnode.c
cnode.h
config.h.in
dbus.c dbus: add match bindings 2008-12-12 19:19:29 +01:00
dbus.h
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 event: small code harmonisation. 2009-02-16 10:30:55 +01:00
event.h
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
key.c key: remove dead code 2009-02-26 17:57:27 +01:00
key.h client: implements per-client key bindings 2009-01-05 16:59:20 +01:00
keybinding.c keybinding: move to key 2008-12-18 11:33:52 +01:00
keygrabber.c keygrabber: report modifier key press 2009-01-05 11:22:04 +01:00
keygrabber.h
layout.c layout: reset need_arrange before calling arrange. 2009-02-16 13:34:48 +01:00
layout.h layout: move layout code to Lua 2008-12-14 10:28:21 +01:00
LICENSE
luaa.c luaa: return parsing error right away 2009-03-02 14:16:08 +01:00
luaa.h screen: modularize padding handling 2008-12-14 10:28:23 +01:00
Makefile
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
PATCHES
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
README build: set minimum pango version required 2008-12-29 10:16:11 +01:00
screen.c client: change border handling slightly + remove some old cruft 2009-02-08 14:07:18 +01:00
screen.h
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.h
structs.h wibox: add mouse_enter and mouse_leave for wibox 2009-02-13 22:54:36 +01:00
STYLE STYLE: add missing semi colon 2008-11-12 14:27:42 +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
tag.c tag: add compatibility with old constructor proto 2009-02-06 11:55:09 +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
window.h

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.