[docs] Move basic instructions from README
This commit is contained in:
parent
b7d08fc84b
commit
2a8f987b22
120
README.md
120
README.md
|
@ -13,126 +13,6 @@ Lua libraries, but may depend on additional system utilities (see widget
|
||||||
description).
|
description).
|
||||||
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
When provided by an operating system package, or installed from source
|
|
||||||
into the Lua library path Vicious, can be used as a regular Lua
|
|
||||||
library, to be used stand-alone or to feed widgets of any window
|
|
||||||
manager (e.g. Ion, WMII). It is compatible with Lua version 5.1 and above.
|
|
||||||
|
|
||||||
```lua
|
|
||||||
> widgets = require("vicious.widgets.init")
|
|
||||||
> print(widgets.volume(nil, "Master")[1])
|
|
||||||
100
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
## Usage within Awesome
|
|
||||||
|
|
||||||
To use Vicious with Awesome, install the package from your operating
|
|
||||||
system provider, or download the source code and move it to your
|
|
||||||
awesome configuration directory in `$XDG_CONFIG_HOME` (usually `~/.config`):
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ git clone https://github.com/vicious-widgets/vicious.git
|
|
||||||
$ mv vicious $XDG_CONFIG_HOME/awesome/
|
|
||||||
```
|
|
||||||
|
|
||||||
Vicious will only load modules for widget types you intend to use in
|
|
||||||
your awesome configuration, to avoid having useless modules sitting in
|
|
||||||
your memory.
|
|
||||||
|
|
||||||
Then add the following to the top of your `rc.lua`:
|
|
||||||
|
|
||||||
```lua
|
|
||||||
local vicious = require("vicious")
|
|
||||||
```
|
|
||||||
|
|
||||||
### Register a widget
|
|
||||||
|
|
||||||
Once you create a widget (a textbox, graph or a progressbar) call
|
|
||||||
`vicious.register()` to register it with Vicious:
|
|
||||||
|
|
||||||
vicious.register(widget, wtype, format, interval, warg)
|
|
||||||
|
|
||||||
#### widget
|
|
||||||
|
|
||||||
*Awesome* widget created with `widget()` or `awful.widget()` (in case of a
|
|
||||||
graph or a progressbar).
|
|
||||||
|
|
||||||
#### wtype
|
|
||||||
|
|
||||||
Type: Vicious widget or `function`:
|
|
||||||
|
|
||||||
* Vicious widget type: any of the available (default, or custom)
|
|
||||||
[widget type provided by Vicious](#widgets).
|
|
||||||
* function: custom function from your own *Awesome* configuration can be
|
|
||||||
registered as widget types (see [Custom widget types](#custom-widget)).
|
|
||||||
|
|
||||||
#### format
|
|
||||||
|
|
||||||
Type: `string` or `function`:
|
|
||||||
|
|
||||||
* string: `$key` will be replaced by respective value in the table `t` returned
|
|
||||||
by the widget type. I.e. use `$1`, `$2`, etc. to retrieve data from an
|
|
||||||
integer-indexed table (a.k.a. array); `${foo bar}` will be substituted by
|
|
||||||
`t["{foo bar}"]`.
|
|
||||||
* `function (widget, args)` can be used to manipulate data returned by the
|
|
||||||
widget type (see [Format functions](#format-func)).
|
|
||||||
|
|
||||||
#### interval
|
|
||||||
|
|
||||||
Number of seconds between updates of the widget (default: 2). Read section
|
|
||||||
[Power and Caching](#power) for more information.
|
|
||||||
|
|
||||||
#### warg
|
|
||||||
|
|
||||||
Some widget types require an argument to be passed, for example the battery ID.
|
|
||||||
|
|
||||||
`vicious.register` alone is not much different from
|
|
||||||
[awful.widget.watch](https://awesomewm.org/doc/api/classes/awful.widget.watch.html),
|
|
||||||
which has been added to Awesome since version 4.0. However, Vicious offers more
|
|
||||||
advanced control of widgets' behavior by providing the following functions.
|
|
||||||
|
|
||||||
### Unregister a widget
|
|
||||||
|
|
||||||
vicious.unregister(widget, keep)
|
|
||||||
|
|
||||||
If `keep == true`, `widget` will be suspended and wait for activation.
|
|
||||||
|
|
||||||
### Suspend all widgets
|
|
||||||
|
|
||||||
vicious.suspend()
|
|
||||||
|
|
||||||
See [example automation script](http://sysphere.org/~anrxc/local/sources/lmt-vicious.sh)
|
|
||||||
for the "laptop-mode-tools" start-stop module.
|
|
||||||
|
|
||||||
### Restart suspended widgets
|
|
||||||
|
|
||||||
vicious.activate(widget)
|
|
||||||
|
|
||||||
If `widget` is provided only that widget will be activated.
|
|
||||||
|
|
||||||
### Enable caching of a widget type
|
|
||||||
|
|
||||||
vicious.cache(wtype)
|
|
||||||
|
|
||||||
Enable caching of values returned by a widget type.
|
|
||||||
|
|
||||||
### Force update of widgets
|
|
||||||
|
|
||||||
vicious.force(wtable)
|
|
||||||
|
|
||||||
`wtable` is a table of one or more widgets to be updated.
|
|
||||||
|
|
||||||
### Get data from a widget
|
|
||||||
|
|
||||||
vicious.call(wtype, format, warg)
|
|
||||||
|
|
||||||
Fetch data from `wtype` to use it outside from the wibox
|
|
||||||
([example](#call-example)).
|
|
||||||
|
|
||||||
|
|
||||||
## <a name="widgets"></a>Widget types
|
## <a name="widgets"></a>Widget types
|
||||||
|
|
||||||
Widget types consist of worker functions that take two arguments `format` and
|
Widget types consist of worker functions that take two arguments `format` and
|
||||||
|
|
|
@ -16,6 +16,8 @@ library, but may depend on additional system utilities.
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
:caption: Contents:
|
:caption: Contents:
|
||||||
|
|
||||||
|
usage-lua
|
||||||
|
usage-awesome
|
||||||
copying
|
copying
|
||||||
|
|
||||||
Indices and tables
|
Indices and tables
|
||||||
|
|
|
@ -0,0 +1,117 @@
|
||||||
|
Usage within Awesome
|
||||||
|
====================
|
||||||
|
|
||||||
|
To use Vicious with Awesome, install the package from your operating system
|
||||||
|
provider, or download the source code and move it to your awesome
|
||||||
|
configuration directory in ``$XDG_CONFIG_HOME`` (usually ``~/.config``)::
|
||||||
|
|
||||||
|
git clone https://github.com/vicious-widgets/vicious.git
|
||||||
|
mv vicious $XDG_CONFIG_HOME/awesome/
|
||||||
|
|
||||||
|
Vicious will only load modules for widget types you intend to use in
|
||||||
|
your awesome configuration, to avoid having useless modules sitting in
|
||||||
|
your memory.
|
||||||
|
|
||||||
|
Then add the following to the top of your ``rc.lua``:
|
||||||
|
|
||||||
|
.. code-block:: lua
|
||||||
|
|
||||||
|
local vicious = require("vicious")
|
||||||
|
|
||||||
|
Register a Widget
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
Once you create a widget (a textbox, graph or a progressbar) call
|
||||||
|
``vicious.register()`` to register it with Vicious::
|
||||||
|
|
||||||
|
vicious.register(widget, wtype, format, interval, warg)
|
||||||
|
|
||||||
|
``widget``
|
||||||
|
Awesome_ widget created with ``widget()`` or ``awful.widget()``
|
||||||
|
(in case of a graph or a progressbar).
|
||||||
|
|
||||||
|
``wtype`` of type Vicious widget or ``function``
|
||||||
|
* Vicious widget type: any of the available (default, or custom)
|
||||||
|
[widget type provided by Vicious](#widgets).
|
||||||
|
* function: custom function from your own *Awesome* configuration can be
|
||||||
|
registered as widget types (see [Custom widget types](#custom-widget)).
|
||||||
|
|
||||||
|
``format`` of type ``string`` or ``function``
|
||||||
|
* string: ``$key`` will be replaced by respective value in the table ``t``
|
||||||
|
returned by the widget type. I.e. use ``$1``, ``$2``, etc. to retrieve data
|
||||||
|
from an integer-indexed table (a.k.a. array); ``${foo bar}`` will be
|
||||||
|
substituted by ``t["{foo bar}"]``.
|
||||||
|
* ``function (widget, args)`` can be used to manipulate data returned by the
|
||||||
|
widget type (see [Format functions](#format-func)).
|
||||||
|
|
||||||
|
``interval``
|
||||||
|
Number of seconds between updates of the widget (default: 2).
|
||||||
|
Read section [Power and Caching](#power) for more information.
|
||||||
|
|
||||||
|
``warg``
|
||||||
|
Arguments to be passed to widget types, e.g. the battery ID.
|
||||||
|
|
||||||
|
``vicious.register`` alone is not much different from awful.widget.watch_,
|
||||||
|
which has been added to Awesome since version 4.0. However, Vicious offers
|
||||||
|
more advanced control of widgets' behavior by providing the following functions.
|
||||||
|
|
||||||
|
Unregister a Widget
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
vicious.unregister(widget, keep)
|
||||||
|
|
||||||
|
If ``keep == true``, ``widget`` will be suspended and wait for activation.
|
||||||
|
|
||||||
|
Suspend All Widgets
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
vicious.suspend()
|
||||||
|
|
||||||
|
See `example automation script`_ for the "laptop-mode-tools" start-stop module.
|
||||||
|
|
||||||
|
Restart Suspended Widgets
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
vicious.activate(widget)
|
||||||
|
|
||||||
|
If ``widget`` is provided only that widget will be activated.
|
||||||
|
|
||||||
|
Enable Caching of a Widget Type
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
vicious.cache(wtype)
|
||||||
|
|
||||||
|
Enable caching of values returned by a widget type.
|
||||||
|
|
||||||
|
Force update of widgets
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
vicious.force(wtable)
|
||||||
|
|
||||||
|
where ``wtable`` is a table of one or more widgets to be updated.
|
||||||
|
|
||||||
|
Get Data from a Widget
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
vicious.call(wtype, format, warg)
|
||||||
|
|
||||||
|
Fetch data from ``wtype`` to use it outside from the wibox
|
||||||
|
([example](#call-example)).
|
||||||
|
|
||||||
|
.. _Awesome: https://awesomewm.org/
|
||||||
|
.. _awful.widget.watch:
|
||||||
|
https://awesomewm.org/doc/api/classes/awful.widget.watch.html
|
||||||
|
.. _example automation script:
|
||||||
|
http://sysphere.org/~anrxc/local/sources/lmt-vicious.sh
|
|
@ -0,0 +1,15 @@
|
||||||
|
Usage as a Lua Library
|
||||||
|
======================
|
||||||
|
|
||||||
|
When provided by an operating system package, or installed from source
|
||||||
|
into the Lua library path, Vicious can be used as a regular Lua_ library,
|
||||||
|
to be used stand-alone or to feed widgets of any window manager
|
||||||
|
(e.g. Ion, WMII). It is compatible with Lua 5.1 and above.
|
||||||
|
|
||||||
|
.. code-block:: lua
|
||||||
|
|
||||||
|
> widgets = require("vicious.widgets.init")
|
||||||
|
> print(widgets.volume(nil, "Master")[1])
|
||||||
|
100
|
||||||
|
|
||||||
|
.. _Lua: https://www.lua.org/
|
Loading…
Reference in New Issue