Go to file
Pierre Habouzit b4b381e947 Finish markup parsing rewrite to avoid mallocs.
For that matter, use elements as a filter for elements we care about, and
let the hook implement whatever it needs without duplicating everything.

The resulting algorithm is still O(n²) where n is the number of filtered
elements (3 at most right now), which isn't bad if we don't need to get
too many elements, but at least it's not quadratic in the number of
attributes anymore.

Speedup improvements could be done using gperf btw.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 17:45:45 +02:00
build-utils [doxygen] Add \lvalue and convert existing doc. 2008-06-11 07:36:34 +02:00
common Finish markup parsing rewrite to avoid mallocs. 2008-06-22 17:45:45 +02:00
icons Added magnifier icons. 2008-06-14 00:03:04 +02:00
layouts Revert "Replace tags by workspaces" 2008-06-09 21:56:03 +02:00
lib awful: mouse.screen_get only uses passed screen 2008-06-21 10:20:00 +02:00
widgets Finish markup parsing rewrite to avoid mallocs. 2008-06-22 17:45:45 +02:00
.gitignore gitignore: add cpack configuration files 2008-06-20 15:40:31 +02:00
AUTHORS [authors] Add Arnaud Fontaine 2008-05-03 12:01:01 +02:00
BUGS BUG's page 2008-04-18 19:33:58 +02:00
CMakeLists.txt Add extensible buffers to awesome. 2008-06-22 15:04:09 +02:00
LICENSE chance license to GPLv2 2007-09-12 14:29:51 +02:00
README README: add libev 2008-06-17 08:21:39 +02:00
STYLE Fix STYLE file to reflect current style [CORRECTIVE] 2008-03-24 07:49:33 +01:00
awesome-client.1.txt Revert "Replace tags by workspaces" 2008-06-09 21:56:03 +02:00
awesome-client.c comments fixing 2008-06-20 08:38:00 +02:00
awesome-version-internal.h.in * Added CMake-based build system necessary files 2008-06-19 22:28:47 +02:00
awesome.1.txt [manpage] Update 2008-06-11 09:56:19 +02:00
awesome.c comments fixing 2008-06-20 08:38:00 +02:00
awesome.doxygen.in cmake: configure awesome.doxygen 2008-06-19 22:28:47 +02:00
awesomeConfig.cmake cmake: Fixed source package generation 2008-06-22 09:51:54 +02:00
awesomerc.5.txt systray: import widget 2008-06-14 18:12:16 +02:00
awesomerc.lua.in cmake: fix awesomerc.lua.in variable names 2008-06-19 22:28:47 +02:00
client.c Finish markup parsing rewrite to avoid mallocs. 2008-06-22 17:45:45 +02:00
client.h client: export client_geometry_hints 2008-06-18 18:48:38 +02:00
cnode.c comments fixing 2008-06-20 08:38:00 +02:00
cnode.h [focus] Split client_node functions out 2008-05-25 18:12:27 +02:00
config.h.in cmake: add WITH_IMLIB2 WITH_DBUS to config.h.in 2008-06-20 15:40:31 +02:00
dbus.c Plug dbus in the event loop. 2008-06-16 23:51:07 +02:00
dbus.h Plug dbus in the event loop. 2008-06-16 23:51:07 +02:00
event.c Always use unchecked xcb functions 2008-06-21 19:56:51 +09:00
event.h xshape: remove, nothing prove it's really useful 2008-06-17 15:06:05 +02:00
ewmh.c ewmh: add support for _NET_WM_WINDOW_TYPE_DESKTOP 2008-06-19 19:51:58 +02:00
ewmh.h ewmh: s/NetWMIcon/netwm_icon_t/ 2008-06-18 09:29:57 +02:00
focus.c Revert "Replace tags by workspaces" 2008-06-09 21:56:03 +02:00
focus.h Revert "Replace tags by workspaces" 2008-06-09 21:56:03 +02:00
keybinding.c Make refcounting safer. 2008-06-22 14:22:44 +02:00
keygrabber.c comments fixing 2008-06-20 08:38:00 +02:00
keygrabber.h [keygrabber] Fix key mapping 2008-06-10 22:37:45 +02:00
layout.c Replace xcb_aux_get_screen() by a safer function 2008-06-17 17:14:00 +02:00
layout.h Revert "Replace tags by workspaces" 2008-06-09 21:56:03 +02:00
lua.c lua: userdata_new is now macro 2008-06-18 18:31:35 +02:00
lua.h lua: userdata_new is now macro 2008-06-18 18:31:35 +02:00
mouse.c fix unitialized value warnings 2008-06-19 23:00:35 +02:00
mouse.h [client] Rework raise and mouse stuff 2008-05-26 18:08:29 +02:00
placement.c Always use unchecked xcb functions 2008-06-21 19:56:51 +09:00
placement.h placement: rename FloatingPlacement to floating_placement_t 2008-06-15 10:55:07 +02:00
screen.c Replace xcb_aux_get_screen() by a safer function 2008-06-17 17:14:00 +02:00
screen.h Revert "Replace tags by workspaces" 2008-06-09 21:56:03 +02:00
stack.c ewmh: add support for _NET_CLIENT_LIST_STACKING 2008-06-17 21:47:57 +02:00
stack.h [client] Add proper stacking support 2008-05-25 19:32:30 +02:00
statusbar.c awful: enable bash completion 2008-06-18 20:07:18 +02:00
statusbar.h lua: userdata_new is now macro 2008-06-18 18:31:35 +02:00
structs.h client: add hassizehints 2008-06-18 18:48:38 +02:00
systray.c Always use unchecked xcb functions 2008-06-21 19:56:51 +09:00
systray.h systray: attach systray to external window, not statusbar 2008-06-15 10:33:10 +02:00
tag.c fix comments typo 2008-06-18 20:00:24 +02:00
tag.h lua: userdata_new is now macro 2008-06-18 18:31:35 +02:00
titlebar.c widget: allow widgets to be added several times 2008-06-18 18:38:08 +02:00
titlebar.h lua: userdata_new is now macro 2008-06-18 18:31:35 +02:00
widget.c fix comments typo 2008-06-18 20:00:24 +02:00
widget.h lua: userdata_new is now macro 2008-06-18 18:31:35 +02:00
window.c Replace xcb_aux_get_screen() by a safer function 2008-06-17 17:14:00 +02:00
window.h xshape: remove, nothing prove it's really useful 2008-06-17 15:06:05 +02:00

