flaw(7)

πŸ’– flaw(7) β€” the manual page, but make it cute πŸ’–

okay bestie, welcome to flaw(7) from the Miscellaneous Information Manual, and lemme tell you, this lil page is lowkey iconic. buckle up πŸŽ€


✨ NAME ✨

flaw β€” a Lua OO management framework for awesome WM widgets πŸ¦‹


πŸ’… DESCRIPTION πŸ’…

so flaw stands for Fully Loaded AWesome. it's a LUA object oriented library that gives you a thin abstraction layer sitting right on top of awesome widgets, and the whole vibe is simple and resources efficient. no bloat, no drama. periodt. ✨

and to actually pull that off, flaw brings you these concepts πŸ‘‡

🧸 gadgets

to add functionality to awesome widgets, flaw defines gadget objects, which are basically a wrapper around a widget. every single gadget has properties, events, a refresh mechanism, and a data provider (peep below πŸ‘€). gadgets can wrap all awesome widget types, namely text boxes, image boxes, graphs, or progress bars. and flaw ships with a whole bunch of gadgets for common system info (like CPU or memory activity). it's giving convenience, fr fr. πŸ“

πŸ”Œ provider

flaw really tries to minimise system access and data refresh, because why do extra work?? 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 refresh only when necessary (ie. when the gadget with the shortest refresh rate demands it). the way that's efficient… obsessed. πŸ‘‘

⚑ events

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 (no wasteful checking bestie πŸ’€). both the condition and the action are provided by the user. main character energy, honestly.


🌈 USAGE 🌈

first things first: flaw depends on the lua-filesystem package, which can be found at http://luaforge.net/projects/luafilesystem. once that's installed, you gotta insert the following statement in your awesome configuration before any flaw gadget or mechanism is used:

require('flaw')

then using flaw is literally just: create gadgets β†’ pass them parameters to customize their display and events to add some behaviour β†’ add them in a wibox like any other awesome widget. and yes, flaw and awful gadgets can live together in perfect harmony 🫢. the complete flaw documentation is available in Luadoc format, and you can generate it by entering the following command:

LUA_PATH="path_toflaw/doclet/html/?;;" luadoc -d html --nofiles *.lua

🩺 DIAGNOSTICS 🩺

flaw tries to recover upon bad invocations (she's forgiving like that πŸ’–). when something wrong occurs, it outputs warning or error messages to stderr. for example, if awesome was started with xsession, the output will be found in ~/.xsession-errors.


πŸ’€ BUGS πŸ’€

Certainly a lot.

(not me quoting the manpage verbatim, but bestie that's literally what it says 😭 the self-awareness is unmatched)


πŸ‘‘ AUTHOR πŸ‘‘

David Soulayrol <david.soulayrol at gmail dot net>


πŸ¦‹ SEE ALSO πŸ¦‹


and that's the whole page, bestie!! this lil gem is from FEBRUARY 2009, manual page flaw(7) from the Miscellaneous Information Manual. go forth and make your widgets gorgeous πŸ’…βœ¨πŸŽ€