<feed xmlns='http://www.w3.org/2005/Atom'>
<title>krino.git/gui/cmd/krino-gui, branch v0.0.12</title>
<subtitle>rule-based file sorter in Go, shows the plan before touching anything, applies only the files you choose, and can undo any run, with s-expression rules and a GTK 4 window</subtitle>
<id>https://git.labunix.xyz/krino.git/atom?h=v0.0.12</id>
<link rel='self' href='https://git.labunix.xyz/krino.git/atom?h=v0.0.12'/>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/krino.git/'/>
<updated>2026-09-17T10:54:06Z</updated>
<entry>
<title>the module path is git.labunix.xyz/krino</title>
<updated>2026-09-17T10:54:06Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-09-17T10:54:06Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/krino.git/commit/?id=1884d56b0d399e9cdb80016a9c166b0120989933'/>
<id>urn:sha1:1884d56b0d399e9cdb80016a9c166b0120989933</id>
<content type='text'>
So that go install can find it. cgit serves no go-import meta tag, so
nginx answers a ?go-get=1 request for /NAME with one pointing at
https://git.labunix.xyz/NAME.git; the alternative was carrying a .git
suffix through every import line forever.

One sed over the imports, both go.mod files, and the dependency gate's
whitelist. Nothing else depends on the path. go install works from the
next tag, the first release whose go.mod carries it.
</content>
</entry>
<entry>
<title>gui: the toolbar in the order things happen, and an About block</title>
<updated>2026-09-17T09:44:09Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-09-17T09:44:09Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/krino.git/commit/?id=629ec29e33506a9bf96f552dcc2e6b6cd0560916'/>
<id>urn:sha1:629ec29e33506a9bf96f552dcc2e6b6cd0560916</id>
<content type='text'>
The Plan bar now reads left to right as the work does: which
directory, how it should be listed, what of it, where it is on disk -
then Scan, and only then what to do with what came back. Scan carries
the theme's accent, being the button that starts everything.

Settings ends with About: the program and the version it was built
as, what it is in a sentence, the licence, and who to write to. The
text is model.About so it is tested; ui.Version is stamped by main.

leak-check knows krino's own contact address, so the address check
stays useful without a per-clone setting.
</content>
</entry>
<entry>
<title>gui: History and undo tab; each plan and undo is its own run</title>
<updated>2026-09-16T07:39:59Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-09-16T07:39:59Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/krino.git/commit/?id=6ef83d6bdfb6120f9e1fbd145e0bc463196103d1'/>
<id>urn:sha1:6ef83d6bdfb6120f9e1fbd145e0bc463196103d1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>gui: the Plan tab - scan, review, apply, with the directory locked</title>
<updated>2026-09-16T07:17:08Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-09-16T07:17:08Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/krino.git/commit/?id=bcfeb773afcc28641ef2fb47749c91fd0767054a'/>
<id>urn:sha1:bcfeb773afcc28641ef2fb47749c91fd0767054a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>gui module: the plan tab's model, with tests</title>
<updated>2026-09-16T06:24:54Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-09-16T06:24:54Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/krino.git/commit/?id=4f98392c9a062e9d4dd8363a2ede9a919ad14006'/>
<id>urn:sha1:4f98392c9a062e9d4dd8363a2ede9a919ad14006</id>
<content type='text'>
</content>
</entry>
</feed>
