<feed xmlns='http://www.w3.org/2005/Atom'>
<title>xmobar, branch 0.37</title>
<subtitle>a minimalistic status bar</subtitle>
<id>https://jao.io/cgit/xmobar/atom?h=0.37</id>
<link rel='self' href='https://jao.io/cgit/xmobar/atom?h=0.37'/>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/'/>
<updated>2020-11-29T20:00:15Z</updated>
<entry>
<title>0.37</title>
<updated>2020-11-29T20:00:15Z</updated>
<author>
<name>jao</name>
<email>jao@gnu.org</email>
</author>
<published>2020-11-29T20:00:15Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=16a61eb4de244766cdcd83089a52d5c1770763ad'/>
<id>urn:sha1:16a61eb4de244766cdcd83089a52d5c1770763ad</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update readme and changelog</title>
<updated>2020-11-29T18:04:03Z</updated>
<author>
<name>slotThe</name>
<email>soliditsallgood@mailbox.org</email>
</author>
<published>2020-11-28T08:24:51Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=3806a7a3c963a18429c0c7239489b8126190a0c5'/>
<id>urn:sha1:3806a7a3c963a18429c0c7239489b8126190a0c5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add new plugin: NotmuchMail</title>
<updated>2020-11-29T17:56:35Z</updated>
<author>
<name>slotThe</name>
<email>soliditsallgood@mailbox.org</email>
</author>
<published>2020-11-26T09:24:23Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=5c20da743b34f05ea25f3b4de60ba5e570fc264f'/>
<id>urn:sha1:5c20da743b34f05ea25f3b4de60ba5e570fc264f</id>
<content type='text'>
This plugin checks for new mail, provided that this mail is indexed by
notmuch.  As mail that was tagged is moved from the new directory to
cur, the 'Mail' plugin (and its variants) won't work for such mail.
</content>
</entry>
<entry>
<title>More consistent argument order for MPDX</title>
<updated>2020-11-25T17:15:46Z</updated>
<author>
<name>jao</name>
<email>jao@gnu.org</email>
</author>
<published>2020-11-25T17:15:46Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=779bc598aa5f33e74cae5d6f5d28aab7f49b5c85'/>
<id>urn:sha1:779bc598aa5f33e74cae5d6f5d28aab7f49b5c85</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use tripple backticks for Haskell code</title>
<updated>2020-11-25T16:03:43Z</updated>
<author>
<name>slotThe</name>
<email>soliditsallgood@mailbox.org</email>
</author>
<published>2020-11-25T16:03:43Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=ef01324fac87be5e0b9f7d1220989e4d56f096e9'/>
<id>urn:sha1:ef01324fac87be5e0b9f7d1220989e4d56f096e9</id>
<content type='text'>
Also make indentation of shell code a little bit more regular.
</content>
</entry>
<entry>
<title>New monitor: MPDX</title>
<updated>2020-11-24T02:22:55Z</updated>
<author>
<name>jao</name>
<email>jao@gnu.org</email>
</author>
<published>2020-11-24T02:22:55Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=94c43a3125418d2233f8b4f5af645b0e4ac3fb2b'/>
<id>urn:sha1:94c43a3125418d2233f8b4f5af645b0e4ac3fb2b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>test: Fix flaky CpuSpec</title>
<updated>2020-11-19T13:38:15Z</updated>
<author>
<name>Tomas Janousek</name>
<email>tomi@nomi.cz</email>
</author>
<published>2020-11-18T20:27:52Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=a071c2a49d0804e410cdc3aeb9c49b622c9a416a'/>
<id>urn:sha1:a071c2a49d0804e410cdc3aeb9c49b622c9a416a</id>
<content type='text'>
Failed at least once in GitHub Actions:

    predicate failed on: "Cpu: &lt;fc=red&gt;100&lt;/fc&gt;% &lt;fc=red&gt;##########&lt;/fc&gt;"

