<feed xmlns='http://www.w3.org/2005/Atom'>
<title>xmobar/src, 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>2021-05-14T21:05:09Z</updated>
<entry>
<title>Fix delayed reaction to USR1/2 signals</title>
<updated>2021-05-14T21:05:09Z</updated>
<author>
<name>Tomas Janousek</name>
<email>tomi@nomi.cz</email>
</author>
<published>2021-05-14T20:47:41Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=f8c835a33a7acd6f60e27f82ac40027d3ae15e25'/>
<id>urn:sha1:f8c835a33a7acd6f60e27f82ac40027d3ae15e25</id>
<content type='text'>
While using xmobar to reproduce/fix a bug in xmonad I noticed that
xmobar doesn't react immediately to the signals to reposition or change
screen.

Apparently none of the Xlib functions called from `repositionWin` flush
the Xlib output buffer (XMoveResizeWindow is known to not flush,
although it's unfortunately not documented), so when compiled with the
threaded runtime that runs XNextEvent in a separate thread, the
reposition is sent to the X server only later when other stuff happens.
With all monitors set to refresh once a minute, this can take a looong
time.

(It's entirely possible this happens even without the threaded runtime,
I didn't test that, sorry.)

The fix is to call XSync at the end of `repositionWin`.

While at it, I spotted that drawInWin calls XSync with discard=true,
which seems like a mistake. We don't want to discard any events, do we?
(In practice, I'd expect the `eventer` thread to read all events even
before the drawing thread manages to discard them, so even if this
discarding XSync ever had any reason to be there, I don't think it does
anything meaningful these days. I may be wrong, though.)
</content>
</entry>
<entry>
<title>Revert "Conditional encoding …" and "Avoid double utf8 encoding" (#482)</title>
<updated>2021-04-27T13:39:14Z</updated>
<author>
<name>Tomas Janousek</name>
<email>tomi@nomi.cz</email>
</author>
<published>2021-04-27T13:19:53Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=90847c6b79cb536c7ce6bdf4250fd43110f8f8c3'/>
<id>urn:sha1:90847c6b79cb536c7ce6bdf4250fd43110f8f8c3</id>
<content type='text'>
This reverts commits c6669e26e1 (partially; changelog entry kept),
73e02934d6, 78efa5900a.

These commits were introduced as a workaround for a double UTF-8
encoding bug in xmonad-contrib which itself was meant to be a
fix/workaround for another issue. We have now identified the underlying
issue and fixed it right at the root, so this entire cascade of hacky
(and wrong) workarounds can be safely reverted. Thankfully, none of the
xmonad-contrib hacks made it into a release, so there's no backward
compat to worry about.

Should anyone be interested in the details,
https://github.com/xmonad/xmonad-contrib/commit/63e31ccd8d2865863778207b679f806941bf2788
provides a summary and links to all the related issues and PRs.

Related: https://github.com/jaor/xmobar/pull/482
Related: https://github.com/jaor/xmobar/issues/476
Related: https://github.com/xmonad/xmonad-contrib/commit/63e31ccd8d2865863778207b679f806941bf2788
Related: https://github.com/xmonad/xmonad-contrib/pull/471
Related: https://github.com/xmonad/xmonad-contrib/issues/377
</content>
</entry>
<entry>
<title>Workaround for hlint failure</title>
<updated>2021-04-26T13:17:45Z</updated>
<author>
<name>Tomas Janousek</name>
<email>tomi@nomi.cz</email>
</author>
<published>2021-04-26T11:39:50Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=18f4042472656d4a80b6da5d4a6f0635f4cdd8ae'/>
<id>urn:sha1:18f4042472656d4a80b6da5d4a6f0635f4cdd8ae</id>
<content type='text'>
hlint started failing recently:

    src/Xmobar/X11/Text.hs:121:32: Error: Parse error: on input `-'
    Found:
        textExtents (Utf8 fs) s = do
          let (_,rl)  = wcTextExtents fs s
      &gt;       ascent  = fromIntegral $ - (rect_y rl)
              descent = fromIntegral $ rect_height rl + fromIntegral (rect_y rl)
          return (ascent, descent)

It's probably a change in the parser or something, didn't really look
into it, just changed it to something that's parsable.
</content>
</entry>
<entry>
<title>Fix off-by-one in strut calculation for Static position</title>
<updated>2021-04-26T13:17:37Z</updated>
<author>
<name>Tomas Janousek</name>
<email>tomi@nomi.cz</email>
</author>
<published>2021-04-26T10:45:17Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=dd8584af1ac7c2853c4db0ee2d1bfe1f71e62fde'/>
<id>urn:sha1:dd8584af1ac7c2853c4db0ee2d1bfe1f71e62fde</id>
<content type='text'>
Pixel intervals in _NET_WM_STRUT_PARTIAL are closed, not open [1], so
xmobar of width 1920 at x=0 needs to be encoded as ⟨0, 1919⟩, not ⟨0,
1920). The code already does this for Top/Bottom positioning, but Static
has been buggy for years.

[1]: https://specifications.freedesktop.org/wm-spec/1.5/ar01s05.html#idm46075117229424

Fixes: https://old.reddit.com/r/xmonad/comments/mynegr/xmobar_dual_monitor_bug/
Fixes: https://github.com/jaor/xmobar/issues/530
</content>
</entry>
<entry>
<title>Add FreeBSD support to Cpu plugin</title>
<updated>2021-03-30T21:45:54Z</updated>
<author>
<name>Kevin Zheng</name>
<email>kevinz5000@gmail.com</email>
</author>
<published>2021-03-30T21:43:56Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=82461417abbcd2e03e4329d68df4a15866885dd2'/>
<id>urn:sha1:82461417abbcd2e03e4329d68df4a15866885dd2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix typo `DRTSOPTS` -&gt; `RTSOPTS`</title>
<updated>2021-03-18T16:52:22Z</updated>
<author>
<name>Claudio Bley</name>
<email>claudio.bley@gmail.com</email>
</author>
<published>2021-03-18T16:52:22Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=61d075d3c275366c3344d59c058d7dd0baf21ef2'/>
<id>urn:sha1:61d075d3c275366c3344d59c058d7dd0baf21ef2</id>
<content type='text'>
The cpp option `-DRTSOPTS` results in `RTSOPTS` being defined.</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>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>
</feed>
