<feed xmlns='http://www.w3.org/2005/Atom'>
<title>xmobar/src/Xmobar/Plugins/Monitors, branch master</title>
<subtitle>a minimalistic status bar</subtitle>
<id>https://jao.io/cgit/xmobar/atom?h=master</id>
<link rel='self' href='https://jao.io/cgit/xmobar/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/'/>
<updated>2026-06-26T19:59:27Z</updated>
<entry>
<title>remove " &amp;" and fix zombie processes</title>
<updated>2026-06-26T19:59:27Z</updated>
<author>
<name>Léana 江</name>
<email>leana.jiang+git@icloud.com</email>
</author>
<published>2026-06-16T13:54:22Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=5513b9100728c08789fb19d8cfc314a2c8dab876'/>
<id>urn:sha1:5513b9100728c08789fb19d8cfc314a2c8dab876</id>
<content type='text'>
" &amp;" was to avoid throwing an exception when the child process has a
non-empty exitcode. However, the error-throwing function is callCommand
and not spawnCommand, so removing " &amp;" shouldn't change the semantic.

https://codeberg.org/xmobar/xmobar/pulls/698#issuecomment-1722323
&gt; callCommand seems to be the closest new function to system, but there
&gt; is a difference: it raises an exception if the child process has a
&gt; non-zero exit code. To preserve the exact behavior would require
&gt; something like spawnCommand (s + "&amp;") &gt;&gt;= waitForProcess.

I was able to reproduce zombie processes with the following steps:
+ running my own xmobar configuration
+ spawning a command that is long running (sleep 10)
+ sending SIGTERM to the xmobar process
After doing so, the sleep command will continue to run.

This PR uses withCreateProcess, which will always wait for the process
to terminate, even when the main thread is asked to exit (SIGTERM).

Note that SIGKILL is not expected to terminate the children.
</content>
</entry>
<entry>
<title>use Int instead</title>
<updated>2026-06-23T19:41:59Z</updated>
<author>
<name>Léana 江</name>
<email>leana.jiang+git@icloud.com</email>
</author>
<published>2026-06-22T19:53:40Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=437523ebc951438bc5f0641005f9cfbb6f820e3e'/>
<id>urn:sha1:437523ebc951438bc5f0641005f9cfbb6f820e3e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pass remaining battery percentage to low battery command</title>
<updated>2026-06-23T19:41:59Z</updated>
<author>
<name>Léana 江</name>
<email>leana.jiang+git@icloud.com</email>
</author>
<published>2026-06-22T15:18:41Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=dcfbeabc8c6c3a775c946fb83628889d254aba48'/>
<id>urn:sha1:dcfbeabc8c6c3a775c946fb83628889d254aba48</id>
<content type='text'>
</content>
</entry>
<entry>
<title>guard low battery alert behind heuristics</title>
<updated>2026-06-22T14:42:02Z</updated>
<author>
<name>Léana 江</name>
<email>leana.jiang+git@icloud.com</email>
</author>
<published>2026-06-22T14:42:02Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=1d11e75205e25dab4869205a0a05178340d24aff'/>
<id>urn:sha1:1d11e75205e25dab4869205a0a05178340d24aff</id>
<content type='text'>
Previously low battery alerts only depend on the ac variable.

The ac state that is rendered (racst) follows more heuristics. However
this causes a discrepancy where xmobar can show the status is charging
while continue to spawn low battery alerts.

This PR fixes that by using the rendered ac state to decide whether the
alert is sent.
</content>
</entry>
<entry>
<title>Fix Brightness plugin - fix #775</title>
<updated>2026-05-29T20:30:43Z</updated>
<author>
<name>Enrico Maria De Angelis</name>
<email>enricomaria.dean6elis@gmail.com</email>
</author>
<published>2026-05-21T22:00:27Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=5077b585ce6e5e2521ef0ef072f038ec5821b6ee'/>
<id>urn:sha1:5077b585ce6e5e2521ef0ef072f038ec5821b6ee</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove unnecessary `extensible-exceptions` dependency</title>
<updated>2025-12-24T22:17:26Z</updated>
<author>
<name>konsumlamm</name>
<email>konsumlamm@gmail.com</email>
</author>
<published>2025-12-24T22:17:26Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=50ed21ea8cde2402d8ed139eb0c63f23826f1b1a'/>
<id>urn:sha1:50ed21ea8cde2402d8ed139eb0c63f23826f1b1a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>MPD compilable again by default with all_extensions</title>
<updated>2025-06-04T03:27:56Z</updated>
<author>
<name>jao</name>
<email>jao@gnu.org</email>
</author>
<published>2025-06-04T03:27:25Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=404073416c5f97ab8b82aa436b4f862d349c0dad'/>
<id>urn:sha1:404073416c5f97ab8b82aa436b4f862d349c0dad</id>
<content type='text'>
</content>
</entry>
<entry>
<title>swap_enabled is not accessable in FreeBSD 15/Current</title>
<updated>2025-06-02T18:45:12Z</updated>
<author>
<name>Michal Zielonka</name>
<email>michal.zielonka.8001@gmail.com</email>
</author>
<published>2025-06-02T13:36:29Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=146d85af8b54d8e346adcde9eb02917138172145'/>
<id>urn:sha1:146d85af8b54d8e346adcde9eb02917138172145</id>
<content type='text'>
instead of swap_enabled in top program currently checking number of
swap devices is used.
</content>
</entry>
<entry>
<title>hlinting</title>
<updated>2025-03-31T16:02:58Z</updated>
<author>
<name>jao</name>
<email>jao@gnu.org</email>
</author>
<published>2025-03-31T16:02:58Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=98857472d93e6c6b4c9d501ae5c7172874c1ed82'/>
<id>urn:sha1:98857472d93e6c6b4c9d501ae5c7172874c1ed82</id>
<content type='text'>
</content>
</entry>
<entry>
<title>mpris: Read track length from Word64 too</title>
<updated>2025-03-31T15:07:22Z</updated>
<author>
<name>Claudio Bley</name>
<email>claudio.bley@gmail.com</email>
</author>
<published>2025-03-31T15:07:19Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=c6976e852e4c9a8cd590c1c87eb6d7d9c6ce23c0'/>
<id>urn:sha1:c6976e852e4c9a8cd590c1c87eb6d7d9c6ce23c0</id>
<content type='text'>
According to the MPRIS v2 spec, the length of a track "must be given in
microseconds, and be represented as a signed 64-bit integer". [1]

But Spotify does not follow the spec and represents it as an unsigned
64-bit integer:

```
$ dbus-send --session --print-reply --reply-timeout=150 --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:org.mpris.MediaPlayer2.Player string:Metadata

method return time=1743433787.301824 sender=:1.142 -&gt; destination=:1.178 serial=1071 reply_serial=2
   variant       array [
         dict entry(
            string "mpris:length"
            variant                uint64 152000000
         )
...
```

This always made the `length` template argument end up empty, but
allowing a Word64 for this attribute fixes this problem.

[1]: https://specifications.freedesktop.org/mpris-spec/latest/Track_List_Interface.html#Mapping:Metadata_Map
</content>
</entry>
</feed>
