Skip to content

videre mark

Marks a photo: a star rating, a keeper/reject pick, a colour label, or a like (favourite). Marks are stored per photo (by content hash, so they follow a photo across duplicates and moves) and compose with every other filter in videre search.

Terminal window
videre mark --person "Alice" --location Berlin --rating 5 # set on a selection
videre mark --category screenshot --pick reject # cull candidates
videre mark --path ~/Photos/2024 --label red --like
videre search --rating 5 | videre mark --like # target by piping paths in

At least one is required (otherwise there is nothing to do).

Flag Sets Clear with
--rating <0-5> star rating (0 clears) --rating 0
--pick <keep|reject|none> pick (keeper / reject) --pick none
--label <colour|none> colour label --label none
--like / --no-like like (favourite) --no-like

pick and like are two different axes on purpose: pick reject is a culling decision (cull this), like is a positive favourite. There is no “dislike”, because it would just duplicate reject.

Each mark is cleared by its own setter, on the same selection flags or pipe as setting it:

Terminal window
videre mark --path ~/Photos/2024/blurry --rating 0 # remove the rating
videre mark --category screenshot --pick none # remove the pick
videre mark --label none --path ~/Photos/Scans # remove the colour label
videre mark --no-like --person "Ayşe" # remove the like
videre search --pick reject | videre mark --pick none # clear every reject

Flags combine, so --rating 0 --pick none --label none --no-like clears all four marks in one run. With no selection and no pipe, the change applies to every file, so scope it first or check with --dry-run.

The gallery sets the same marks on many photos at once: see Selecting.

Targets come from either the selection flags or a pipe:

  • Selection flags narrow the library the same way search does: --person, --date/--after/--before, --location/--radius, --type, --ext, --mime, --path, --has, --missing. See scoping a run. The one mark/tag filter accepted here is --tag, which restricts the target set to already-tagged files before setting a mark (videre mark --tag vacation --rating 5). The mark flags themselves (--rating/--pick/--label/--like) always set on this command rather than filter, so there is no --rating/--pick/--label/--like filter here.
  • --query takes a query, filters only, for OR and NOT. Mark filters are allowed in it, since key:value cannot be taken for a setter: videre mark --query 'rating:>=4 -pick:reject' --label Green.
  • Standard input: if you pipe paths in (videre search ... | videre mark ...), those files are marked. This is how you mark by an existing mark, since the mark flags on mark itself always set rather than filter.

A run prints N of M, so a filter matching nothing is distinguishable from an empty library. With no selection and no pipe, every file is marked.

The same names are filters on videre search (and in the gallery), composing with everything else:

Terminal window
videre search --rating 4 --pick keep --person "Alice" --location Berlin
videre search --pick reject | tr '\n' '\0' | xargs -0 trash # cull, then delete
videre search --like --date 2024

--rating 4 means at least 4 stars. --pick, --label and --like are exact. A photo with no mark never matches, the same rule every filter follows.

Ratings and colour labels are standard XMP (xmp:Rating, xmp:Label), so videre reads them from your files on videre scan and can write them back:

Terminal window
videre mark --path ~/Photos --export-xmp # write .xmp sidecars (opt-in)

--export-xmp writes only the rating and colour label. Anything else already in the sidecar, including the face regions, location and keywords that videre export wrote, is left as it is. A rating or label you cleared is removed from an existing sidecar, so a later scan --xmp file cannot bring it back. No sidecar is created for a photo with nothing to write.

To export more than marks (named face regions, location, categories) in one pass, use videre export, which shares the same sidecar writer and merges rather than overwriting.

Picks and likes have no portable standard and stay in videre’s database. See videre scan for the --xmp precedence rule when importing.

Flag Effect
--dry-run Show what would change (or which sidecars --export-xmp would write) without writing anything
--library <dir> Select a different library instead of the current directory
--silent Suppress the N of M progress line

Marks are database-only until you export. --export-xmp writes one .xmp sidecar per photo, next to the file, and is the only thing here that touches your folders. Nothing is written without it.

No undo. Setting a mark overwrites the previous value; there is no history.