2018-10-21 10:49:31 +02:00
|
|
|
# Vicious
|
|
|
|
|
2014-01-01 13:47:29 +01:00
|
|
|
Vicious is a modular widget library for window managers, but mostly
|
2018-10-21 10:49:31 +02:00
|
|
|
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
|
2019-09-18 10:52:45 +02:00
|
|
|
types, a few of them rewritten, and a good number of new ones.
|
2011-11-27 13:42:43 +01:00
|
|
|
|
2014-01-01 13:47:29 +01:00
|
|
|
Vicious widget types are a framework for creating your own
|
2011-11-27 13:42:43 +01:00
|
|
|
widgets. Vicious contains modules that gather data about your system,
|
2018-10-21 10:49:31 +02:00
|
|
|
and a few *awesome* helper functions that make it easier to register
|
2017-01-25 18:01:08 +01:00
|
|
|
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
|
|
|
|
description).
|
2011-11-27 13:42:43 +01:00
|
|
|
|
2019-09-18 10:52:45 +02:00
|
|
|
|
2018-10-21 10:49:31 +02:00
|
|
|
## Usage examples
|
2011-11-27 13:42:43 +01:00
|
|
|
|
2018-10-21 10:49:31 +02:00
|
|
|
Start with a simple widget, like `date`. Then build your setup from
|
2011-11-27 13:42:43 +01:00
|
|
|
there, one widget at a time. Also remember that besides creating and
|
2018-10-21 10:49:31 +02:00
|
|
|
registering widgets you have to add them to a `wibox` (statusbar) in
|
2011-11-27 13:42:43 +01:00
|
|
|
order to actually display them.
|
|
|
|
|
2018-10-21 10:49:31 +02:00
|
|
|
### Date widget
|
|
|
|
|
|
|
|
Update every 2 seconds (the default interval), use standard date sequences as
|
|
|
|
the format string:
|
2011-11-27 13:42:43 +01:00
|
|
|
|
2018-10-21 10:49:31 +02:00
|
|
|
```lua
|
|
|
|
datewidget = wibox.widget.textbox()
|
|
|
|
vicious.register(datewidget, vicious.widgets.date, "%b %d, %R")
|
2011-12-17 09:19:29 +01:00
|
|
|
```
|
2011-11-27 13:42:43 +01:00
|
|
|
|
2018-10-21 10:49:31 +02:00
|
|
|
### Memory widget
|
2011-11-27 13:42:43 +01:00
|
|
|
|
2018-10-21 10:49:31 +02:00
|
|
|
Update every 13 seconds, append `MiB` to 2nd and 3rd returned values and
|
|
|
|
enables caching.
|
2011-11-27 13:42:43 +01:00
|
|
|
|
2018-10-21 10:49:31 +02:00
|
|
|
```lua
|
|
|
|
memwidget = wibox.widget.textbox()
|
|
|
|
vicious.cache(vicious.widgets.mem)
|
|
|
|
vicious.register(memwidget, vicious.widgets.mem, "$1 ($2MiB/$3MiB)", 13)
|
2011-12-17 09:19:29 +01:00
|
|
|
```
|
2011-11-27 13:42:43 +01:00
|
|
|
|
2018-10-21 10:49:31 +02:00
|
|
|
### HDD temperature widget
|
2011-11-27 13:42:43 +01:00
|
|
|
|
2018-10-21 10:49:31 +02:00
|
|
|
Update every 19 seconds, request the temperature level of the /dev/sda and
|
|
|
|
append *°C* to the returned value. Since the listening port is not provided,
|
|
|
|
default one is used.
|
2011-11-27 13:42:43 +01:00
|
|
|
|
2018-10-21 10:49:31 +02:00
|
|
|
```lua
|
|
|
|
hddtempwidget = wibox.widget.textbox()
|
|
|
|
vicious.register(hddtempwidget, vicious.widgets.hddtemp, "${/dev/sda} °C", 19)
|
2011-12-17 09:19:29 +01:00
|
|
|
```
|
2011-11-27 13:42:43 +01:00
|
|
|
|
2018-10-21 10:49:31 +02:00
|
|
|
### Mbox widget
|
2011-11-27 13:42:43 +01:00
|
|
|
|
2018-10-21 10:49:31 +02:00
|
|
|
Updated every 5 seconds, provide full path to the mbox as argument:
|
2011-11-27 13:42:43 +01:00
|
|
|
|
2018-10-21 10:49:31 +02:00
|
|
|
```lua
|
|
|
|
mboxwidget = wibox.widget.textbox()
|
|
|
|
vicious.register(mboxwidget, vicious.widgets.mbox, "$1", 5,
|
|
|
|
"/home/user/mail/Inbox")
|
2011-12-17 09:19:29 +01:00
|
|
|
```
|
2011-11-27 13:42:43 +01:00
|
|
|
|
2018-10-21 10:49:31 +02:00
|
|
|
### Battery widget
|
|
|
|
|
|
|
|
Update every 61 seconds, request the current battery charge level and displays
|
|
|
|
a progressbar, provides `"BAT0"` as battery ID:
|
2011-11-27 13:42:43 +01:00
|
|
|
|
2017-04-01 21:44:56 +02:00
|
|
|
```lua
|
2018-10-21 10:49:31 +02:00
|
|
|
batwidget = wibox.widget.progressbar()
|
|
|
|
|
|
|
|
-- Create wibox with batwidget
|
|
|
|
batbox = wibox.layout.margin(
|
|
|
|
wibox.widget{{max_value = 1, widget = batwidget,
|
|
|
|
border_width = 0.5, border_color = "#000000",
|
|
|
|
color = {type = "linear",
|
|
|
|
from = {0, 0},
|
|
|
|
to = {0, 30},
|
|
|
|
stops = {{0, "#AECF96"}, {1, "#FF5656"}}}},
|
|
|
|
forced_height = 10, forced_width = 8,
|
|
|
|
direction = 'east', color = beautiful.fg_widget,
|
|
|
|
layout = wibox.container.rotate},
|
|
|
|
1, 1, 3, 3)
|
|
|
|
|
|
|
|
-- Register battery widget
|
|
|
|
vicious.register(batwidget, vicious.widgets.bat, "$2", 61, "BAT0")
|
2011-12-17 09:19:29 +01:00
|
|
|
```
|
2018-10-21 10:49:31 +02:00
|
|
|
|
|
|
|
### CPU usage widget
|
|
|
|
|
|
|
|
Update every 3 seconds, feed the graph with total usage percentage of all
|
|
|
|
CPUs/cores:
|
|
|
|
|
|
|
|
```lua
|
|
|
|
cpuwidget = awful.widget.graph()
|
|
|
|
cpuwidget:set_width(50)
|
|
|
|
cpuwidget:set_background_color"#494B4F"
|
|
|
|
cpuwidget:set_color{type = "linear", from = {0, 0}, to = {50, 0},
|
|
|
|
stops = {{0, "#FF5656"}, {0.5, "#88A175"}, {1, "#AECF96"}}}
|
|
|
|
vicious.register(cpuwidget, vicious.widgets.cpu, "$1", 3)
|
2011-12-17 09:19:29 +01:00
|
|
|
```
|
2011-11-27 13:42:43 +01:00
|
|
|
|
2019-09-18 10:52:45 +02:00
|
|
|
|
2019-10-16 09:42:31 +02:00
|
|
|
## Contributing
|
|
|
|
|
|
|
|
For details, see CONTRIBUTING.md. Vicious is licensed under GNU GPLv2+,
|
|
|
|
which require all code within the package to be released under
|
|
|
|
a compatible license. All contributors retain their copyright to their code,
|
|
|
|
so please make sure you add your name to the header of every file you touch.
|
|
|
|
|
|
|
|
|
2020-09-07 15:43:25 +02:00
|
|
|
## Copying
|
|
|
|
|
|
|
|
Vicious is free software: you can redistribute it and/or modify
|
|
|
|
it under the terms of the GNU General Public License as
|
|
|
|
published by the Free Software Foundation, either version 2 of the
|
|
|
|
License, or (at your option) any later version.
|
|
|
|
|
|
|
|
Please refer to our documentation for the full [list of authors].
|
|
|
|
|
|
|
|
|
|
|
|
[list of authors]: https://vicious.rtfd.io/copying.html
|