Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-02-23 | Timer coalescing: handle exceptions in timer coordination thread | Tomas Janousek | |
This corrects my (wrong) assumption that the timer coordination thread will only fail if there's an error in the code, and in that case any attempt to recover is futile. It turns out that the thread does fail recoverably in one notable case: when running in the non-threaded RTS, registerDelay fails immediately. And we probably still wish for xmobar to support the non-threaded RTS. One way to solve this issue is to add a bunch of #ifdefs and compile the code only in the threaded case. This would double the number of configurations that need to be tested, though. Instead, let's make the code robust against all kinds of exceptions in the timer coordination thread, and get non-threaded RTS support for free. | |||
2020-02-22 | Implement timer coalescing (noticeably less CPU/power usage) | Tomas Janousek | |
xmobar currently runs every monitor in its own thread. Monitors that do periodic updates simply sleep and loop. This unfortunately leads to these threads coming out of sync, and xmobar ends up waking up and redrawing for every periodic monitor. In my case, that is 7 times per second, which is enough for xmobar to be at the top of "top" with more than 1% CPU usage, and to have a noticeable impact on battery life. This commit adds a central timer coordination thread which makes sure that periodic updates happen together and that we only redraw once they're all done. Together with PR #409, I managed to lower the idle power draw of my laptop from 4W to 3W. | |||
2020-01-27 | Revert "Use a single Manager across the whole application" | jao | |
This reverts commit 1f1f0bd8b811740c84215f9ed4fa5ebd8309a990. | |||
2020-01-27 | Revert "Only require http-conduit when absolutely necessary" | jao | |
This reverts commit efb6d6817c092fe08e9b0f1b8a17bddd29d97cdb. | |||
2020-01-16 | Only require http-conduit when absolutely necessary | slotThe | |
2020-01-16 | Use a single Manager across the whole application | slotThe | |
2020-01-08 | Enable FreeBSD features implicitly from build platform | Dhananjay Balan | |
2020-01-06 | Support for freebsd battery status: | Dhananjay Balan | |
Exposed via -f with_freebsd flag, uses sysctl to query battery status. | |||
2019-10-15 | Changelog updates | jao | |
2019-10-15 | Allow latest GHC | Vanessa McHale | |
2019-10-10 | Credits and version bump | jao | |
2019-10-10 | libmpd 0.9.0.10 | jao | |
2019-08-23 | Version 0.300.30 | jao | |
2019-07-12 | fixed old CoreTemp in Monitors.hs, set up xmobar.cabal for MultiCoreTemp | Felix Springer | |
2019-02-07 | Always require http-conduit for weather (fixes #378) | jao | |
2019-01-27 | Changelog for 0.29.5 | jao | |
2018-12-24 | Marks for 0.29.4 | jao | |
2018-12-24 | Upgrade to alsa-mixer 0.3.0 (cf. #372, #373) | jao | |
2018-12-10 | 0.29.30.29.3 | jao | |
2018-12-10 | Set max version for alsa-mixer | Andrzej Ressel | |
2018-12-08 | 0.29.20.29.2 | jao | |
2018-12-05 | 0.29.10.29.1 | jao | |
2018-12-03 | CoreCommon -> Common.Files | jao | |
2018-12-03 | Unit test fixes | jao | |
2018-12-02 | Example xmobar.hs | jao | |
2018-12-02 | Fix: exposing the Command constructors in lib | jao | |
2018-12-02 | Plugins.Monitors.Common refactored into submodules | jao | |
2018-12-01 | Version 0.290.29 | jao | |
2018-12-01 | Propagating RTS compilation flags to recompile | jao | |
2018-11-30 | Self-compilation a la xmonad | jao | |
2018-11-30 | XMobar.App.Opts | jao | |
2018-11-26 | Compilation functions lifted from xmonad | jao | |
2018-11-26 | Utilities for dealing with config and data directories | jao | |
2018-11-26 | App.Defaults -> App.Config | jao | |
2018-11-26 | Xmobar.Config.Parse | jao | |
2018-11-25 | Xmobar.System.Utils, Xmobar.X11.Events | jao | |
2018-11-25 | X11.XUtil -> X11.Text | jao | |
2018-11-25 | Xmobar.App.Defaults and Xmobar.Config.Types | jao | |
2018-11-25 | Xmobar.App.Main | jao | |
2018-11-25 | Xmobar.App and small refactorings | jao | |
2018-11-25 | Test namespaces inside Xmobar | jao | |
2018-11-25 | doc, examples | jao | |
2018-11-25 | Back to app/src, since it seems they're the default convention for stack | jao | |
2018-11-25 | Run.EventLoop | jao | |
2018-11-25 | Refactoring: Xmobar.Run | jao | |
2018-11-25 | Parsers wee refactoring | jao | |
2018-11-25 | Exporting Exec constructors from Xmobar | jao | |
2018-11-25 | No need for silly Xmobar.Plugins | jao | |
2018-11-25 | Xmobar.System.Environment | jao | |
2018-11-25 | Refactoring: Xmobar.System | jao | |