flaw - a Lua OO management framework for awesome WM widgets
stands for Fully Loaded AWesome. It is a LUA object oriented library
providing a thin abstraction layer above awesome widgets. It is aimed at being
simple and resources efficient.
To achieve these goals, flaw
provides the following concepts.
- To add functionality to awesome widgets, flaw
defines gadget objects, which are a wrapper around a widget. All gadgets
have properties, events, a refresh mechanism and a data provider (see
below). Gadgets can wrap all awesome widget type, namely text boxes, image
boxes, graphs or progress bars. flaw provides many gadgets for
common system information (like CPU or memory activity).
- flaw tries to minimise system access and data
refresh. Since all information do not have the same expiration rate, all
gadgets refresh independently. And since some gadgets can share
information, all data is provided by providers which can be shared among
gadgets. Providers maintain status data from the system and refreshes only
when necessary (ie. when the gadget with the shortest refresh rate demands
- Events are a way for the user to modify the gadget
behaviour or properties when some conditions are met. An event is composed
of a trigger, which computes the condition, and an action. Event triggers
are tested by the providers only when data changes. Both the condition and
the action are provided by the user.
depends on the lua-filesystem package which can be found
. Once installed, the
following statement must be inserted in awesome configuration before any
gadget or mechanism is used.
consists in creating gadgets, passing them parameters to
customize their display and events to add some behaviour to them, and then
adding them in a wibox like any other awesome widget. flaw
gadgets can live together. The complete flaw
documentation is available
in Luadoc format. Enter the following command to generate it.
luadoc -d html --nofiles *.lua
tries to recover upon bad invocations. When something wrong occurs,
it outputs warning or error messages to stderr (for example, if awesome was
started with xsession, output will be found in ~/.xsession-errors
Certainly a lot.
David Soulayrol <david.soulayrol at gmail dot net>