Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-11-13 | Optimize Date plugin again (refresh timezone only once a minute) | Tomas Janousek | |
This makes the Date plugin approximately twice as fast, and makes xmobar up to about 5–10 % faster if Date is the only active plugin. (If more expensive plugins like Network or MultiCpu are used, it doesn't make any measurable difference.) Micro-benchmark results on my HW: Date Benchmarks/Date mean 2.833 μs ( +- 16.08 ns ) Date Benchmarks/DateZonedTime mean 5.020 μs ( +- 32.91 ns ) Date Benchmarks/DateWithTimeZone mean 2.827 μs ( +- 20.52 ns ) (DateZonedTime is the original implementation and DateWithTimeZone is the implementation we had since 0.34 which never refreshes timezone.) Real-life measurements (done overnight on an idle laptop, with all measured xmobars running in parallel to ensure comparable conditions; xmobars configured to only display date and with rate 10 — once per second): $ time timeout 6h xmobar .xmobarrc-DateZonedTime real 360m0,010s user 0m9,867s sys 0m4,644s (9.867 + 4.644) / (360 * 60) = 0.000672 $ time timeout 6h xmobar .xmobarrc-Date real 360m0,008s user 0m9,535s sys 0m4,327s (9.535 + 4.327) / (360 * 60) = 0.000642 $ time timeout 6h xmobar .xmobarrc-Date-10m real 360m0,010s user 0m9,780s sys 0m4,215s (9.780 + 4.215) / (360 * 60) = 0.000648 $ time timeout 6h xmobar .xmobarrc-DateWithTimeZone real 360m0,006s user 0m9,658s sys 0m4,166s (9.658 + 4.166) / (360 * 60) = 0.000640 (.xmobarrc-Date-10m is the proposed implementation, but with timezone refresh every 10 minutes instead of every 1 minute) Interpretation of these results: * refreshing xmobar with just date takes around 650 μs * that is xmobar with just date uses around 0.065 % of CPU time * refreshing timezone takes additional cca 30 μs When we only refresh timezone once a minute, these 30 μs become 0.5 μs amortized, and that should be acceptable to even the most dedicated perfectionist :-) Fixes: a58e32f7c8af ("Revert "Optimize date plugin"") Fixes: 878db3908060 ("Optimize date plugin") Co-authored-by: Sibi Prabakaran <sibi@psibi.in> | |||
2020-10-24 | Adding example xmobar library install with cabal | Mark Watts | |
- Relates to #491 | |||
2020-10-09 | Changelog and friends | jao | |
2020-10-09 | update readme: -N --add-font option | ivanbrennan | |
2020-08-09 | Doc fixes | jao | |
2020-08-09 | A bit more documentation for <box> | jao | |
2020-08-09 | readme tweaks | jao | |
2020-08-09 | A bit of documentation for <box> | jao | |
2020-08-07 | Switch from Travis to Github actions (#480) | jao | |
2020-08-07 | revert broken indents on readme | Unoqwy | |
2020-08-07 | remove outdated <box> doc | Unoqwy | |
2020-08-07 | readme: box default values | Unoqwy | |
2020-08-07 | readme: update fc tag and add box | Unoqwy | |
2020-08-07 | String index as progress bar | jao | |
2020-07-23 | readme: Document escaping in UnsafeStdinReader | Tomáš Janoušek | |
2020-07-22 | readme: Fix duplicated NamedXPropertyLog | Tomáš Janoušek | |
2020-06-27 | License file updated | jao | |
2020-06-27 | Readme headers | jao | |
2020-06-26 | readme.org index | jao | |
2020-06-13 | Version bump, changelog, readme | jao | |
2020-06-13 | Detection of Tdie and Tctl for Ryzen temperatures | jao | |
2020-05-06 | fix readme typo | Peter Becich | |
2020-04-30 | author's list update (sibi) | jao | |
2020-04-12 | Add a HandleReader Plugin | Pavan Rikhi | |
This adds a new `HandleReader` plugin, which displays data from a Haskell `Handle`. This is really only useful if you are running xmobar from within another Haskell program, but lets you avoid the mechanics of creating a named pipe with the proper file permissions. Instead, you can use `System.Process.createPipe` to make a pair of read & write Handles. If you pass the read handle to HandleReader, you can use hPutStr on the write Handle to send data to xmobar from your application code. | |||
2020-03-05 | Network: up indicator | jao | |
2020-02-26 | Copyright years | jao | |
2020-02-25 | Wireless: support NL80211 userspace <-> kernelspace API | Paul Fertser | |
NL80211 was introduced in Linux 2.6.24 in 2007 as a new extensible universal API, replacing "wireless extensions" ioctls. It works on top of netlink, and allows direct communication to cfg80211 kernel subsystem. Since then it became a hard requirement for all upstream wireless drivers to hook into cfg80211 (SoftMAC drivers do it via the common mac80211 layer). There's still additional compatibility code that allows limited Wext functionality for cfg80211 drivers but it's buggy and can be disabled altogether when CONFIG_CFG80211_WEXT is not set. This patch makes use of "netlink" Haskell library which doesn't have any additional runtime dependencies (so neither iwlib nor libnl are required). The operation is the same as performed by "iw dev <devname> link" command. The signal level is transformed to "quality" by first clamping it to [-110; -40], then adding 110 and dividing by 70 (same meaningless formula as used by the cfg80211 Wext compatibility layer). "essid" template argument is replaced by more appropriate "ssid" (with the old variant still available for backwards compatibility) | |||
2020-02-05 | Update changelog and readme | slotThe | |
2020-02-04 | fix --high to --highs in documentation | Toni Tauro | |
2020-01-08 | Changelog and credits | jao | |
2020-01-05 | Update readme and changelog | slotThe | |
2020-01-04 | Doc nits | jao | |
2020-01-04 | Update readme and changelog | slotThe | |
2019-12-23 | Add support for the "Weather" field | slotThe | |
2019-12-08 | Change log0.32 | jao | |
2019-11-14 | MPD monitor: host and port specifiable in config | jao | |
2019-10-21 | add filtering option for Net devices (#408) | vindex10 | |
* add filtering option for Net devices * relate to comments * upd readme * add few more words to readme | |||
2019-10-15 | Battery: -P to show % | jao | |
2019-10-15 | New plugin: MailX | jao | |
2019-10-14 | Update readme | slotThe | |
2019-10-12 | Update changelog and readme | slotThe | |
2019-10-12 | Docs format | jao | |
2019-10-11 | readme update (credits)0.31 | jao | |
2019-10-05 | New flag `contiguous-icons` for `MultiCpu` (issue #388) | jao | |
2019-07-24 | Paths for Plugins in readme (fixes #396) | jao | |
2019-07-15 | Credits for MultiCoreTemp | jao | |
2019-07-15 | fixed icon pattern flag for MultiCoreTemp in readme | Felix Springer | |
2019-07-15 | Refined MultiCoreTemp description in readme | Felix Springer | |
2019-07-14 | readme entry for MultiCoreTemp | Felix Springer | |
2019-06-30 | Let's not scare people upfront with a complicated configuration | jao | |