summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-09-16 21:22:42 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-09-16 21:22:42 +0200
commit9300992c8a0043900a6cd76626310189d2537634 (patch)
treeb08705258d1e0c83a1274b880e69f7e1f769b0ce /README.md
parentcace98008d132e48f19b405b5bddc4a6067c0cae (diff)
downloadkrino-6bf670e92ece86708179b0595abedd9412bc77b0.tar.gz
krino-6bf670e92ece86708179b0595abedd9412bc77b0.zip
krino-gui(1), README and changelog for 0.0.10v0.0.10
Diffstat (limited to 'README.md')
-rw-r--r--README.md35
1 files changed, 31 insertions, 4 deletions
diff --git a/README.md b/README.md
index 81eec89..3d7f368 100644
--- a/README.md
+++ b/README.md
@@ -8,9 +8,10 @@ shows the plan before touching anything, lets you approve all of it or file
by file, logs every step, and can undo a run. Version 0.0.9 is the engine
and this command-line interface: per-directory rule files, placeholders in
destinations and new names, a keyword cache that makes a rerun fast, and
-builds for Linux, FreeBSD and OpenBSD. It is not a GUI (that comes later), a
-watch mode, OCR, EXIF dates, macOS or Windows support, a shell-command
-action, or a way to look inside archives.
+builds for Linux, FreeBSD and OpenBSD. Version 0.0.10 adds `krino-gui`, an
+optional GTK 4 window onto the same engine (see below). It is not a watch
+mode, OCR, EXIF dates, macOS or Windows support, a shell-command action, or
+a way to look inside archives.
## Install
@@ -210,6 +211,32 @@ that contain your home directory's path or an email address, and it catches
rule content only when a private pattern list is configured with
`git config krino.leakpatterns FILE`.
+## The window
+
+`krino-gui` is an optional GTK 4 window onto the same engine: it plans a
+directory, shows what would happen to each file with the explanation beside
+it, applies the files you check, undoes a run, and edits a directory's rules
+as forms or as text with the configuration checked as you type. Every
+decision is the engine's, so the window and the command line agree, and a
+run it applies is an ordinary run in the log that `krino undo` can reverse.
+
+```
+make gui && make install-gui
+```
+
+It lives in `gui/`, a nested module of its own, and needs GTK 4 development
+files and cgo — which the command line does not, so neither is needed to
+build or use `krino` itself:
+
+```
+sudo apt install libgtk-4-dev libgirepository1.0-dev # Debian, Devuan
+```
+
+The release tarballs hold the cross-compiled `krino` only; `krino-gui` is
+built from source on the machine that runs it. `man/krino-gui.1` describes
+the window, and `docs/gui-checklist.md` is what is run by hand before a
+release that changes it.
+
## Safety
- `(delete)` moves a file to the freedesktop.org Trash by default, not
@@ -233,7 +260,7 @@ rule content only when a private pattern list is configured with
## Status
-**0.0.9, local only.** The module path is `krino`; `go install` only
+**0.0.10, local only.** The module path is `krino`; `go install` only
works once a remote is chosen and the imports are renamed to match
(`docs/design.md`, §18). Until then, build from a clone.
`krino -n --json`'s output shape is unstable before krino 1.0 — don't