BetterLibraryManual

Type to search. to move, to open.

BetterLibrary
Markdown

Filters and views

The filter builder, its conditions and nested groups, and saving a filter and a look as a view.

The filter builder

Click Add filter at the left of the filter bar. The builder opens under the bar with one row to fill in. Every change lands in the grid at once.

The header reads "Match all of the following". Switch it to any. Each row is a condition, or a group with its own all/any.

ButtonAdds
+ ConditionA row
+ GroupA sub-group with its own all/any, for example gym AND (beach OR pool). Groups nest to any depth.
Clear filtersRemoves every row

Once a filter has rows the button reads Filter and is tinted. Click it to fold the rows to one line and click again to open them. Folding keeps the filter.

⌘F opens the builder with an Any text row ready to type into. See Search and Ask.

What a condition can be about

The first menu of a row picks the subject. Its controls follow the subject's type.

SubjectOperatorsValue
A select propertyhas any of, has all of, has none of, has any tag, has no tagOne dropdown per chosen tag; the empty slot at the end adds another
A yes/no propertyis yes, is no, is not set
A scale propertyis at least, is exactly, is at most1 to 5
A text propertyfuzzy matches, meaning is, includesWords
Any text, Name, Descriptionfuzzy matches, meaning is, includesWords
Orientationisportrait, landscape, square
Created, Importedis on or after, is on or before, is betweenA day, or two
Statusis, is notNew, Draft, Ready, Archived
AI statusis, is notNothing, Pending, In progress, Failed

"is not set" on a yes/no property finds the clips nobody has answered yet. Created is the day the clip was shot; Imported is the day it came in.

A row without a value yet, a text row with no words or a tags row with no tag, constrains nothing.

Relevance

While any text row has words, the grid sorts by Relevance and a footer under the grid says what is being matched, for example "12 clips with text roughly matching 'kettlebell'". Drop the text and the sort goes back to what it was.

Saved views

A view is a filter plus a look: grid or table, the sort, the columns. Views live in the sidebar's Views section.

ToDo
Save oneSave View… in the filter bar, then a name. The view is selected and the shelf it was built on is left as it was.
Open oneClick it in the sidebar
Change oneEdit its filter or its look. The bar offers Update "name" to save, and Reset Filters to go back to the view as saved.
Rename or deleteRight-click it in the sidebar. Update with Current Filters is there too.

A view can be saved with no filter at all, for a look alone: the table with certain columns, sorted a certain way.

Drop clips onto a view

Drag clips onto a view in the sidebar. A sheet offers to tag them so they would match: the view's tags come pre-ticked, and a rating floor carries over as a rating to set. Conditions tagging cannot satisfy (exclusions, orientation, text, dates, status) are named in a note. Nothing changes until Apply.

From the terminal

betterlibrary clips list --view "Name" lists a view's clips. views show "Name" --json prints its filter as JSON, which clips list --filter-json and views create accept. See The command line.