<feed xmlns='http://www.w3.org/2005/Atom'>
<title>xmobar/src/Xmobar/System, branch 0.38</title>
<subtitle>a minimalistic status bar</subtitle>
<id>https://jao.io/cgit/xmobar/atom?h=0.38</id>
<link rel='self' href='https://jao.io/cgit/xmobar/atom?h=0.38'/>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/'/>
<updated>2020-11-19T13:38:15Z</updated>
<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>Redundant imports (mostly &lt;$&gt;) removed</title>
<updated>2020-08-07T02:33:15Z</updated>
<author>
<name>jao</name>
<email>jao@gnu.org</email>
</author>
<published>2020-08-07T02:33:15Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=0e7c39d9ec6719a32eec0b696d7167faf6598757'/>
<id>urn:sha1:0e7c39d9ec6719a32eec0b696d7167faf6598757</id>
<content type='text'>
</content>
</entry>
<entry>
<title>more hlinting</title>
<updated>2020-05-11T18:32:06Z</updated>
<author>
<name>jao</name>
<email>jao@gnu.org</email>
</author>
<published>2020-05-11T18:32:06Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=ad64ccf601e76a4504aacffffa234233b30ee24d'/>
<id>urn:sha1:ad64ccf601e76a4504aacffffa234233b30ee24d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>hlinting</title>
<updated>2020-05-11T18:22:41Z</updated>
<author>
<name>jao</name>
<email>jao@gnu.org</email>
</author>
<published>2020-05-11T18:22:41Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=6faa17e39d7bf77df9aa199db09d52a600984271'/>
<id>urn:sha1:6faa17e39d7bf77df9aa199db09d52a600984271</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix crashes/busy looping happening via index</title>
<updated>2020-05-10T14:13:56Z</updated>
<author>
<name>Sibi Prabakaran</name>
<email>sibi@psibi.in</email>
</author>
<published>2020-05-10T14:13:56Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=3e9e1cb9d300e13109206496d825351c4f41cc1c'/>
<id>urn:sha1:3e9e1cb9d300e13109206496d825351c4f41cc1c</id>
<content type='text'>
Right now, with the `StdinReader` plugin enabled - you can crash/cause
busy looping of xmobar if the following html file is opened:

```
&lt;html&gt;
&lt;head&gt;
  &lt;title&gt;hello &lt;fn=1&gt;string&lt;/fn&gt; &lt;/title&gt;
&lt;/head&gt;
&lt;/html&gt;
```

More details about this bug is here:
https://github.com/jaor/xmobar/issues/442#issuecomment-625706001

This MR also fixes another bug which produces a crash in xmobar if you
pass non integer items between fn:

&lt;fn=crash&gt;
</content>
</entry>
<entry>
<title>Update stderr and the bar on receiving exception</title>
<updated>2020-05-02T15:34:52Z</updated>
<author>
<name>Sibi Prabakaran</name>
<email>sibi@psibi.in</email>
</author>
<published>2020-05-02T13:07:58Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=68ac4d3ae6f37a2f73109f65f67e0b0d209696f0'/>
<id>urn:sha1:68ac4d3ae6f37a2f73109f65f67e0b0d209696f0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Spurious import and hlinting</title>
<updated>2020-04-30T17:06:11Z</updated>
<author>
<name>jao</name>
<email>jao@gnu.org</email>
</author>
<published>2020-04-30T17:06:11Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=a135fcf40172355bc36bc6d4f98b484375dc5add'/>
<id>urn:sha1:a135fcf40172355bc36bc6d4f98b484375dc5add</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refactor the usage of hGetLineSafe</title>
<updated>2020-04-30T15:45:31Z</updated>
<author>
<name>Sibi Prabakaran</name>
<email>sibi@psibi.in</email>
</author>
<published>2020-04-30T14:26:45Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=a705d021a8cfbb3b9bbfbec833302768d3ad459e'/>
<id>urn:sha1:a705d021a8cfbb3b9bbfbec833302768d3ad459e</id>
<content type='text'>
hGetLineSafe is always hGetLine and hence we can directly use it.
</content>
</entry>
<entry>
<title>Xmobar.System.Utils, Xmobar.X11.Events</title>
<updated>2018-11-25T23:43:41Z</updated>
<author>
<name>jao</name>
<email>jao@gnu.org</email>
</author>
<published>2018-11-25T23:43:41Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=24c84e47177b6ebbe3df99db53220def6c0951ec'/>
<id>urn:sha1:24c84e47177b6ebbe3df99db53220def6c0951ec</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Back to app/src, since it seems they're the default convention for stack</title>
<updated>2018-11-25T15:10:29Z</updated>
<author>
<name>jao</name>
<email>jao@gnu.org</email>
</author>
<published>2018-11-25T15:10:29Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=77df1ac30fa7af5948f7ff64f5fee9aed64552b3'/>
<id>urn:sha1:77df1ac30fa7af5948f7ff64f5fee9aed64552b3</id>
<content type='text'>
</content>
</entry>
</feed>
