vicious/contrib
Normal Ra 2641bf8004 contrib: add Open Weather and ATi graphics widget types
These were contributed by one of the users, and remain untested by me.

Signed-off-by: Adrian C. (anrxc) <anrxc@sysphere.org>
2013-11-02 18:07:11 +01:00
..
README contrib: add Open Weather and ATi graphics widget types 2013-11-02 18:07:11 +01:00
ati.lua contrib: add Open Weather and ATi graphics widget types 2013-11-02 18:07:11 +01:00
batacpi.lua Ported vicious.contrib to lua 5.2 2012-06-18 01:27:53 +02:00
batpmu.lua Ported vicious.contrib to lua 5.2 2012-06-18 01:27:53 +02:00
batproc.lua Ported vicious.contrib to lua 5.2 2012-06-18 01:27:53 +02:00
buildbot.lua contrib: add buildbot monitoring widget 2012-09-02 12:37:18 +02:00
dio.lua Ported vicious.contrib to lua 5.2 2012-06-18 01:27:53 +02:00
init.lua contrib: initialization bugfix after lua52 port 2012-06-25 00:15:51 +02:00
mpc.lua Ported vicious.contrib to lua 5.2 2012-06-18 01:27:53 +02:00
net.lua Ported vicious.contrib to lua 5.2 2012-06-18 01:27:53 +02:00
netcfg.lua Ported vicious.contrib to lua 5.2 2012-06-18 01:27:53 +02:00
openweather.lua contrib: add Open Weather and ATi graphics widget types 2013-11-02 18:07:11 +01:00
ossvol.lua Ported vicious.contrib to lua 5.2 2012-06-18 01:27:53 +02:00
pop.lua Ported vicious.contrib to lua 5.2 2012-06-18 01:27:53 +02:00
pulse.lua Ported vicious.contrib to lua 5.2 2012-06-18 01:27:53 +02:00
rss.lua Ported vicious.contrib to lua 5.2 2012-06-18 01:27:53 +02:00
sensors.lua Ported vicious.contrib to lua 5.2 2012-06-18 01:27:53 +02:00

README

Contrib
-------
Contrib libraries, or widget types, are extra snippets of code you can
use. Some are for less common hardware, and other were contributed by
Vicious users. The contrib directory also holds widget types that were
obsoleted or rewritten. Contrib widgets will not be imported by init
unless you explicitly enable it, or load them in your rc.lua.


Usage within Awesome
--------------------
To use contrib widgets uncomment the line that loads them in
init.lua. Or you can load them in your rc.lua after you require
Vicious:

  vicious = require("vicious")
  vicious.contrib = require("vicious.contrib")


Widget types
------------
Most widget types consist of worker functions that take the "format"
argument given to vicious.register as the first argument, "warg" as
the second, and return a table of values to insert in the format
string. But we have not insisted on this coding style in contrib. So
widgets like PulseAudio have emerged that are different. These widgets
could also depend on Lua libraries that are not distributed with the
core Lua distribution. Ease of installation and use does not
necessarily have to apply to contributed widgets.

vicious.contrib.ati
  - provides various info about ATI GPU status
  - takes card ID as an argument, i.e. "card0" (and where possible,
    uses debugfs to gather data on radeon power management)
  - returns a table with string keys: {method}, {dpm_state},
    {dpm_perf_level}, {profile}, {engine_clock mhz}, {engine_clock khz},
    {memory_clock mhz}, {memory_clock khz}, {voltage v}, {voltage mv}

vicious.contrib.batacpi
  -

vicious.contrib.batpmu
  -

vicious.contrib.batproc
  -

vicious.contrib.dio
  - provides I/O statistics for requested storage devices
  - takes the disk as an argument, i.e. "sda" (or a specific
    partition, i.e. "sda/sda2")
  - returns a table with string keys: {total_s}, {total_kb}, {total_mb},
    {read_s}, {read_kb}, {read_mb}, {write_s}, {write_kb}, {write_mb}
    and {sched}

vicious.contrib.mpc
  -

vicious.contrib.netcfg
  -

vicious.contrib.net
  -

vicious.contrib.openweather
  - provides weather information for a requested city
  - takes OpenWeatherMap city ID as an argument, i.e. "1275339"
  - returns a table with string keys: {city}, {wind deg}, {wind aim},
    {wind kmh}, {wind mps}, {sky}, {weather}, {temp c}, {humid}, {press}

vicious.contrib.ossvol
  -

vicious.contrib.pop
  -

vicious.contrib.pulse
    - provides volume levels of requested pulseaudio sinks and
      functions to manipulate them
    - takes the name of a sink as an optional argument.  a number will
      be interpret as an index, if no argument is given, it will take
      the first-best
    - to get a list of available sinks use the command: pacmd
      list-sinks | grep 'name:'
    - returns 1st value as the volume level
  - vicious.contrib.pulse.add(percent, sink)
    - @percent is a number, which increments or decrements the volume
      level by its value in percent
    - @sink optional, same usage as in vicious.contrib.pulse
    - returns the exit status of pacmd
  - vicious.contrib.pulse.toggle(sink)
    - inverts the volume state (mute -> unmute; unmute -> mute)
    - @sink optional, same usage as in vicious.contrib.pulse
    - returns the exit status of pacmd

vicious.contrib.rss
  -

vicious.contrib.sensors
  -

vicious.contrib.buildbot
  - provides last build status for configured buildbot builders (http://trac.buildbot.net/)
  - returns build status in the format: [<builderName>.<currentBuildNumber>.<lastSuccessfulBuildNumber>]
  - if <currentBuildNumber> is the same as <lastSuccessfulBuildNumber> only one number is displayed
  - <buildNumber> colors: red - failed, green - successful, yellow - in progress
  - it depends on lua json parser (e.g. liblua5.1-json on Ubuntu 12.04)


Usage examples (for awesome v3.4)
---------------------------------
Pulse Audio widget
  vicious.register(vol, vicious.contrib.pulse, " $1%", 2, "alsa_output.pci-0000_00_1b.0.analog-stereo")
  vol:buttons(awful.util.table.join(
    awful.button({ }, 1, function () awful.util.spawn("pavucontrol") end),
    awful.button({ }, 4, function () vicious.contrib.pulse.add(5,"alsa_output.pci-0000_00_1b.0.analog-stereo") end),
    awful.button({ }, 5, function () vicious.contrib.pulse.add(-5,"alsa_output.pci-0000_00_1b.0.analog-stereo") end)
  ))

Buildbot widget
  local buildbotwidget = widget({ type = "textbox" })
  local buildbotwidget_warg = {
    {builder="coverage", url="http://buildbot.buildbot.net"},
    {builder="tarball-slave", url="http://buildbot.buildbot.net"}
  }
  vicious.register(buildbotwidget, vicious.contrib.buildbot, "$1,", 3600, buildbotwidget_warg)