Filtering the Film Strip

May 10, 2026 · View on GitHub

The file panel (left sidebar) has a search box that filters the visible film strip by filename. Sorting, hot folder mode, and "Export All" all operate on the visible (filtered) set.

Plain Mode (default)

Type any text — case-insensitive substring match against each filename.

InputMatches
IMGIMG_0001.cr2, img_test.NEF
.cr2every .cr2 file
_42files containing _42 anywhere in the name

Click the × in the box to clear the filter. The strip immediately restores all loaded files.

Regex Mode

Click the .* toggle next to the search box to switch to regex mode. The pattern is compiled with re.IGNORECASE and matched via re.search (anchor with ^ / $ for full-name match).

PatternMatches
^IMG_\d{4}IMG_0001.cr2, IMG_0042.NEF
\.(cr2|nef)$only .cr2 or .nef files
roll_\d+_scanfiles like roll_3_scan.tif

Invalid regex (e.g. unclosed [) paints the input border red and leaves the previous filter in place — nothing disappears mid-typing.

Behavior

  • Selection follows the filter. Hidden files are dropped from the multi-select set; the active file moves to the first remaining visible selection (or clears if nothing matches). Sync Edits never touches an invisible file.
  • Export All exports only what's visible. Filter to a subset, click Export All, only that subset writes out.
  • Hot Folder Mode still ingests new files in the background. New files that don't match the active filter stay hidden until the filter is cleared or relaxed.
  • Sort is preserved. Filter is applied after sort, so visible order matches your Name/Date + Asc/Desc choice.
  • Filter is session-only. Closing and reopening NegPy starts with an empty filter.