Go to file
Lucas de Vries 0ccfea330a [tabulous] Improve
I've attached a patch file which improves on the recently added
tabulous lib a lot, using it will require a bit more config-end logic,
but it's much more powerful and allows for things such as tabbars and
autotabbing.

List of changes:
* [awful] Add awful.hooks.userhook_create and
awful.hooks.userhook_call so external libs can easily add their own
hooks (tabulous uses these)
* Tabulous now uses a tabindex system, instead of a messy circular
table, every set of tabs is now a tabbed view, this is more practical
and allows for the same order to be retained even if the focus shifts
(otherwise, the currently focussed tag would always be the first one
in the tabbar)
* Tabulous now exports a number of extra functions that will help you
in managing your tabs efficiently
* Tabulous now has an autotab_start() function you can call
(preferably right after the require so any other hooks you may have
set up won't interfere with it), when this is on, any newly created
windows will automatically be tabbed into the current tabbed view if
you have one selected (if the focussed window is not part of a tabbed
view, tabulous will do nothing)
* Tabulous bugfixes

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-11 07:47:57 +02:00
build-utils [doxygen] Add \lvalue and convert existing doc. 2008-06-11 07:36:34 +02:00
common [draw] Do inline UTF-8 conversion 2008-06-10 07:32:35 +02:00
icons Add icons in dist tarball and in default statusbar 2008-03-25 16:59:51 +01:00
layouts Revert "Replace tags by workspaces" 2008-06-09 21:56:03 +02:00
widgets [draw] Do inline UTF-8 conversion 2008-06-10 07:32:35 +02:00
.gitignore [doc] Add new Lua based documentation generator for API 2008-05-26 15:25:40 +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
LICENSE chance license to GPLv2 2007-09-12 14:29:51 +02:00
Makefile.am [keygrab] Add keygrabbing infrastructure 2008-06-10 17:22:36 +02:00
README make D-BUS optional 2008-05-31 08:33:21 +02:00
STYLE Fix STYLE file to reflect current style [CORRECTIVE] 2008-03-24 07:49:33 +01:00
as_ac_expand.m4 [everything] Switch from libconfuse to Lua 2008-05-20 18:01:15 +02:00
autogen.sh Honor GIT_DIR setting when determining version 2008-01-30 09:22:45 +01:00
awesome-client.1.txt Revert "Replace tags by workspaces" 2008-06-09 21:56:03 +02:00
awesome-client.c [util] warn() and eprint() now print \n 2008-05-23 22:56:05 +02:00
awesome.1.txt Revert "Replace tags by workspaces" 2008-06-09 21:56:03 +02:00
awesome.c [keygrab] Add keygrabbing infrastructure 2008-06-10 17:22:36 +02:00
awesome.doxygen.in [doxygen] Add \lvalue and convert existing doc. 2008-06-11 07:36:34 +02:00
awesomerc.5.txt [draw] Add alpha channel support 2008-05-30 13:08:07 +02:00
awesomerc.lua.in [tabulous] Improve 2008-06-11 07:47:57 +02:00
awful.lua [tabulous] Improve 2008-06-11 07:47:57 +02:00
client.c [client] Fix titlebar destruction 2008-06-11 07:38:40 +02:00
client.h Revert "Replace tags by workspaces" 2008-06-09 21:56:03 +02:00
cnode.c [cleanup] random doxygen fixes 2008-06-08 17:13:09 +02:00
cnode.h [focus] Split client_node functions out 2008-05-25 18:12:27 +02:00
configure.ac [build] Install awesomerc.lua to $sysconfdir/awesome 2008-06-09 15:31:11 +02:00
dbus.c make D-BUS optional 2008-05-31 08:33:21 +02:00
dbus.h [dbus] Poll on dbus connection fd 2008-05-03 12:01:06 +02:00
event.c [keygrabber] Fix key mapping 2008-06-10 22:37:45 +02:00
event.h [everything] Switch from libconfuse to Lua 2008-05-20 18:01:15 +02:00
ewmh.c Revert "Replace tags by workspaces" 2008-06-09 21:56:03 +02:00
ewmh.h [client] Rename Client type to client_t 2008-05-03 12:01:03 +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 [doxygen] Add \lvalue and convert existing doc. 2008-06-11 07:36:34 +02:00
keygrabber.c [keygrabber] Add keys between XK_Home and XK_Begin 2008-06-10 22:57:26 +02:00
keygrabber.h [keygrabber] Fix key mapping 2008-06-10 22:37:45 +02:00
layout.c Revert "Replace tags by workspaces" 2008-06-09 21:56:03 +02:00
layout.h Revert "Replace tags by workspaces" 2008-06-09 21:56:03 +02:00
lua.c [lua] Fix gettop() usages 2008-06-10 20:32:26 +02:00
lua.h [lua] Split luaA_parserc into luaA_init/parserc 2008-06-09 08:52:00 +02:00
mouse.c [doxygen] Add \lvalue and convert existing doc. 2008-06-11 07:36:34 +02:00
mouse.h [client] Rework raise and mouse stuff 2008-05-26 18:08:29 +02:00
placement.c Revert "Replace tags by workspaces" 2008-06-09 21:56:03 +02:00
placement.h add under_mouse placement aglo 2008-02-13 18:14:34 +01:00
screen.c Revert "Replace tags by workspaces" 2008-06-09 21:56:03 +02:00
screen.h Revert "Replace tags by workspaces" 2008-06-09 21:56:03 +02:00
stack.c [client] Add proper stacking support 2008-05-25 19:32:30 +02:00
stack.h [client] Add proper stacking support 2008-05-25 19:32:30 +02:00
statusbar.c [doxygen] Add \lvalue and convert existing doc. 2008-06-11 07:36:34 +02:00
statusbar.h [lua] Add object as argument to mouse click function 2008-06-04 19:21:21 +02:00
structs.h [hooks] Rename newclient to `manage', add unmanage hook 2008-06-10 19:03:10 +02:00
tabulous.lua [tabulous] Improve 2008-06-11 07:47:57 +02:00
tag.c [doxygen] Add \lvalue and convert existing doc. 2008-06-11 07:36:34 +02:00
tag.h Revert "Replace tags by workspaces" 2008-06-09 21:56:03 +02:00
titlebar.c [doxygen] Add \lvalue and convert existing doc. 2008-06-11 07:36:34 +02:00
titlebar.h [titlebar] Add titlebar_client_get() 2008-06-04 17:54:52 +02:00
widget.c [doxygen] Add \lvalue and convert existing doc. 2008-06-11 07:36:34 +02:00
widget.h Revert "Replace tags by workspaces" 2008-06-09 21:56:03 +02:00
window.c [cleanup] random doxygen fixes 2008-06-08 17:13:09 +02:00
window.h [lua] Add new keybinding interface 2008-05-28 12:15:00 +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
  - glib
  - GTK+ 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.