summaryrefslogtreecommitdiffhomepage
path: root/src/Plugins
AgeCommit message (Collapse)Author
2017-04-29Compilation warnings (redundant imports) in GHC 8.0jao
2017-04-29hlint configurationjao
2017-03-03More paths for CoreTemp (issue #291)jao
2017-01-23Fix Net monitor for large uptimes/bytecountsTomas Janousek
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.
2016-11-04Fix MultiCpu monitor for large uptimesZev Weiss
This is essentially commit a0397ad2 applied to MultiCpu.
2016-08-12Battery monitor: yet another stab at #271jao
2016-08-11Battery: report Full instead of Idle when the battery looks fulljao
2016-08-10Battery: inferring status from watts/ac when Unknownjao
2016-08-10Batt.hs: fix by Matthew Bekkema (see #231)jao
2016-08-05New weather stats URL (fixes #270)jao
2016-07-28Fixing compatibility with GHC 7.6jao
2016-07-27Add expandEnv function and use it in PipeReader family of monitorsWill Song
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.
2016-07-26Sensible thresholds for high/low battery power consumptionjao
Fixes #265.
2016-07-26MPris: honour field padding and width optionsjao
2016-07-26New monitor argument -T (maximum total width)jao
2016-05-05Batt nitsjao
2016-05-05Batt: reading status more robustlyjao
2016-05-04Fixes for Battery status computations (issue #231)jao
2016-04-30Fix for empty metadata in MPris callsjao
2016-03-01feat(MPD): add <date> support in templateDelapouite
2016-01-13Update PipeReader.hszlbruce
threadDelay is in microseconds, It is unnecessary to check pipe every millisecond
2016-01-06Whitespacejao
2016-01-03volume: allow alsa capture devices to be monitoredAntoine Eiche
For instance, the following command can be used in the configuration file: Run Volume "default" "Capture" [] 10
2015-12-12Move wind speed calculation functions to let clauseMichael Knabe
2015-12-09Add template variables for wind speed in m/s and km/h to weather pluginMichael Knabe
2015-09-26mpd: update on option changes as wellBen Boeckel
Now that flags are watched as well, updates should be triggered on option changes.
2015-08-25define flag 'with_conduit'Dragos Boca
2015-08-18use Network::HTTP::ConduitDragos Boca
2015-08-18Batt: protecting against charge_now > charge_fulljao
(yes, it's happening on an xps with kernel 4.1.5)
2015-05-13Weather Monitor: Handle case where wind is not present at allReto Hablützel
2015-05-01uvmeter: new plugin showing UV data (Australia)Roman Joost
This patch adds a new optional plugin showing UV data for Australian users. The data is aquired by simple HTTP request from the Australian Radiation Protection and Nuclear Safety Agencies XML data feed. The uvmeter plugin can be configured ovserving multiple different station across the country. The alias now defaults to 'uv <stationid>'.
2015-04-14De-ambiguify TimeLocale when DateZone is enabledEdward Tjörnhammar
2015-04-02Make M an Applicative instanceEdward Tjörnhammar
2015-04-02De-ambiguify defaultTimeLocale using CPPEdward Tjörnhammar
2015-03-11Another attempt at better error handling in Volumejao
2015-03-09Revert "Fix for GHC 7.8.4 (issue #213)"jao
This reverts commit 1668793e69b7e7c78b7c5b4fd05a256c8ea9f0b1.
2015-03-08Fix for GHC 7.8.4 (issue #213)jao
2015-03-08Better error control in Volume monitorjao
2015-02-01Added additional wind parser case for "Variable at"Dino Morelli
Wind data sometimes looks like this: "Wind: Variable at 3 MPH (3 KT):0" Note the missing direction info. This fix adds an additional parser for this case to pWind.
2014-12-26Honour the -S (show suffix) monitor flag in CpuFreqjao
2014-12-15MPD: add a new template variable 'flags'Duncan Burke
Displays playback flags in the style of ncmpcpp.
2014-11-12Introduce available memory variables in memory monitorSamuli Thomasson
Available memory is determined from meminfo's `MemAvailable:` on 3.14 and newer, and falls back to `free + buffer + cache` on older systems. Introduces new variables `<available{,ratio,bar,vbar,ipat}>`.
2014-09-28Using fromMaybejao
2014-09-28Upgrade to libmpd 0.9jao
2014-09-24Merge branch 'dynamic-strings' of https://github.com/projedi/xmobarjao
2014-09-24Rename dynamic string to icon patternAlexander Shabalin
2014-09-16Locks: Implement event-driven locks indicatorAnton Vorontsov
This commit does more fundamental rework of the "Locks" plug-in: now the plug-in is fully event-driven and thus extremely power-efficient, effectively zero CPU consumption while idling.
2014-09-16Locks: Rework to avoid unnecessary display reopeningAnton Vorontsov
The extremely useful "Locks" plugin eats quite a lot of CPU (>2% here on a old-ish laptop), unfortunately. The plug-in unnecessary reopens the display, which is quite expensive operation. It results into 16 syscalls: socket(PF_LOCAL) -> connect(sun_path=@"/tmp/.X11-unix/X0"}) -> getpeername() -> uname() -> access(".Xauthority") -> open(".Xauthority") -> fstat() -> mmap() -> read() -> close() -> munmap() -> getsockname() -> fcntl(F_SETFD) -> fcntl(F_SETFL) -> shutdown() -> close() This is almost half of all the syscalls that we ought to execute for the plug-in to work. Now, considering the useful work and that "Locks" runs every 200 milliseconds, it gives us >300 syscalls (and a lot more wake-ups) per second. This commit fixes the reopening issue, effectively halving the CPU consumption (down to ~1%). The patch also makes it easier to implement event-driven indicators that will reduce the idle CPU consumption to 0.
2014-09-14Implement DynamicString for Monitors supporting vbar.Alexander Shabalin
* Batt * Bright * Cpu * Disk * MPD * Mem * MultiCpu * Net * Volume * Wireless
2014-09-14Add DynamicString as an alternative to vbars.Alexander Shabalin
* DynamicString is an Int -> String which takes a value from 0..8 and produces a string with this value embedded. Usefull for replacing vbars with icons: an icon per one of 9 states. * API is similar to that of vbar. * Default parser of DynamicString produces a function of `i` to a string that replaces all occurences of "%%" with `show i`