<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sandbar, branch main</title>
<subtitle>Status bar for i3 or sway on NetBSD. Both performance and appearance are priorities. Uses xcb and xft, in Rust. Rounded corners and antialiased fonts.
</subtitle>
<id>http://code.irenes.space/sandbar/atom?h=main</id>
<link rel='self' href='http://code.irenes.space/sandbar/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://code.irenes.space/sandbar/'/>
<updated>2026-11-13T05:40:42+00:00</updated>
<entry>
<title>okay, all the color stuff is well-organized now</title>
<updated>2026-11-13T05:40:42+00:00</updated>
<author>
<name>Irene Knapp</name>
<email>ireneista@irenes.space</email>
</author>
<published>2026-11-13T05:40:42+00:00</published>
<link rel='alternate' type='text/html' href='http://code.irenes.space/sandbar/commit/?id=e521722f5fd339ef72ee51af88f3941b71b1d9cf'/>
<id>urn:sha1:e521722f5fd339ef72ee51af88f3941b71b1d9cf</id>
<content type='text'>
since color is one of those "the data is the point" types, rather than one that encapsulates remote state, both the xcb and xft stuff is handled by a single type, Color.

Force-Push: yes
Change-Id: I192c40b13dd9040897cbf043d5dd84d5a73f607b
</content>
</entry>
<entry>
<title>move XftDraw pointers into a new wrapper FontGraphicContext</title>
<updated>2026-11-13T04:38:14+00:00</updated>
<author>
<name>Irene Knapp</name>
<email>ireneista@irenes.space</email>
</author>
<published>2026-11-13T04:38:14+00:00</published>
<link rel='alternate' type='text/html' href='http://code.irenes.space/sandbar/commit/?id=9f61e842d01f910349458466c3749d92561f5cde'/>
<id>urn:sha1:9f61e842d01f910349458466c3749d92561f5cde</id>
<content type='text'>
impl Drop :)

Force-Push: yes
Change-Id: I2a2a488819c9f03205aade5dd5d119c02dd8a3c2
</content>
</entry>
<entry>
<title>move some of the font rendering into its own file</title>
<updated>2026-11-13T01:38:43+00:00</updated>
<author>
<name>Irene Knapp</name>
<email>ireneista@irenes.space</email>
</author>
<published>2026-11-13T01:38:43+00:00</published>
<link rel='alternate' type='text/html' href='http://code.irenes.space/sandbar/commit/?id=7138ace1c1f97f85509278e50b72eb62ed0fd315'/>
<id>urn:sha1:7138ace1c1f97f85509278e50b72eb62ed0fd315</id>
<content type='text'>
Force-Push: yes
Change-Id: I628d0d05bf75ac781cf6eb6524972b4e61d25e61
</content>
</entry>
<entry>
<title>draw text</title>
<updated>2026-11-12T21:23:50+00:00</updated>
<author>
<name>Irene Knapp</name>
<email>ireneista@irenes.space</email>
</author>
<published>2026-11-12T07:36:19+00:00</published>
<link rel='alternate' type='text/html' href='http://code.irenes.space/sandbar/commit/?id=7c457902864fd3e54832dd22bf33f324b6ec3cdb'/>
<id>urn:sha1:7c457902864fd3e54832dd22bf33f324b6ec3cdb</id>
<content type='text'>
this uses Xft, which unfortunately has a lot of parallel tooling

it needs some refactoring into its own files, but it works :)

Change-Id: I0e78ea69167b1d91af2e9f494d757564d8cb7cdb
Force-Push: yes
</content>
</entry>
<entry>
<title>rounded corners</title>
<updated>2026-11-12T07:18:39+00:00</updated>
<author>
<name>Irene Knapp</name>
<email>ireneista@irenes.space</email>
</author>
<published>2026-11-12T07:18:39+00:00</published>
<link rel='alternate' type='text/html' href='http://code.irenes.space/sandbar/commit/?id=6480f84e8ee9839fb486916d708712daf34a0aff'/>
<id>urn:sha1:6480f84e8ee9839fb486916d708712daf34a0aff</id>
<content type='text'>
fun