Also, there's no need to guard the Xmobar.Plugins.Monitors.CpuSpec
module with the with_alsa flag. (And it doesn't really work anyway,
hspec-discover doesn't care about what modules are declared in cabal, so
stack/ghc complains that "These modules are needed for compilation but
not listed in your .cabal file's other-modules:
Xmobar.Plugins.Monitors.AlsaSpec" and then fails to detect changes in
those modules.)
</content>
</entry>
<entry>
<title>StdinReader: Remove throttling on exception</title>
<updated>2020-11-19T13:38:15Z</updated>
<author>
<name>Tomas Janousek</name>
<email>tomi@nomi.cz</email>
</author>
<published>2020-11-18T18:49:00Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=0cb56eb14e4e7c9257b290a8e22331d90145105c'/>
<id>urn:sha1:0cb56eb14e4e7c9257b290a8e22331d90145105c</id>
<content type='text'>
Introducing the throttling unfortunately has a negative side-effect: it
delays all stdin processing, including EOF detection, which can cause
confusion the previous commit tries to fix.

The only benefit of the throttling is to prevent 100% CPU usage when a
lot of garbage is provided on xmobar stdin. We still don't know where
that garbage comes from in https://github.com/jaor/xmobar/issues/438, or
rather why there's more than a handful of lines of such garbage. @psibi
has since fixed his setup to not produce that garbage, and no one else
ever reported such a problem, so it's probably safe to ignore it for
now.

Should anyone ever encounter that again, feel free to ping me, even in
the middle of the night, to help debug this.

Fixes: 7759df11f746 ("StdinReader: Improve exception handling")
Fixes: b7a3d6745817 ("Avoid busy looping by not catching all exceptions")
</content>
</entry>
<entry>
<title>StdinReader: Improve exception handling</title>
<updated>2020-11-19T13:38:15Z</updated>
<author>
<name>Tomas Janousek</name>
<email>tomi@nomi.cz</email>
</author>
<published>2020-11-14T12:25:58Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=b23fc95a3bc2c0fefba7a44d6f1a4e8e0941d77c'/>
<id>urn:sha1:b23fc95a3bc2c0fefba7a44d6f1a4e8e0941d77c</id>
<content type='text'>
This corrects a misleading comment "EOF check is necessary for certain
systems" which was added without complete understanding of the root
cause of #442. That issue was in fact caused by old xmobars not being
terminated on early EOF, and is thus necessary on _all_ systems that
rely on EOF to terminate old xmobar before starting a new one. (To
trigger the bug, one additionally needs to close the xmobar pipe before
sending any input to it, which is unusual, but incorrectly configured
xmonad might trigger that.)

Furthermore, this fixes another execution path that could lead to xmobar
not being terminated on EOF:

`echo -e '\xff' | xmobar -c '[Run StdinReader]' -t '%StdinReader%'`
would terminate the StdinReader thread upon catching the "invalid
argument (invalid byte sequence)" so there'd be no thread to detect the
subsequent EOF and xmobar would get stuck.

Additionally, I believe that terminating either the thread or the entire
xmobar upon receiving a single miscoded byte isn't desirable, as this
might be an intermittent issue and another input line can be perfectly
okay. Therefore I suggest that the original issue @psibi was trying to
fix by b7a3d6745817 is worked around by introducing a throttling delay
instead of terminating the thread, as I assume that exceptions other
than async and EOF are recoverable.

Fixes: b7a3d6745817 ("Avoid busy looping by not catching all exceptions")
Fixes: 68ac4d3ae6f3 ("Update stderr and the bar on receiving exception")
Fixes: ed0663aac942 ("Add EOF check before getLine operation from stdin")
Fixes: https://github.com/jaor/xmobar/issues/442
Related: https://github.com/jaor/xmobar/pull/439
Related: https://github.com/jaor/xmobar/pull/448
</content>
</entry>
<entry>
<title>changelog link</title>
<updated>2020-11-18T06:45:46Z</updated>
<author>
<name>jao</name>
<email>jao@gnu.org</email>
</author>
<published>2020-11-18T06:45:46Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=e2d88d6de8447de2e8a7d3573fe4c33e6f01ee60'/>
<id>urn:sha1:e2d88d6de8447de2e8a7d3573fe4c33e6f01ee60</id>
<content type='text'>
</content>
</entry>
</feed>
