- brand.toml is the only place the product name lives; every crate and app
reads it through dac-brand (env vars with legacy fallback, settings folder
with copy-only migration, default library, preset extensions, i18n {app})
- cargo xtask brand check|test, run|install|package, docs, rename-crates,
deny and immich; packaging files are templates rendered from brand.toml
- icons regenerated from brand/icon.svg; upstream branding removed
- MIT licence (segment and fetch stay Apache-2.0); cargo deny licence policy
- clean-room rules in AGENTS.md/CLAUDE.md; docs/upstream-merge.md
- plan/ rebuilt and committed; parity tracker reopens Classic rows, adds
PLAN.md section 2 rows and the IMM Immich section; plan/immich.md and a
pinned Immich test server
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2.8 KiB
Library ratings, labels and flags
Select photos in Photo Grid or Square Grid, then use:
| Key | Action |
|---|---|
0 |
Clear the star rating |
1–5 |
Set the star rating |
6, 7, 8, 9 |
Set a red, yellow, green or blue label |
P |
Flag as a pick |
X |
Flag as rejected |
U |
Clear the flag |
Shift + any key above |
Apply the action and select the next photo |
Purple and clearing a colour label are available in Photo → Set Color Label and the photo context menu. Purple has no default number key, matching Lightroom Classic. Rejection marks a photo for culling; it does not delete the original or remove it from the library. Setting a colour label shows the same brief bottom toast as a rating, using the colour or your custom label name. Clearing it shows a confirmation too, whether applied by a key, menu or swatch. Labelled thumbnails have a translucent matching colour on the square-grid surround, photo-grid footer (translucent, over the bottom of the photo) and Detail filmstrip surround. The white active-photo outline remains clear. The label confirmation uses a pale matching background with dark text; ratings and errors retain their neutral HUD styling. Custom names use the underlying label's colour.
Grid actions apply to all selected photos and support Undo / Redo. In Compare and Survey, culling
actions apply to the active photo. Auto Advance moves forward after an action; holding Shift with
Auto Advance on still advances only once. The last photo stays selected. Text fields keep their
keyboard input, and X in the Crop panel swaps the crop aspect.
Shifted number keys also use the physical number key when the keyboard reports punctuation
(for example, Shift+1 as !). Letter shortcuts continue to follow the keyboard layout.
Shift+P picks and advances in the two library grids. In other views it retains the app's
Presets-panel binding. Shift+Z remains an alternative pick-and-advance key in all views.
The macOS native menu displays plain-key bindings but leaves execution to egui; only shortcuts
AppKit delivers to the menu (Command, Control or function keys) are skipped by egui. The native
menu correction is adapted from [PR #261](upstream pull #261),
commit 4e012a59a6d2442ba749f109ea27aadb5c0b11a5 by Gardy, and addresses the cause reported in
[issue #283](upstream issues #283). That PR was open when checked
on 2026-10-08; this work extends its fix with library culling bindings and tests.
Public behaviour references, checked 2026-10-08:
Only public descriptions were consulted. No Adobe assets or application data are included.