vicious/contrib
Jörg Thalheim fd9814112a Merge branch 'master' of http://git.sysphere.org/vicious
Conflicts:
	init.lua
	widgets/dio.lua
2012-06-19 21:54:47 +02:00
..
README add wpa widget 2012-05-30 17:16:13 +02:00
ac.lua add ac plugin 2012-04-01 14:55:49 +02: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
countfiles.lua Rename widget sumup to countfiles 2011-10-25 20:47:39 +02:00
dio.lua Ported vicious.contrib to lua 5.2 2012-06-18 01:27:53 +02:00
init.lua Ported vicious.contrib to lua 5.2 2012-06-18 01:27:53 +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
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
wpa.lua add wpa widget 2012-05-30 17:16:13 +02:00

README

Contrib
-------
Contrib widgets are extra widgets 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.


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.ac
  - provide status about the power supply (AC)
  - takes the AC device as an argument, i.e "AC" or "ACAD"
  - the device is linked under /sys/class/power_supply/ and should
    have a file called "online"
  - if AC is connected, $1 returns "On", if not it returns "Off",
    if AC doesn't exist, $1 is "N/A"

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.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.wpa
- provides information about the wifi status
- requires 'wpa_cli' from wpa_supplicant
- takes the interface as an argument, i.e "wlan0" or "wlan1"
- returns a table with string keys: {ssid}, {qual}, {ip}, {bssid}


Usage examples
--------------
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)
  ))