<feed xmlns='http://www.w3.org/2005/Atom'>
<title>xmobar/src, branch 0.34</title>
<subtitle>a minimalistic status bar</subtitle>
<id>https://jao.io/cgit/xmobar/atom?h=0.34</id>
<link rel='self' href='https://jao.io/cgit/xmobar/atom?h=0.34'/>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/'/>
<updated>2020-06-12T17:16:08Z</updated>
<entry>
<title>Update UVWeather branch</title>
<updated>2020-06-12T17:16:08Z</updated>
<author>
<name>Sibi Prabakaran</name>
<email>sibi@psibi.in</email>
</author>
<published>2020-06-12T17:13:59Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=46d6679b245bd40edf70f158422a0482d1cde235'/>
<id>urn:sha1:46d6679b245bd40edf70f158422a0482d1cde235</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Optimize weather plugin by reusing manager and other refactors</title>
<updated>2020-06-12T17:14:31Z</updated>
<author>
<name>Sibi Prabakaran</name>
<email>sibi@psibi.in</email>
</author>
<published>2020-05-30T14:09:29Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=f3e2d5a59983a5cb8c364dbac169fa5ef16ebb51'/>
<id>urn:sha1:f3e2d5a59983a5cb8c364dbac169fa5ef16ebb51</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Optimize date plugin</title>
<updated>2020-06-05T11:25:52Z</updated>
<author>
<name>Sibi Prabakaran</name>
<email>sibi@psibi.in</email>
</author>
<published>2020-06-05T11:25:52Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=878db39080607ba476ba8d8f547ad28259efb6a9'/>
<id>urn:sha1:878db39080607ba476ba8d8f547ad28259efb6a9</id>
<content type='text'>
We avoid calling getTimeZone for each of the time the date has to be
updated. Instead, it's computed once at the start and re-used for each
invocation.

Looking at the implementation of 'getTimeZone', we can see that it's
very expensive:
https://www.stackage.org/haddock/lts-15.15/time-1.9.3/src/Data-Time-LocalTime-Internal-TimeZone.html#getTimeZone

It calls a C FFI each time to get the time
zone (getTimeZoneCTime). This is something which we can avoid and the
MR implements that.

I have been using my xmobar with this patch and the result has been
quite good. My xmobar CPU usage has used to hit 3~7%
intermittently. With this MR, It hits only 0.7% intermittently which
is nice. :-)
</content>
</entry>
<entry>
<title>hlinting</title>
<updated>2020-05-19T18:38:59Z</updated>
<author>
<name>jao</name>
<email>jao@gnu.org</email>
</author>
<published>2020-05-19T18:38:59Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=b15bb7c20b11a9f148c4757caba7167ee66492fc'/>
<id>urn:sha1:b15bb7c20b11a9f148c4757caba7167ee66492fc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add EOF check before getLine operation from stdin</title>
<updated>2020-05-19T06:07:19Z</updated>
<author>
<name>Sibi Prabakaran</name>
<email>sibi@psibi.in</email>
</author>
<published>2020-05-19T06:07:19Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=ed0663aac942113a693e225dbacaa69784017976'/>
<id>urn:sha1:ed0663aac942113a693e225dbacaa69784017976</id>
<content type='text'>
Fixes https://github.com/jaor/xmobar/issues/442
</content>
</entry>
<entry>
<title>Temporarily restore Stdin to its previous state</title>
<updated>2020-05-17T22:44:49Z</updated>
<author>
<name>jao</name>
<email>jao@gnu.org</email>
</author>
<published>2020-05-17T22:44:49Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=16d1240ab8cd2502400c5ef1e4434654df8a2e1c'/>
<id>urn:sha1:16d1240ab8cd2502400c5ef1e4434654df8a2e1c</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>recursively hlinting</title>
<updated>2020-05-06T21:20:34Z</updated>
<author>
<name>jao</name>
<email>jao@gnu.org</email>
</author>
<published>2020-05-06T21:20:34Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=6f3b730415147041ff34558fe7292a76dc87b1f0'/>
<id>urn:sha1:6f3b730415147041ff34558fe7292a76dc87b1f0</id>
<content type='text'>
</content>
</entry>
</feed>
