<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dmenu.git/util.h, branch master</title>
<subtitle>dynamic menu
</subtitle>
<link rel='alternate' type='text/html' href='https://git.kartoffeltoaster.de/dmenu.git/'/>
<entry>
<title>drw: minor improvement to the nomatches cache</title>
<updated>2023-07-07T13:03:57+00:00</updated>
<author>
<name>NRK</name>
<email>nrk@disroot.org</email>
</author>
<published>2023-07-07T11:00:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kartoffeltoaster.de/dmenu.git/commit/?id=7ab0cb5ef0e19352fc5d64ae0d57a5cf4540acbf'/>
<id>7ab0cb5ef0e19352fc5d64ae0d57a5cf4540acbf</id>
<content type='text'>
1. use `unsigned int` to store the codepoints, this avoids waste on
   common case where `long` is 64bits. and POSIX guarantees `int` to be
   at least 32bits so there's no risk of truncation.
2. since switching to `unsigned int` cuts down the memory requirement by
   half, double the cache size from 64 to 128.
3. instead of a linear search, use a simple hash-table for O(1) lookups.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
1. use `unsigned int` to store the codepoints, this avoids waste on
   common case where `long` is 64bits. and POSIX guarantees `int` to be
   at least 32bits so there's no risk of truncation.
2. since switching to `unsigned int` cuts down the memory requirement by
   half, double the cache size from 64 to 128.
3. instead of a linear search, use a simple hash-table for O(1) lookups.
</pre>
</div>
</content>
</entry>
<entry>
<title>import new drw from libsl and minor fixes.</title>
<updated>2016-06-03T17:13:15+00:00</updated>
<author>
<name>Markus Teich</name>
<email>markus.teich@stusta.mhn.de</email>
</author>
<published>2016-05-21T19:51:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kartoffeltoaster.de/dmenu.git/commit/?id=44c7de3dcf49ee568863f55610f40c7a05b4dfe7'/>
<id>44c7de3dcf49ee568863f55610f40c7a05b4dfe7</id>
<content type='text'>
- extract drawitem function (code deduplication)
- fix bug where inputw was not correctly calculated from the widest item, but
  just from the one with the longest strlen() which is not the same. It's better
  now, but does not account for fallback fonts, since it would be too slow to
  calculate all the correct item widths on startup.
- minor code style fixes (indentation, useless line breaks)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- extract drawitem function (code deduplication)
- fix bug where inputw was not correctly calculated from the widest item, but
  just from the one with the longest strlen() which is not the same. It's better
  now, but does not account for fallback fonts, since it would be too slow to
  calculate all the correct item widths on startup.
- minor code style fixes (indentation, useless line breaks)
</pre>
</div>
</content>
</entry>
<entry>
<title>add sbase-style ecalloc(), calloc: or die</title>
<updated>2015-10-20T20:51:57+00:00</updated>
<author>
<name>Hiltjo Posthuma</name>
<email>hiltjo@codemadness.org</email>
</author>
<published>2015-10-20T20:51:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kartoffeltoaster.de/dmenu.git/commit/?id=5a20b409c673a6736c3f9326cb54edc32908f717'/>
<id>5a20b409c673a6736c3f9326cb54edc32908f717</id>
<content type='text'>
... remove intermediary variables
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
... remove intermediary variables
</pre>
</div>
</content>
</entry>
<entry>
<title>Use libdraw: add Xft and fallback-fonts support to graphics lib</title>
<updated>2015-06-27T19:47:10+00:00</updated>
<author>
<name>Hiltjo Posthuma</name>
<email>hiltjo@codemadness.org</email>
</author>
<published>2015-05-04T19:54:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kartoffeltoaster.de/dmenu.git/commit/?id=4b1fecd44e8376594c418663351fcb30c4e841de'/>
<id>4b1fecd44e8376594c418663351fcb30c4e841de</id>
<content type='text'>
- libdraw, util: add drw.{c,h}, util.{c,h} and update code.
- libdraw: fix drw_rect(): use w and h parameter.
- libdraw: print errstr if last character in string was ":" (sbase).
- libdraw: drw_clr_free() allow valid free(NULL).
- config.def.h: set default font to monospace.
- cleanup() on exit.
- LICENSE: update license string for dmenu -v to 2015.
- LICENSE: add myself to LICENSE
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- libdraw, util: add drw.{c,h}, util.{c,h} and update code.
- libdraw: fix drw_rect(): use w and h parameter.
- libdraw: print errstr if last character in string was ":" (sbase).
- libdraw: drw_clr_free() allow valid free(NULL).
- config.def.h: set default font to monospace.
- cleanup() on exit.
- LICENSE: update license string for dmenu -v to 2015.
- LICENSE: add myself to LICENSE
</pre>
</div>
</content>
</entry>
</feed>
