summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-07-22 11:04:05 +0300
committerPaul Buetow <paul@buetow.org>2026-07-22 11:04:05 +0300
commit9af69a3409f67cbe3807538ccfb56fd0d3f43070 (patch)
tree912c18c43cfaecde242d15a0f60db88e40f2be78 /docs
parentd0a824c685db1567facaf08fcae19ee0636496da (diff)
Integrate navigator marks into window and grid UI (M8)
Wire the navigator mark API into the window actions, grid badges, and keyboard/pointer controls: - Navigator: add a path-based range anchor (p_last_mark) set on `v` toggle-on and cleared on unmark-of-anchor / clear_marks / remove / mark_removed / rescan-prune; expose navigator_get_last_mark(). navigator_mark_removed now clears the removed file's mark (decision Q / task du0) and the anchor if it was it, without touching unrelated marks, and emits "changed" whenever the removed set or marks actually changed so grid badges and the header never go stale. - Window: add win.mark-range (`V`: range from the last-mark anchor to the current/grid-selected image), register it, wire Shift+V, and document it in the shortcuts overlay. Trash/delete clear marks via mark_removed. - Grid: middle-click on a cell selects it and dispatches win.mark (pointer-accessible marks). - Tests: unit test_marks_anchor_and_remove and test_marks_anchor_pruned_on_rescan; integration test_marks.c covering toggle, all+clear, range, persistence across view switch, clear-on-trash, and the middle-click gesture wiring; updated test_shortcut.c action table + count. clang-format clean; full suite + ASan leak check green.
Diffstat (limited to 'docs')
-rw-r--r--docs/ui-and-interactions.md6
1 files changed, 4 insertions, 2 deletions
diff --git a/docs/ui-and-interactions.md b/docs/ui-and-interactions.md
index 05081e1..28718e1 100644
--- a/docs/ui-and-interactions.md
+++ b/docs/ui-and-interactions.md
@@ -124,7 +124,8 @@ the grid it quits. `q` always quits outright (exiting fullscreen first).
— `scroll-behavior` setting.
- **Click-drag** — pan when zoomed in.
- **Double-click** — toggle fit ↔ 100%.
-- **Middle-click** — toggle fullscreen.
+- **Middle-click** — toggle mark on a grid cell (grid view) / toggle
+ fullscreen (large view).
- **Touch pinch** — zoom; **swipe** — next/prev; **two-finger tap** — info.
## Zoom behavior
@@ -161,7 +162,8 @@ Loaded lazily; never blocks display of the pixels.
small, fewer when large. Size persists in GSettings (`thumbnail-size`) and
is restored on next launch; `0` resets to default.
- Marks: `v` toggles a check badge on the current cell; `V` range-marks;
- `Ctrl+a` marks all. `d`/`D`/`m` act on the marked set (or current if none).
+ `Ctrl+a` marks all; middle-click a cell toggles its mark. `d`/`D`/`m` act on the
+ marked set (or current if none).
## Selection & moving