|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- # Usage
-
- Every lain widget is a table.
-
- A lain widget is generated by a `function`.
-
- The `function` signature, input and output arguments can be found in the [related wiki entry](https://github.com/lcpz/lain/wiki/Widgets#index).
-
- Every lain widget contains a `wibox.widget`, which is updated by a timed function. To access the widget, use the field `widget`, to access the timed function, use the field `update`. Some lain widgets may also have an `icon` field, which is a `wibox.widget.imagebox`, and/or a `timer` field, which is the `gears.timer` on `update`.
-
- Every `function` may take either a table or a list of variables as input.
-
- If the input is a table, you must define a function variable called `settings` in it. There you will be able to define `widget` appearance.
-
- For instance, if `widget` is a textbox, to markup it call `widget:set_markup(...)` within `settings`.
-
- In the scope of `settings` you can use predefined arguments, which are specified in the wiki entries.
-
- Example of a lain widget:
-
- ```lua
- local cpu = lain.widget.cpu {
- settings = function()
- widget:set_markup("Cpu " .. cpu_now.usage)
- end
- }
- -- to access the widget: cpu.widget
- ```
-
- Given the asynchronous nature of these widgets, be sure to use a [defensive programming](https://github.com/lcpz/lain/issues/451#issuecomment-615450523) style when you write your configuration. You can find various examples of this in [awesome-copycats](https://github.com/lcpz/awesome-copycats).
-
- # Index
-
- - [alsa](https://github.com/lcpz/lain/wiki/alsa)
- - [alsabar](https://github.com/lcpz/lain/wiki/alsabar)
- - [bat](https://github.com/lcpz/lain/wiki/bat)
- - [cal](https://github.com/lcpz/lain/wiki/cal)
- - [cpu](https://github.com/lcpz/lain/wiki/cpu)
- - [fs](https://github.com/lcpz/lain/wiki/fs)
- - [imap](https://github.com/lcpz/lain/wiki/imap)
- - [mem](https://github.com/lcpz/lain/wiki/mem)
- - [mpd](https://github.com/lcpz/lain/wiki/mpd)
- - [net](https://github.com/lcpz/lain/wiki/net)
- - [pulse](https://github.com/lcpz/lain/wiki/pulse)
- - [pulsebar](https://github.com/lcpz/lain/wiki/pulsebar)
- - [sysload](https://github.com/lcpz/lain/wiki/sysload)
- - [temp](https://github.com/lcpz/lain/wiki/temp)
- - [weather](https://github.com/lcpz/lain/wiki/weather)
-
- ## User contributions
-
- - [moc](https://github.com/lcpz/lain/wiki/moc)
- - [redshift](https://github.com/lcpz/lain/wiki/redshift)
- - [task](https://github.com/lcpz/lain/wiki/task)
- - [tp_smapi](https://github.com/lcpz/lain/wiki/tp_smapi)
|