Update changelog and contributor list in README.md

This commit is contained in:
Nguyễn Gia Phong 2019-09-18 15:52:45 +07:00
parent 518d59fae1
commit 5e7a5325f5
2 changed files with 81 additions and 23 deletions

View File

@ -28,6 +28,7 @@ Fixed:
* bat_openbsd * bat_openbsd
* volume, gmail, mdir, mpd, fs * volume, gmail, mdir, mpd, fs
- [mpd] Lua 5.3 compatibility (for real this time); also correct a typo - [mpd] Lua 5.3 compatibility (for real this time); also correct a typo
- [mbox] Update the deprecated `string.gfind` to `string.gmatch`
- [pkg,weather,contrib/btc] Allow function call without Awesome - [pkg,weather,contrib/btc] Allow function call without Awesome
- [pkg] Use more updated front-ends for Debian/Ubuntu (apt) and Fedora (dnf) - [pkg] Use more updated front-ends for Debian/Ubuntu (apt) and Fedora (dnf)
- [os] Splitted os_all into os_linux and os_bsd (and refactored to async) - [os] Splitted os_all into os_linux and os_bsd (and refactored to async)

103
README.md
View File

@ -3,9 +3,7 @@
Vicious is a modular widget library for window managers, but mostly Vicious is a modular widget library for window managers, but mostly
catering to users of the *awesome* window manager. It was derived from catering to users of the *awesome* window manager. It was derived from
the old *Wicked* widget library, and has some of the old *Wicked* widget the old *Wicked* widget library, and has some of the old *Wicked* widget
types, a few of them rewritten, and a good number of new ones: types, a few of them rewritten, and a good number of new ones.
* https://github.com/vicious-widgets/vicious
Vicious widget types are a framework for creating your own Vicious widget types are a framework for creating your own
widgets. Vicious contains modules that gather data about your system, widgets. Vicious contains modules that gather data about your system,
@ -14,12 +12,13 @@ timers, suspend widgets and so on. Vicious doesn't depend on any third party
Lua libraries, but may depend on additional system utilities (see widget Lua libraries, but may depend on additional system utilities (see widget
description). description).
## Usage ## Usage
When provided by an operating system package, or installed from source When provided by an operating system package, or installed from source
into the Lua library path Vicious can be used as a regular Lua 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 library, to be used stand-alone or to feed widgets of any window
manager (e.g. Ion, WMII). It is compatible with both Lua v5.1 and v5.2. manager (e.g. Ion, WMII). It is compatible with Lua version 5.1 and above.
```lua ```lua
> widgets = require("vicious.widgets.init") > widgets = require("vicious.widgets.init")
@ -27,6 +26,7 @@ manager (e.g. Ion, WMII). It is compatible with both Lua v5.1 and v5.2.
100 100
``` ```
## Usage within Awesome ## Usage within Awesome
To use Vicious with Awesome, install the package from your operating To use Vicious with Awesome, install the package from your operating
@ -34,6 +34,7 @@ system provider, or download the source code and move it to your
awesome configuration directory in `$XDG_CONFIG_HOME` (usually `~/.config`): awesome configuration directory in `$XDG_CONFIG_HOME` (usually `~/.config`):
```bash ```bash
$ git clone https://github.com/vicious-widgets/vicious.git
$ mv vicious $XDG_CONFIG_HOME/awesome/ $ mv vicious $XDG_CONFIG_HOME/awesome/
``` ```
@ -47,17 +48,19 @@ Then add the following to the top of your `rc.lua`:
local vicious = require("vicious") local vicious = require("vicious")
``` ```
### Register a widget
Once you create a widget (a textbox, graph or a progressbar) call Once you create a widget (a textbox, graph or a progressbar) call
`vicious.register()` to register it with Vicious: `vicious.register()` to register it with Vicious:
vicious.register(widget, wtype, format, interval, warg) vicious.register(widget, wtype, format, interval, warg)
### widget #### widget
*Awesome* widget created with `widget()` or `awful.widget()` (in case of a *Awesome* widget created with `widget()` or `awful.widget()` (in case of a
graph or a progressbar). graph or a progressbar).
### wtype #### wtype
Type: Vicious widget or `function`: Type: Vicious widget or `function`:
@ -66,7 +69,7 @@ Type: Vicious widget or `function`:
* function: custom function from your own *Awesome* configuration can be * function: custom function from your own *Awesome* configuration can be
registered as widget types (see [Custom widget types](#custom-widget)). registered as widget types (see [Custom widget types](#custom-widget)).
### format #### format
Type: `string` or `function`: Type: `string` or `function`:
@ -77,17 +80,15 @@ Type: `string` or `function`:
* `function (widget, args)` can be used to manipulate data returned by the * `function (widget, args)` can be used to manipulate data returned by the
widget type (see [Format functions](#format-func)). widget type (see [Format functions](#format-func)).
### interval #### interval
Number of seconds between updates of the widget (default: 2). Read section Number of seconds between updates of the widget (default: 2). Read section
[Power and Caching](#power) for more information. [Power and Caching](#power) for more information.
### warg #### warg
Some widget types require an argument to be passed, for example the battery ID. Some widget types require an argument to be passed, for example the battery ID.
## Other functions
`vicious.register` alone is not much different from `vicious.register` alone is not much different from
[awful.widget.watch](https://awesomewm.org/doc/api/classes/awful.widget.watch.html), [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 which has been added to Awesome since version 4.0. However, Vicious offers more
@ -131,6 +132,7 @@ Enable caching of values returned by a widget type.
Fetch data from `wtype` to use it outside from the wibox Fetch data from `wtype` to use it outside from the wibox
([example](#call-example)). ([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
@ -370,9 +372,11 @@ Supported platforms: platform independent (required tools: `curl`).
* Argument: an array including password, hostname and port in that order. `nil` * Argument: an array including password, hostname and port in that order. `nil`
fields will be fallen back to default (`localhost:6600` without password). fields will be fallen back to default (`localhost:6600` without password).
* Returns a table with string keys: `${volume}`, `${bitrate}`, `${elapsed}` (in seconds), * Returns a table with string keys: `${volume}`, `${bitrate}`,
`${duration}` (in seconds), `${Elapsed}` (formatted as [hh:]mm:ss), `${Duration}` (formatted as [hh:]mm:ss), `${elapsed}` (in seconds), `${duration}` (in seconds),
`${Progress}` (in percentage), ${random}`, `${repeat}`, `${state}`, `${Artist}`, `${Title}`, `${Album}`, `${Elapsed}` (formatted as [hh:]mm:ss),
`${Duration}` (formatted as [hh:]mm:ss), `${Progress}` (in percentage),
`${random}`, `${repeat}`, `${state}`, `${Artist}`, `${Title}`, `${Album}`,
`${Genre}` and optionally `${Name}` and `${file}`. `${Genre}` and optionally `${Name}` and `${file}`.
### vicious.widgets.net ### vicious.widgets.net
@ -543,6 +547,7 @@ Supported platforms: GNU/Linux.
`${rate}` (Mb/s), `${freq}` (MHz), `${linp}` (link quality in percent), `${rate}` (Mb/s), `${freq}` (MHz), `${linp}` (link quality in percent),
`${txpw}` (transmission power, in dBm) and `${sign}` (signal level, in dBm) `${txpw}` (transmission power, in dBm) and `${sign}` (signal level, in dBm)
## <a name="custom-widget"></a>Custom widget types ## <a name="custom-widget"></a>Custom widget types
Use any of the existing widget types as a starting point for your Use any of the existing widget types as a starting point for your
@ -628,6 +633,7 @@ Users of GnuPG (and its agent) could consider encrypting the netrc
file with their GPG key. Trough the GPG Passphrase Agent they could file with their GPG key. Trough the GPG Passphrase Agent they could
then decrypt the file transparently while their session is active. then decrypt the file transparently while their session is active.
## Usage examples ## Usage examples
Start with a simple widget, like `date`. Then build your setup from Start with a simple widget, like `date`. Then build your setup from
@ -716,6 +722,7 @@ cpuwidget:set_color{type = "linear", from = {0, 0}, to = {50, 0},
vicious.register(cpuwidget, vicious.widgets.cpu, "$1", 3) vicious.register(cpuwidget, vicious.widgets.cpu, "$1", 3)
``` ```
## <a name="format-func"></a>Format functions ## <a name="format-func"></a>Format functions
You can use a function instead of a string as the format parameter. You can use a function instead of a string as the format parameter.
@ -846,6 +853,7 @@ mybattery:buttons(awful.util.table.join(
end))) end)))
``` ```
## See also ## See also
* Manual pages: [awesome(1)](https://awesomewm.org/doc/manpages/awesome), * Manual pages: [awesome(1)](https://awesomewm.org/doc/manpages/awesome),
@ -855,6 +863,7 @@ mybattery:buttons(awful.util.table.join(
(outdated) (outdated)
* [My first awesome](https://awesomewm.org/doc/api/documentation/07-my-first-awesome.md.html) * [My first awesome](https://awesomewm.org/doc/api/documentation/07-my-first-awesome.md.html)
## Authors ## Authors
Wicked was written by: Wicked was written by:
@ -872,15 +881,63 @@ Current maintainers:
* Daniel Hahler (blueyed) \<github thequod.de\> * Daniel Hahler (blueyed) \<github thequod.de\>
* Nguyễn Gia Phong (McSinyx) \<vn.mcsinyx gmail.com\> * Nguyễn Gia Phong (McSinyx) \<vn.mcsinyx gmail.com\>
Vicious major contributors: Contributors, listed in alphabetic order:
* Benedikt Sauer \<filmor gmail.com\> * 0x5b \<dragen15051 gmail.com\>
* Greg D. \<jabbas jabbas.pl\> * Adam Lee \<adam8157 gmail.com\>
* Henning Glawe \<glaweh debian.org\> * Alexander Koch \<lynix47 gmail.com\>
* Rémy C. \<shikamaru mandriva.org\> * Amir Mohammad Saied \<amirsaied gmail.com\>
* Hiltjo Posthuma \<hiltjo codemadness.org\> * Andrea Scarpino \<me andreascarpino.it\>
* Hagen Schink \<troja84 googlemail.com\> * Andreas Geisenhainer \<psycorama datenhalde.de\>
* Andrew Merenbach \<andrew merenbach.com\>
* Andrzej Bieniek \<andyhelp gmail.com\>
* Arthur Axel 'fREW' Schmidt \<git frew.co\>
* Arvydas Sidorenko \<asido4 gmail.com\> * Arvydas Sidorenko \<asido4 gmail.com\>
* Benedikt Sauer \<filmor gmail.com\>
* Beniamin Kalinowski \<beniamin.kalinowski gmail.com\>
* Benoît Zugmeyer \<bzugmeyer gmail.com\>
* blastmaster \<blastmaster tuxcode.org\>
* Brandon Hartshorn \<brandonhartshorn gmail.com\>
* crondog \<patches crondog.com\>
* David Udelson \<dru5 cornell.edu\>
* Dodo The Last \<dodo.the.last gmail.com\> * Dodo The Last \<dodo.the.last gmail.com\>
* … * Elric Milon \<whirm gmx.com\>
* Consult git log for a complete list of contributors * Enric Morales \<me enric.me\>
* getzze \<getzze gmail.com\>
* Greg D. \<jabbas jabbas.pl\>
* Hagen Schink \<troja84 googlemail.com\>
* Henning Glawe \<glaweh debian.org\>
* Hiltjo Posthuma \<hiltjo codemadness.org\>
* [James Reed](https://github.com/supplantr)
* Jay Kamat \<jaygkamat gmail.com\>
* Jeremy \<jeremy.sainvil gmaill.com\>
* jinleileiking \<jinleileiking gmail.com\>
* joe di castro \<joe joedicastro.com\>
* Joerg Jaspert \<joerg debian.org\>
* Jonathan McCrohan \<jmccrohan gmail.com\>
* [Juan Carlos Menonita](https://github.com/JuanKman94)
* Juergen Descher \<jhdl gmx.net\>
* Julian Volodia \<julianvolodia gmail.com\>
* Keith Hughitt \<keith.hughitt gmail.com\>
* Lorenzo Gaggini \<lg lgaggini.net\>
* Lyderic Lefever \<lyderic.lefever gmail.com\>
* Martin Striz \<striz raynet.cz\>
* Martin Ueding \<dev martin-ueding.de\>
* Mellich \<mellich gmx.net\>
* Michael Kressibucher \<mkressibucher hotmail.com\>
* Michael Unterkalmsteiner \<miciu gmx.de\>
* niko \<nikomomo gmail.com\>
* Noah Tilton \<code tilton.co\>
* Normal Ra \<normalrawr gmail.com\>
* Perry Hargrave \<perry.hargrave gmail.com\>
* Rémy CLOUARD \<shikamaru shikamaru.fr\>
* [Roberto](https://github.com/empijei)
* Sébastien Luttringer \<seblu seblu.net\>
* Shadowmourne G \<s10e live.com\>
* starenka \<starenka0 gmail.com\>
* Suseika \<wlasowegor gmail.com\>
* Uli Schlachter \<psychon znc.in\>
* Wtfcoder \<matt mattfreeman.co.uk\>
* Xaver Hellauer \<xaver hellauer.bayern\>
* zhrtz \<apaterson scramble.io\>
* And many others