README

awesome
=======
awesome is an extremely fast, small, and dynamic window manager for X.

Requirements
------------
In order to build awesome itself, you need header files and libs of:
  - Xlib, xcb and xcb-util.
  - Lua 5.1
  - cairo
  - pango and pangocairo
  - libev
  - glib
  - GdkPixBuf or Imlib2 (use --with-imlib2 with ./configure)
  - dbus (optional, use --with-dbus=no with ./configure to disable)

In order to build the awesome man pages, you need these tools:
  - asciidoc (recent version)
  - xmlto (recent version)
  - docbook XSL stylesheets

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

Building and Installation
-------------------------
If building from git sources, run "./autogen.sh". When autoreconf has
finished, you can follow the following instructions for building a dist
tarball.

After extracting the dist tarball, run "./configure --help" and figure out
what you might want to adapt for your system. Then run ./configure with the
proper parameters, and build and install:

  ./configure [...]
  make
  make install # might need root permissions

If you're using gcc as your compiler and do not want awesome's default set
of warning flags, add AWESOME_CFLAGS="" to your "make" lines.

The source code reference can be built with "make doc".

Running awesome
-----------
Add the following line to your .xinitrc to start awesome using startx
or to .xsession to start awesome using gdm/kdm/xdm...:

    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 ~/.awesomerc.lua file.
An example is provided in the sources.