<feed xmlns='http://www.w3.org/2005/Atom'>
<title>xmobar/src/Plugins, branch 0.23</title>
<subtitle>a minimalistic status bar</subtitle>
<id>https://jao.io/cgit/xmobar/atom?h=0.23</id>
<link rel='self' href='https://jao.io/cgit/xmobar/atom?h=0.23'/>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/'/>
<updated>2015-02-01T02:21:31Z</updated>
<entry>
<title>Added additional wind parser case for "Variable at"</title>
<updated>2015-02-01T02:21:31Z</updated>
<author>
<name>Dino Morelli</name>
<email>dino@ui3.info</email>
</author>
<published>2015-01-31T20:43:18Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=72acb4ad02d7add803c8bf397aa0f58106cd2672'/>
<id>urn:sha1:72acb4ad02d7add803c8bf397aa0f58106cd2672</id>
<content type='text'>
Wind data sometimes looks like this:

  "Wind: Variable at 3 MPH (3 KT):0"

Note the missing direction info. This fix adds an additional
parser for this case to pWind.
</content>
</entry>
<entry>
<title>Honour the -S (show suffix) monitor flag in CpuFreq</title>
<updated>2014-12-26T17:20:49Z</updated>
<author>
<name>jao</name>
<email>jao@gnu.org</email>
</author>
<published>2014-12-26T17:20:49Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=636c6edc8a6d799846aece65744643e4adb0e82c'/>
<id>urn:sha1:636c6edc8a6d799846aece65744643e4adb0e82c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>MPD: add a new template variable 'flags'</title>
<updated>2014-12-15T04:29:58Z</updated>
<author>
<name>Duncan Burke</name>
<email>duncankburke@gmail.com</email>
</author>
<published>2014-12-14T06:14:49Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=87c8c13bf4346ba5d4e42684530e6642cdb534ba'/>
<id>urn:sha1:87c8c13bf4346ba5d4e42684530e6642cdb534ba</id>
<content type='text'>
Displays playback flags in the style of ncmpcpp.
</content>
</entry>
<entry>
<title>Introduce available memory variables in memory monitor</title>
<updated>2014-11-12T20:23:54Z</updated>
<author>
<name>Samuli Thomasson</name>
<email>simsaladin@paivola.fi</email>
</author>
<published>2014-11-12T07:10:15Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=5ca683d08663cf623422dcfd2085db799bf761df'/>
<id>urn:sha1:5ca683d08663cf623422dcfd2085db799bf761df</id>
<content type='text'>
Available memory is determined from meminfo's `MemAvailable:` on 3.14 and
newer, and falls back to `free + buffer + cache` on older systems.

Introduces new variables `&lt;available{,ratio,bar,vbar,ipat}&gt;`.
</content>
</entry>
<entry>
<title>Using fromMaybe</title>
<updated>2014-09-27T22:36:33Z</updated>
<author>
<name>jao</name>
<email>jao@gnu.org</email>
</author>
<published>2014-09-27T22:36:33Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=5c6252dc55a87a42c3cd43e5ffab7e9328004f4d'/>
<id>urn:sha1:5c6252dc55a87a42c3cd43e5ffab7e9328004f4d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Upgrade to libmpd 0.9</title>
<updated>2014-09-27T22:25:54Z</updated>
<author>
<name>jao</name>
<email>jao@gnu.org</email>
</author>
<published>2014-09-27T22:24:15Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=6b9dfabf23b7c48a86c3553a63ebb3924bea8d46'/>
<id>urn:sha1:6b9dfabf23b7c48a86c3553a63ebb3924bea8d46</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'dynamic-strings' of https://github.com/projedi/xmobar</title>
<updated>2014-09-24T18:54:16Z</updated>
<author>
<name>jao</name>
<email>jao@gnu.org</email>
</author>
<published>2014-09-24T18:54:16Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=b0f07db920d9ed446532dfc1aaddd3e7f57d0592'/>
<id>urn:sha1:b0f07db920d9ed446532dfc1aaddd3e7f57d0592</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename dynamic string to icon pattern</title>
<updated>2014-09-24T08:31:54Z</updated>
<author>
<name>Alexander Shabalin</name>
<email>shabalyn.a@gmail.com</email>
</author>
<published>2014-09-24T08:31:54Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=f8b7b22253d72b7b6ecf83bac87a8cda41040f49'/>
<id>urn:sha1:f8b7b22253d72b7b6ecf83bac87a8cda41040f49</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Locks: Implement event-driven locks indicator</title>
<updated>2014-09-17T03:20:11Z</updated>
<author>
<name>Anton Vorontsov</name>
<email>anton@enomsg.org</email>
</author>
<published>2014-09-17T01:18:30Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=16f0bee5a49f95aa47e1ab59010f79b62c07710b'/>
<id>urn:sha1:16f0bee5a49f95aa47e1ab59010f79b62c07710b</id>
<content type='text'>
This commit does more fundamental rework of the "Locks" plug-in: now the
plug-in is fully event-driven and thus extremely power-efficient,
effectively zero CPU consumption while idling.
</content>
</entry>
<entry>
<title>Locks: Rework to avoid unnecessary display reopening</title>
<updated>2014-09-17T03:20:10Z</updated>
<author>
<name>Anton Vorontsov</name>
<email>anton@enomsg.org</email>
</author>
<published>2014-09-16T22:48:49Z</published>
<link rel='alternate' type='text/html' href='https://jao.io/cgit/xmobar/commit/?id=73053ddf3386604f19b494afd9c234ac50427d6c'/>
<id>urn:sha1:73053ddf3386604f19b494afd9c234ac50427d6c</id>
<content type='text'>
The extremely useful "Locks" plugin eats quite a lot of CPU (&gt;2% here on a
old-ish laptop), unfortunately. The plug-in unnecessary reopens the
display, which is quite expensive operation. It results into 16 syscalls:

     socket(PF_LOCAL)      -&gt; connect(sun_path=@"/tmp/.X11-unix/X0"})
  -&gt; getpeername()         -&gt; uname()
  -&gt; access(".Xauthority") -&gt; open(".Xauthority")
  -&gt; fstat()               -&gt; mmap()
  -&gt; read()                -&gt; close()
  -&gt; munmap()              -&gt; getsockname()
  -&gt; fcntl(F_SETFD)        -&gt; fcntl(F_SETFL)
  -&gt; shutdown()            -&gt; close()

This is almost half of all the syscalls that we ought to execute for the
plug-in to work. Now, considering the useful work and that "Locks" runs
every 200 milliseconds, it gives us &gt;300 syscalls (and a lot more
wake-ups) per second.

This commit fixes the reopening issue, effectively halving the CPU
consumption (down to ~1%). The patch also makes it easier to implement
event-driven indicators that will reduce the idle CPU consumption to 0.
</content>
</entry>
</feed>
