<feed xmlns='http://www.w3.org/2005/Atom'>
<title>krino.git/gui/internal/model/prefs_test.go, 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-17T12:16:19Z</updated>
<entry>
<title>Settings changes take effect, and keep this copy respects the plan</title>
<updated>2026-09-17T12:16:19Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-09-17T12:16:19Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/krino.git/commit/?id=f74a02254ac15a84d38c9a254ead293ebaad2377'/>
<id>urn:sha1:f74a02254ac15a84d38c9a254ead293ebaad2377</id>
<content type='text'>
Five of the Settings window's controls - the sort order, the three
column toggles and the preview height - were read when it built its new
preferences but never connected to anything, so changing them did
nothing until some other control happened to fire, and then they all
landed at once out of nowhere. Every control is connected now.

The same closure composed a whole Prefs from its own widgets, which
wrote the remembered divider positions back as zeros: dragging the
panes to taste and then ticking any checkbox threw them away. A
settings change is now applied over the preferences as they are, by
model.Prefs.WithDisplay - which is where it can be tested, and is.

"Keep this copy, replace the other" wrote a Displaces straight into the
chain. internal/plan refuses to build two steps that displace one path,
because the second destroys what the first put there; the window went
round that code, so choosing it for two duplicates of one file left
both rows saying "done" with the first file in the Trash. It now
refuses the second, naming the file that has the place.
</content>
</entry>
<entry>
<title>gui: coloured actions with headers, a filter over the plan, bulk trash or delete</title>
<updated>2026-09-16T22:51:15Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-09-16T22:51:15Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/krino.git/commit/?id=5418ba6bc5c653b6a99572c6ece6abbf57836c43'/>
<id>urn:sha1:5418ba6bc5c653b6a99572c6ece6abbf57836c43</id>
<content type='text'>
</content>
</entry>
<entry>
<title>gui: syntax colours, a file preview, and a settings window</title>
<updated>2026-09-16T22:23:51Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-09-16T22:23:51Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/krino.git/commit/?id=04b4243ad31d144c4caf9be4c5096a0f27a2648e'/>
<id>urn:sha1:04b4243ad31d144c4caf9be4c5096a0f27a2648e</id>
<content type='text'>
</content>
</entry>
</feed>
