+General usage
+-------------
+
Every widget is output by a `function`.
-Unless otherwise expressly noted, `function` returns a `wibox.widget.textbox`.
+For some widgets, `function` returns a `wibox.widget.textbox`, for others a table to be used for notification and update purposes.
+
+Every widget may take either a table or a list of variables as argument.
+
+If it takes a table, you have to define a function variable called `settings` in it, in order to make your customizations.
+
+To markup the textbox, call `widget:set_markup(...)` within `settings`.
+
+You can feed `set_markup` with predefined arguments, see the sections for all the details.
-We say this because, for some widget, `function` returns a table to be used for notification and update purposes.
+`widget` is a textbox, so you can threat it like any other `wibox.widget.textbox`.
-Almost all widgets can be set by an input function called `settings`: you can markup textboxes and do whatever customization within it.
+Here follows an example:
+
+ mycpu = lain.widgets.cpu({
+ timeout = 4,
+ settings = function()
+ widget:set_markup("Cpu " .. cpu_now.usage)
+ end
+ })
+
+If you want to see more complex applications, check [awesome-copycats](https://github.com/copycat-killer/awesome-copycats).
+
+Index
+-----
- [alsa](https://github.com/copycat-killer/lain/wiki/alsa)
- [alsabar](https://github.com/copycat-killer/lain/wiki/alsabar)
- [net](https://github.com/copycat-killer/lain/wiki/net)
- [sysload](https://github.com/copycat-killer/lain/wiki/sysload)
- [temp](https://github.com/copycat-killer/lain/wiki/temp)
-- [yawn](https://github.com/copycat-killer/lain/wiki/yawn)
\ No newline at end of file
+- [yawn](https://github.com/copycat-killer/lain/wiki/yawn)
+
+Users contributed
+----------------
+
+- [task](https://github.com/copycat-killer/lain/wiki/task)
\ No newline at end of file