Go to file
Gregor Best 9cd29814f0 awful.util: add table.clone
This is useful because tables get passed by reference instead of by
value, so we might end up modifying tables where we don't want it.

Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-07 14:42:38 +02:00
build-utils removed WidgetList, name_func_link_t and related function 2009-06-17 16:22:42 +02:00
common buffer: remove useless assignation 2009-06-18 10:18:55 +02:00
icons themes: move theme icons to themes/ 2008-11-10 12:02:08 +01:00
lib awful.util: add table.clone 2009-07-07 14:42:38 +02:00
manpages manpages: fix awesome-client to talk about D-Bus 2009-04-27 15:09:42 +02:00
themes themes/sky: Titlebar icons: use current default theme paths 2009-05-20 07:43:15 +02:00
utils awful: split D-Bus name from awesome 2009-06-15 20:52:40 +02:00
widgets luaobject: ref take index number as argument 2009-06-16 17:15:20 +02:00
.gitignore gitignore: remove awesome-client 2009-04-11 16:10:42 +02:00
AUTHORS Update AUTHORS file 2009-06-17 17:03:17 +02:00
BUGS BUG's page 2008-04-18 19:33:58 +02:00
CMakeLists.txt removed WidgetList, name_func_link_t and related function 2009-06-17 16:22:42 +02:00
LICENSE chance license to GPLv2 2007-09-12 14:29:51 +02:00
Makefile build: allow to specify cmake args 2009-05-08 19:54:38 +02:00
PATCHES update STYLE, add PATCHES 2008-08-30 13:09:15 +02:00
README themes: Generate unfocused/inactive icons automatically 2009-05-18 08:30:21 +02:00
STYLE STYLE: add missing semi colon 2008-11-12 14:27:42 +01:00
awesome-version-internal.h.in cmake: consolidate version strings 2008-06-22 22:13:06 +02:00
awesome.c Use a libev prepare watcher for calling awesome_refresh() 2009-06-19 09:34:42 +02: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 build: remove useless variable 2009-07-01 11:58:51 +02:00
awesomerc.lua.in awful.widget.layoutbox: import 2009-06-10 11:42:57 +02:00
banning.c layout: rename to banning 2009-06-10 11:42:43 +02:00
banning.h layout: rename to banning 2009-06-10 11:42:43 +02:00
button.c key: change setmodifiers to tomodifiers 2009-06-17 17:05:47 +02:00
button.h luaobject: use object header and standard gc everywhere 2009-06-16 16:26:45 +02:00
client.c client_hasproto(): Use cached WM_PROTOCOLS 2009-06-25 14:58:56 +02:00
client.h Move window_setfocus and _hasproto to client_* 2009-06-25 14:58:55 +02:00
color.c color: move push color function to color.c 2009-06-19 17:01:01 +02:00
color.h color: move push color function to color.c 2009-06-19 17:01:01 +02:00
config.h.in build: detect endianness at compile time 2009-04-27 12:06:24 +02:00
dbus.c Use a libev prepare watcher for calling awesome_refresh() 2009-06-19 09:34:42 +02:00
dbus.h dbus: allow usage of the system bus 2009-04-18 16:07:31 +02:00
draw.c draw: fix NULL pointer passed to pango_parse_markup() 2009-06-15 11:24:56 +02:00
draw.h draw_context_t's depth member is unused, remove it 2009-06-11 12:54:42 +02:00
event.c Remove globalconf.have_randr 2009-06-17 15:53:08 +02:00
event.h layout: rename to banning 2009-06-10 11:42:43 +02:00
ewmh.c ewmh: remove setabove for some non-normal windows 2009-06-14 15:12:31 +02:00
ewmh.h image: use new object system 2009-04-12 15:11:32 +02:00
hooks.c hooks: remove arrange 2009-06-10 11:44:00 +02:00
image.c luaobject: use object header and standard gc everywhere 2009-06-16 16:26:45 +02:00
image.h luaobject: use object header and standard gc everywhere 2009-06-16 16:26:45 +02:00
key.c client: fix key array leak 2009-06-22 17:18:06 +02:00
key.h client: fix key array leak 2009-06-22 17:18:06 +02:00
keygrabber.c key: looking up for a key use a keysym 2009-04-29 10:53:50 +02:00
keygrabber.h keygrabber: add stop() method 2008-11-10 17:31:18 +01:00
luaa.c color: move push color function to color.c 2009-06-19 17:01:01 +02:00
luaa.h luaA_getopt_number(): also return def if stack top is neither number nor nil 2009-07-07 14:42:38 +02:00
mouse.c wibox: all wiboxes go into one and only one array 2009-06-04 17:51:35 +02:00
mouse.h mouse: split button out 2009-04-26 10:46:09 +02:00
mousegrabber.c Fix a harmless compiler warning 2009-05-25 12:07:05 +02:00
mousegrabber.h mousegrabber: import 2008-12-12 16:51:41 +01:00
property.c Add client_t::protocols 2009-06-25 14:58:54 +02:00
property.h Add client_t::protocols 2009-06-25 14:58:54 +02:00
root.c root: add wiboxes() method to get wiboxes 2009-06-04 17:51:41 +02:00
screen.c layout: rename to banning 2009-06-10 11:42:43 +02:00
screen.h layout: rename to banning 2009-06-10 11:42:43 +02:00
selection.c cleanup #includes 2009-04-17 16:52:25 +02:00
selection.h selection: do not use a useless module 2009-01-06 17:02:08 +01:00
spawn.c luaa: split dofunction() 2009-06-10 11:44:29 +02:00
spawn.h cleanup #includes 2009-04-17 16:52:25 +02:00
stack.c stack: remove client_node type and inverse order 2009-04-17 23:26:26 +02:00
stack.h stack: remove client_node type and inverse order 2009-04-17 23:26:26 +02:00
structs.h Remove globalconf.have_randr 2009-06-17 15:53:08 +02:00
swindow.c swindow: cache the opacity 2009-06-05 14:32:45 +02:00
swindow.h Only set a simplewindow's opacity if there is a window 2009-06-05 14:32:56 +02:00
systray.c wibox: all wiboxes go into one and only one array 2009-06-04 17:51:35 +02:00
systray.h systray: add some cleanup code 2008-09-03 18:03:50 +02:00
tag.c tag: fix reference leak 2009-06-16 17:16:45 +02:00
tag.h luaobject: use object header and standard gc everywhere 2009-06-16 16:26:45 +02:00
titlebar.c luaobject: ref take index number as argument 2009-06-16 17:15:20 +02:00
titlebar.h client, wibox: go back to unmap style banning 2009-06-10 11:44:11 +02:00
wibox.c wibox: rebuild table at every draw 2009-07-07 14:42:37 +02:00
wibox.h luaobject: use object header and standard gc everywhere 2009-06-16 16:26:45 +02:00
widget.c wibox: rebuild table at every draw 2009-07-07 14:42:37 +02:00
widget.h wibox: rebuild table at every draw 2009-07-07 14:42:37 +02:00
window.c Move window_setfocus and _hasproto to client_* 2009-06-25 14:58:55 +02:00
window.h Move window_setfocus and _hasproto to client_* 2009-06-25 14:58:55 +02: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

As well as the following tools to build theme icons:
  - ImageMagick

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.