Age | Commit message (Collapse) | Author |
|
Move the Main module to a new `app` directory. All other modules have
been nested under the `Xmobar` name. Lots of module headers & imports
were updated.
|
|
|
|
|
|
Instead of simply displaying zero when reading the thermal zone file fails,
display whatever we would display when provided with a misconfigured thermal
zone.
|
|
Sometimes the kernel takes some time to populate /sys/class/thermal/ * after
resuming from suspend. Previously, this would result in the thermal plugin
dying permanantly. With this patch, we show "0" until the kernel gets around to
populating the sysfs nodes we need.
|
|
This reverts commit 938a8d8307c1c4794c5fcf269c587c3c5c5e70df.
|
|
|
|
thread exits.
|
|
See #360.
|
|
This uses alsactl monitor for push/event-based updating instead of
polling.
|
|
|
|
|
|
|
|
It's possible (and happens) that netParser sees a device that is no
longer there when we get to isUp. This happens almost every time I
resume from suspend and the WWAN card (USB device) reappears, and
results in xmobar showing the exception until I restart it.
Originally I tried
tryJust (guard . isDoesNotExistError) (B.readFile (operstateDir d))
and it worked for a while but in recent kernels it's possible to open
the file and have the device disappear before we get to reading the
contents of it, so we need to surround the whole open/read block in
catchIOError and make sure it's evaluated.
|
|
To make the <autoipat> pattern truly automatic, there needs to be a fallback
icon set to use when the user hasn't specified enough --load-icon-patterns.
This adds the fallback under the name --fallback-icon-pattern
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Should fix issue #325
|
|
The URL which exports the real time UV data has changed to an HTTPS
address. Since the HTTP package does not support HTTPS URLs, use
http-conduit to retrieve the XML document.
Unfortunately, the XML documents XML declaration precedes a byte order
mark which the previous XML parser was unable to handle. We're simply
ignoring the BOM in order to get to the UV values.
|
|
Hide the monitor 'Weather' behind a flag named 'with_weather'.
This implies that the dependency on the module 'HTTP' is now optional.
The default for 'with_weather' is True since we do not want to break
backwards compatibility/user experience.
Further moved the effect of the flag with_conduit within the branch of
'with_weather', since that flag only has some effect if 'with_weather'
is true.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
My laptop currently has rx/tx bytes in 10s of gigabytes and it's only
been up for 20 days. Normally it's several times more. At this point,
Float can only tell the difference of 4KB and up:
Prelude> let x = (50 * 2^30 :: Float) in (x + 2000) - x
0.0
Prelude> let x = (50 * 2^30 :: Float) in (x + 3000) - x
4096.0
This commit makes the Net monitor read Word64 which is exactly what the
kernel prints into /proc/net/dev [1] and converts to Float only after
subtracting the two numbers.
[1] https://github.com/torvalds/linux/blob/7a308bb3016f57e5be11a677d15b821536419d36/net/core/net-procfs.c#L82
Still, I think it's time to switch from Float to Double. At half-gigabit
speeds (easily attainable at home while rsyncing over a direct UTP cable
between two post-2010 laptops), Float can only tell the difference of
8 bytes and up (and I'm not even considering takeDigits!). That's
probably okay for a Net monitor in xmobar, but we're so close to the
limit it makes sense to move to Double just in case.
|
|
This is essentially commit a0397ad2 applied to MultiCpu.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
expandEnv takes a string and expands the environment variables it can
find. variable substringing (e.g. ${VAR:1} to lop off the first
character) is not supported, but $VAR and ${VAR} formats are, with the
former being delimited by punctuation, but not underscores.
|
|
Fixes #265.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|