Not updated for various reasons:
clock,
dpms,
gpu_temp,
load,
mail,
mem_bar,
modsde,
net_speed,
pianobar,
pulseaudio,
regex [no named formatters],
runwatch,
shell,
solaar,
temp,
text,
updates,
weather,
whosonlocation,
xkblayout,
zabbix
This might break something: I can't test all these modules. If it does,
file a bug / open a PR / send me a note.
None is now a choice for lower_limit and upper_limit as well, so that
the graph can scale as before.
For cpu_usage_graph and network, rather than exposing lower_limit
in the interface, 0.0 is used as a default, since it is already
used implicitly when choosing colors.
added 'braille-peak' and 'braille-snake'. 'braille-peak'
renders only the top point, and 'braille-snake' fills some in.
I should have stressed earlier that I only got the braille drawing ideas
after coming across drawille ( https://github.com/asciimoo/drawille ).
This commit removes and replaces all the old methods 'on_*' by settings
with the same name. The old methods were renamed into more explicit names that can be used for the callbacks like "next_song","mute" etc...
For instance, you can test with:
status.register("clock",
format=[
("Format 0",'Europe/London'),
("%a %-d Format 1",'Europe/Dublin'),
"%a %-d %b %X format 2",
("%a %-d %b %X format 3", 'Europe/Paris'),
],
on_leftclick= ["urxvtc"] , # launch urxvtc on left click
on_rightclick= ["scroll_format", 2] , # update format by steps of 2
log_level=logging.DEBUG,
)
This way much code could be removed from other modules, though I did it only for the clock module here.
The "network" and "wireless" modules now support interfaces enslaved to
a bonding master. We check sysfs for bonded interfaces, and update each
slave's AF_INET/AF_INET6 from its master.
Use a Try... Except... block instead of a function flag when checking
for the MAC address. This has the benefit of requiring no changes for
user, but fixes the problem with interfaces that do not have MACs.
Network interfaces don't necessarily have a MAC address. For example,
the tunnel devices created by OpenVPN do not. Previously, passing a
network interface that did not have a MAC address caused the network
module to fail, since it assumed that there would be one.
This commit just adds a flag to the network module "mac", which defaults
to True. If True, the module behaves like before. If False, the check
for the MAC address is skipped and the {mac} format variable is replaced
with "NONE".
I tested this with my OpenVPN interface as well as my regular interface
and it works fine.