summaryrefslogtreecommitdiffhomepage
path: root/src/Plugins/Monitors/Net.hs
AgeCommit message (Collapse)Author
2018-04-05Net: fix race condition in netParser/readNetDev/isUpTomas Janousek
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.
2017-04-29Compilation warnings (redundant imports) in GHC 8.0jao
2017-04-29hlint configurationjao
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.
2014-09-24Rename dynamic string to icon patternAlexander Shabalin
2014-09-14Implement DynamicString for Monitors supporting vbar.Alexander Shabalin
* Batt * Bright * Cpu * Disk * MPD * Mem * MultiCpu * Net * Volume * Wireless
2014-08-29hlint improvementsTony Morris
2014-08-09hlint refactoringsReto Hablützel
2014-07-30Implement adaptive units for Net pluginAxel Angel
Adaptive units are computed only if suffix is enabled Otherwise we fall back to the old computation (KB)
2014-05-04Accepting "unknown" as network device stateJose Antonio Ortega Ruiz
Cf. discussion of issue #98
2014-03-15Net plugin has txvbar and rxvbarEric Mrak
2013-10-27New N/A string monitor option (cf. #119)Jose Antonio Ortega Ruiz
2012-09-14better readable codeReto Habluetzel
2012-09-14removed todo commentsReto Habluetzel
2012-09-04automatic detection of devices using /sys/class/net directoryReto Habluetzel
2012-08-29cleaned up imports, renamed variableReto Habluetzel
2012-08-29added dynnetwork, which selects the busiest network of a list and displays itReto Habluetzel
2012-04-15Net: distinguishing between faulty and not active interfacesJose Antonio Ortega Ruiz
2012-04-14Removed the N/A text, when interface is not found.Peter Kasza
2012-04-14net: hide output when interface is down.Peter Kasza
2011-12-18New -d (decimal digits) monitor option (issue #58)Jose Antonio Ortega Ruiz
2011-02-13Cpu and MultiCpu should also be more accurate nowJose Antonio Ortega Ruiz
2011-02-13More accurate net monitor rates (issue 42)Jose Antonio Ortega Ruiz
2010-12-21Haskell sources moved to src/ to unclutter toplevelJose Antonio Ortega Ruiz