that was some nontrivial type magick

Force-Push: yes
Change-Id: I9b2848cc76f3dfab5b87d7e6b2f28bf2a136fca5
</content>
</entry>
<entry>
<title>moves towards nontrivial drawing</title>
<updated>2026-11-12T05:15:21+00:00</updated>
<author>
<name>Irene Knapp</name>
<email>ireneista@irenes.space</email>
</author>
<published>2026-11-12T05:15:21+00:00</published>
<link rel='alternate' type='text/html' href='http://code.irenes.space/sandbar/commit/?id=cea4c230b40d5ea2851ed3f97f73b2554849dc34'/>
<id>urn:sha1:cea4c230b40d5ea2851ed3f97f73b2554849dc34</id>
<content type='text'>
also, a little cleanup of trait consistency

Force-Push: yes
Change-Id: I71e07685d605ec93d98982b3660dcd8d154f8d9d
</content>
</entry>
<entry>
<title>all the xcb wrapper types are in individual files now</title>
<updated>2026-11-12T04:32:53+00:00</updated>
<author>
<name>Irene Knapp</name>
<email>ireneista@irenes.space</email>
</author>
<published>2026-11-12T04:03:30+00:00</published>
<link rel='alternate' type='text/html' href='http://code.irenes.space/sandbar/commit/?id=960663d476d8a1391b8bcc4424f3f716147068ab'/>
<id>urn:sha1:960663d476d8a1391b8bcc4424f3f716147068ab</id>
<content type='text'>
the trait inheritance structure isn't THAT convoluted, but having more than one of these in a file was obscuring things.

Change-Id: I5132a6304796654d778d731be1ecb1c7b4e77120
Force-Push: yes
</content>
</entry>
<entry>
<title>graphics contexts! with RAII!</title>
<updated>2026-11-12T03:39:00+00:00</updated>
<author>
<name>Irene Knapp</name>
<email>ireneista@irenes.space</email>
</author>
<published>2026-11-12T03:39:00+00:00</published>
<link rel='alternate' type='text/html' href='http://code.irenes.space/sandbar/commit/?id=89a6a257f89bba997e778160c53938be371ec6ac'/>
<id>urn:sha1:89a6a257f89bba997e778160c53938be371ec6ac</id>
<content type='text'>
much trait refactoring

the way forward to structure this cleanly is clear now, as well, but not implemented yet

Force-Push: yes
Change-Id: Ib3905edcfd49bf19d0fa7e4285f2edfed312d539
</content>
</entry>
<entry>
<title>do proper color management</title>
<updated>2026-11-12T01:01:29+00:00</updated>
<author>
<name>Irene Knapp</name>
<email>ireneista@irenes.space</email>
</author>
<published>2026-11-12T00:31:19+00:00</published>
<link rel='alternate' type='text/html' href='http://code.irenes.space/sandbar/commit/?id=c5f15297d53904ecfb1e2e6e2df915e380eff2e0'/>
<id>urn:sha1:c5f15297d53904ecfb1e2e6e2df915e380eff2e0</id>
<content type='text'>
well, sort of. we can't test indexed color, so there's no code specifically accounting for it. ah well.

Change-Id: Ic12854c17fd7d433a7ee129ad5663d1bdb2ee541
Force-Push: yes
</content>
</entry>
<entry>
<title>now it's in two files</title>
<updated>2026-11-11T16:25:10+00:00</updated>
<author>
<name>Irene Knapp</name>
<email>ireneista@irenes.space</email>
</author>
<published>2026-11-11T16:25:10+00:00</published>
<link rel='alternate' type='text/html' href='http://code.irenes.space/sandbar/commit/?id=cc1bed1f1f3e26a6a00b292ace94b6991c181ff9'/>
<id>urn:sha1:cc1bed1f1f3e26a6a00b292ace94b6991c181ff9</id>
<content type='text'>
Force-Push: yes
Change-Id: I43fdbd0769fa61ef4e5d6ea053fa210175e47d6a
</content>
</entry>
</feed>
