Added another API endpoint, Added options to display country name, country code, city name and lat/long coordinates, attempt to handle failure to fetch info from API endpoints cleanly
I run the same bumblebee-status configuration on my laptop and my
workstation. On my laptop, the upower module works fine: it says "ac"
when plugged in, charging, all that stuff is great.
But on my workstation, it's completely broken: it thinks there's a
battery (which is a mistake: there is no battery at all, apart maybe
from the CMOS battery, but that's not covered by upower), and it
thinks it's discharged, which makes a very noisy warning in the bar.
Now maybe there's something wrong with dbus, Debian, the kernel,
Linux, or some thing else in the stack. All I know is that
`self.power.get_display_device()` returns something like a valid
dbus object here and from there it confuses the heck out of the
module.
So this just adds a function to check if the actual device we're
talking about is actually present, and bails earlier otherwise.
Before: battery logo and "0% 00:00m!", all marked as critical ("red")
After: "ac" with the plugged in logo, not marked critical ("black")
This replaces the previous normal spacing character (which is the
usual ASCII 0x20 SPACE) by a *narrower* spacer (which is unicode
U+2009 THIN SPACE).
I found that space thanks to
https://en.wikipedia.org/wiki/Space_(punctuation)#Types_of_spaces
... and specifically:
https://en.wikipedia.org/wiki/Thin_space
... and this actually works, amazingly. Probably because it is pretty
standard as it's part of the SI specification (thousands separator),
Tex (`\thinspace` or `\,`), and HTML (` `)
Closes: #888
* util.popup requires tkinter to be installed (in order to display
popups). As most people will probably use the default configuration
of the pulseaudio module (where the popup is disabled) and in order
to avoid breaking existing setups, we catch import errors and just log
them.
* added possibility to show currently selected default device in the
statusbar (default: off)
* allows to override the left mouse button click with a different
action (e.g open popup menu to change the current default device)