diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-09-17 11:49:35 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-09-17 11:49:35 +0200 |
| commit | 3ff1363446e238a8d7a9fdeb533763fb3f9ec307 (patch) | |
| tree | 08e61eec656d00140e6ea020b523d96b70bf2e87 | |
| parent | 629ec29e33506a9bf96f552dcc2e6b6cd0560916 (diff) | |
| download | krino-3ff1363446e238a8d7a9fdeb533763fb3f9ec307.tar.gz krino-3ff1363446e238a8d7a9fdeb533763fb3f9ec307.zip | |
gui: the path keeps its telling end, and the checklist grows three items
Squeezed, the toolbar's path label read "/t... ds". It now elides the
start, since the end of a path is the part that says which directory
this is, and will not shrink below about sixteen characters; the
tooltip still holds it in full.
The checklist gains the reordered bar, the About block, and the
sandbox trap that had every file skipped: krino's own (min-age 2m)
ignores a file written in the last two minutes.
| -rw-r--r-- | docs/gui-checklist.md | 9 | ||||
| -rw-r--r-- | gui/internal/ui/plan.go | 8 |
2 files changed, 15 insertions, 2 deletions
diff --git a/docs/gui-checklist.md b/docs/gui-checklist.md index 4b646b2..d07ca17 100644 --- a/docs/gui-checklist.md +++ b/docs/gui-checklist.md @@ -15,8 +15,13 @@ HOME="$S/home" XDG_CONFIG_HOME="$S/home/.config" XDG_DATA_HOME="$S/home/.local/s # write dirs/inbox.conf with (path "$S/inbox") and a few rules, put # invented files in "$S/inbox", then run krino-gui with the same HOME and # XDG_* set. +touch -d '3 hours ago' "$S/inbox/"* ``` +That last line matters: krino's own `(min-age 2m)` skips a file written in +the last two minutes, so a sandbox built and scanned in one breath shows +every file skipped and nothing to act on. + A headless X server keeps the run out of the way of whatever else is on the screen, and lets `import` take the same screenshots: @@ -148,3 +153,7 @@ A dialog is its own window: take it by its own id, not the main window's. takes one out, and saving writes the same nesting back. 49. Selecting the exclude row in Forms opens its conditions like a rule's, with no name, action or `(stop)`, and the window does not fall over. +50. The Plan bar reads in the order the work happens - directory, sort, + filter, the path on disk, Scan - and Scan carries the theme's accent. +51. Settings ends with About: the program and the version it was built as, + the licence, and the contact address, all selectable. diff --git a/gui/internal/ui/plan.go b/gui/internal/ui/plan.go index fe99a18..650668c 100644 --- a/gui/internal/ui/plan.go +++ b/gui/internal/ui/plan.go @@ -88,8 +88,12 @@ func newPlanView(w *Window) *planView { p.path = gtk.NewLabel("") p.path.SetXAlign(0) p.path.SetHExpand(true) - p.path.SetEllipsize(pango.EllipsizeMiddle) - p.path.SetMaxWidthChars(20) + // The end of a path says which directory this is, so that is the end + // that survives. It may be squeezed, but not to "/t... ds": below + // about this much it says nothing, and the tooltip holds it in full. + p.path.SetEllipsize(pango.EllipsizeStart) + p.path.SetMaxWidthChars(24) + p.path.SetWidthChars(16) p.dirs.Connect("notify::selected", p.showPath) p.scan = gtk.NewButtonWithLabel("Scan") // The one button that starts everything, so it carries the theme's |
