summaryrefslogtreecommitdiffhomepage
path: root/src/Xmobar/Plugins/Monitors
AgeCommit message (Collapse)Author
2022-04-18Split up battery reading functions; fixed unitsPatrick Günther
Every quantity is now read in its own function and Maybe and pattern matching is used for dealing with absent files. On top of that all units should be fixed now.
2022-04-16Fixed unit of battery power consumptionPatrick Günther
2022-04-14Memory: new argument to scale usage unitsjao
Fixes #624
2022-04-13make small refactoring of load linux codeMichal Zielonka
Add <$> for parsing content of file.
2022-04-11add load monitor for freebsdMichal Zielonka
2022-03-30Fix: consistent use of configured nastring instead of hardcoded N/Ajao
2022-03-30Wee clean-upsjao
2022-03-30Load: honour the -d (decimal digits) monitor argumentjao
2022-03-30Load monitor: correctly colorize according to -L/-Hjao
2022-03-30Load: new load average monitorjao
Closes #208
2022-03-29Apply hlint suggestions to MultiCoreTempRob Whitaker
2022-03-29Fix MultiCoreTemp's temperature file finding logicRob Whitaker
Instead of searching for a fixed set of files and directories (numbered 0-9), which would miss anything above 9, it now searches the relevant directories for files matching the right pattern, regardless of number. Fixes #616.
2022-02-04Xmobar.App.Timer -> Xmobar.Run.Timerjao
2021-12-17add disk monitor for freebsdMichal Zielonka
2021-11-21Improvements for K10Temp's docsjao
2021-10-19add cirrus freebsd test (#580)Michał Zielonka
For start cirrus please use: https://cirrus-ci.org/guide/quick-start/ choose public repositories plan and add only xmobar as observed by cirrus. Also here is addes small fix for dividing by zero when cpu usage is calculated
2021-10-17start using kvm library from bsd for receiving swapinfoMichal Zielonka
Using this library allows us to receive swap info which is more similar with result of command swapinfo.
2021-10-16add top for freebsd procMichal Zielonka
In FreeBSD /proc/pid/stat is missing we should use for top procstat library.
2021-10-08try to add build action for freebsd + uptime plugin splitMichal Zielonka
2021-10-08try to reorganize modules per osMichal Zielonka
We should make better split os specify code for FreeBSD and Linux. Idea comes from @liskin.
2021-10-07add support swap info for freebsdMichal Zielonka
in freebsd swap info is available by sysctl
2021-10-07Add freebsd support for net monitor plugin.Michal Zielonka
In freebsd /sys/class/net is absent so we should use sysctl for obtaining info about stats of network. For parsing if_data struct we could use a "Foreign.Storable"
2021-10-04add reading memory specific for freebsdMichal Zielonka
In freebsd /proc/memoryinfo is absent so we should use sysctl for obtaining info about stats of memory.
2021-08-08fix: padString should not make strings longerLeo Zhang
2021-05-19Remove unused import; apply lint hintSam Kirby
2021-05-19Add k10temp pluginSam Kirby
The existing support for the coretemp kernel driver only works with Intel CPUs. This commit extends support for temperature monitoring to AMD CPUs. k10temp is a kernel driver for monitoring the temperature of AMD processors. It supports everything from AMD's 10h (Opteron/Athlon) family of processors to the latest 19h (Zen 3) family. Reference: https://www.kernel.org/doc/html/latest/hwmon/k10temp.html The meaning of the various temperatures made available has changed over the years and only `Tctl` is available on processors prior to the 17h family. Labels for these temperatures are present but as Tctl and Tdie do not contain a number I could not find a way to use these as `checkedDataRetrieval` expects an integer label. It is a PCI device and so an address needs to be supplied as part of the configuration. Example configuration: `Run K10Temp "0000:00:18.3" ["--template", "T: <Tdie>C | <Tccd1>C"] 60`
2021-03-30Add FreeBSD support to Cpu pluginKevin Zheng
2020-08-08Mpris2: accepting Word32 as type for trackNumberjao
spotifyd is funky that way
2020-08-08Fix: don't go below zero in indexed barsjao
2020-08-07removed default arg of channel', channel (Plugins.Monitors.Volume)Keith
Both functions had a default parameter for use in some error cases. Now each accepts only one parameter (a PerChannel), and return Nothing on an error. The definition of 'channel' confused me, so I simplified it. Hopefully it's now more clear that it just applies 'toInteger' to the 'IO (Maybe CLong)' that 'channel'' returns.
2020-08-07Redundant imports (mostly <$>) removedjao
2020-08-07String index as progress barjao
2020-06-23Fix hlint warningsSibi Prabakaran
2020-06-23Update based on feedback on the PRSibi Prabakaran
2020-06-23Hlint fixesSibi Prabakaran
2020-06-23Some formatting of codeSibi Prabakaran
2020-06-23More cleanupSibi Prabakaran
2020-06-23Cleanup and add some testsSibi Prabakaran
2020-06-23Fix warningsSibi Prabakaran
2020-06-23Further optimizationSibi Prabakaran
2020-06-23More efficient formattingSibi Prabakaran
2020-06-23Optimize CPU monitorSibi Prabakaran
2020-06-23Add some optimizationSibi Prabakaran
2020-06-13Look up only the first coretemp.N/hwmon dir in MultiCoreTempjao
2020-06-13Version bump, changelog, readmejao
2020-06-13Detection of Tdie and Tctl for Ryzen temperaturesjao
2020-06-13Initial support for benchmarks of the pluginsSibi Prabakaran
2020-06-12Update UVWeather branchSibi Prabakaran
2020-06-12Optimize weather plugin by reusing manager and other refactorsSibi Prabakaran
As documented in the http-client library, calling newManager is an expensive operation: ``` Creating a new Manager is a relatively expensive operation, you are advised to share a single Manager between requests instead. ``` But inspite of the haddocks in xmobar claiming that once 'Manager' is created, it will be used throughout the monitor is not true. Because for every call of `startWeather` a new manager is being created. Also I removed the option in WeatherOpts because even if it is false, it will be ultimately created in `getData` function. Also without using a manager - the plugin won't really work. So, I don't think there is any reason for this option to exist. I have introduced a new dependency http-client-tls to use the shared global manager so that we reuse the same manager every time. This simplifies a lot of code. Note that this is not really a new dependency because http-conduit already depends on it transitively.
2020-05-06recursively hlintingjao