README: usage examples are for awesome version 3.4
wifi: add support for /usr/bin binary path

Years ago iwconfig started its life in /sbin. Then some distributions
moved it to /usr/bin. Then in 2012 some projects started pushing for
deprecation of /usr/sbin and merging everything into /usr/bin.

We now search paths including /usr/bin for the iwconfig binary. This
is because sbin paths are not usually in non privileged user PATH, so
we help io.popen locate the binary on the file-system.

We do this search in the following way:
  - default to basename only, 'iwconfig' for the iwconfig variable
  - search paths one by one once and redeclare variable iwconfig with
    full path if binary is found in any
  - avoid searching paths on next execution if iwconfig variable
    already contains a path
Next release, tag 2.1.1
README: explain vicious is a generic WM widget library

Vicious can be used stand-alone, or to feed widgets in window managers
beside awesome. So why not provide it to a few Ion, or WMII, or i3 or
<foobar> users. Lua is the best thing since sliced bread.
mboxc: Fixed typo in setmetatable after ported to lua 5.2

Signed-off-by: Juergen Descher <jhdl@gmx.net>
Signed-off-by: Adrian C. (anrxc) <anrxc@sysphere.org>
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>
pkg: use checkupdates on Arch Linux.

It prints a list of pending updates without touching the system sync databases.

Signed-off-by: Adrian C. (anrxc) <anrxc@sysphere.org>
pkg: revert to pacman as default Arch method, checkupdates optional

Checkupdates is a good tool avoiding any need for period pacman -Sy
jobs from root crontab, however it works by maintaining its own
database in /tmp by default (and _that_ is a tmpfs by default) so on
every initialization it would stall awesome until it makes the first
sync. Better approach would be to keep its db inside $HOME for
persistence, and then to initiate the first (and longest) sync
manually before converting your package widgets to "Arch C".

All this is the reason I can't recommend it as the default right
now...
README: update awesome usage examples for v3.5

Signed-off-by: Adrian C. (anrxc) <anrxc@sysphere.org>
mpd: workaround command termination bug in mpd server v0.18

See Debian bug report #728982 for more information.

Signed-off-by: Adrian C. (anrxc) <anrxc@sysphere.org>
Revert "mpd: workaround command termination bug in mpd server v0.18"

This reverts commit a6a73f47, because the issue was solved in mpd
release 0.18.2. I imported the workaround for historical reasons and
in case someone gets stuck with version 0.18 on his preferred OS
distribution.
init: share timers when possible

We need time to give this a proper test with various usage scenarios;
multiple screens (and thus widget object instances), widgets
suspending and resuming and so on. Most benefits should come from
running on battery power (and if not suspending all widgets but
Battery it self on battery power), with less wake-ups.

Signed-off-by: Adrian C. (anrxc) <anrxc@sysphere.org>
README: enable caching in vicious.widgets.cpu example
README: explain wifi abbreviations linp and sign
bat: Use a real minus sign for the charging status

Previously, a simple hyphen (“-”) was used to show that the battery is
discharging. The minus sign is a distinct char, and also distinct from
the en-dash (“–”) and the em-dash (“—”).

With this commit, I put in a unicode “MINUS SIGN” (0x2212) which I
created with a Digraph in Vim `^k-2`.

Signed-off-by: Adrian C. (anrxc) <anrxc@sysphere.org>
weather: add support for dew point

Signed-off-by: Jonathan McCrohan <jmccrohan@gmail.com>
Signed-off-by: Adrian C. (anrxc) <anrxc@sysphere.org>
Revert "init: emit timeout instead of forced update"

This reverts commit 932bd8dfc because with shared timers feature from
commit 211d4509 shared timer emitting timeout can update all shared
objects.
init: stop allocating reg table functions with properties

This partly reverts commit f1844decefb because a user reported seeing
nil passed as the object to the reg.update() function.
README: write a list of major contributors to the project

Thank you all, and thanks very much to those who contributed only once
and are omitted from the documentation.
bat: expose information on battery wear and tear

Modern batteries should expose information about their design capacity
which we can compare to current capacity and deduce how much 'wear'
the battery got and expose that as a negative value percentage.

Feature sent in August took a while to convince the maintainer many
modern batteries provide this information.

Signed-off-by: Adrian C. (anrxc) <anrxc@sysphere.org>