Flaw/ru

Flaw это объектно-ориентированная Lua библиотека, обеспечивающая небольшую абстракцию над виджетами Awesome. Она направлена на простоту и эффективность в ресурсах. Flaw обеспечивается следующими концепциями.


 * gadgets
 * Чтобы добавить функциональность в виджеты Awesome, Flaw определяет объекты gadget, которые являются оберткой виджета. Все gadget имеют свойства(properties), события(events), механизм обновления и поставщик(provider) данных(см. ниже). Gadget может служить оболочкой для text boxes, image boxes, graphs или progress bars. Flaw обеспечивает множество gadget для общей информационной системы (такие как CPU, память или сетевая активность).


 * provider
 * Flaw старается минимизировать доступ к системе и обновления данных, поэтому получение данных передано провайдеру объектов(provider objects). Так как некоторые gadget могут обмениваться информацией, провайдеры могут иметь к ним доступ. Gadget могут обновлять их внешний вид по желанию, но провайдеры обновляются только при необходимости (т.е. когда gadget с наименьшей частотой обновления требует этого). В завершение, провайдеры могут получать нецикличную информацию, например события мыши.


 * events
 * События являются одним из пользовательских способов для модификации поведения или свойств gadget, при соблюдении некоторых условий. Событие состоит из триггера, который вычисляет условие и действие. Триггеры событий проверяются провайдерами каждый раз, при обновлении данных. И условие, и действие определяются пользователем.

Предупреждение
По сравнению с Obvious, Vicious и другими библиотеками виджетов, Flaw до сих пор разрабатывается одним человеком, и лишь изредка(в лучшем случае) тестируется. Эта библиотека доступна на его Git репозитории и всегда работает на последних версиях Awesome.

Установка Flaw
Flaw располагается по адресу https://github.com/dsoulayrol/flaw. Она поставляется с (довольно большой) документацией, которая доступна на http://david.soulayrol.name/en/projects/flaw. Имейте в виду, что Flaw зависит от lua-filesystem.