Skip to content

v0.14.0 β€” tab completion, and an install that explains itself

Choose a tag to compare

@adamXbot adamXbot released this 16 Aug 12:29
· 12 commits to main since this release

Completions, an install that explains itself, and cleaner variant captures.

Tab completion

eval "$(fxcss completions bash)"     # or zsh, or: fxcss completions fish | source
$ fxcss install ~/src/whitesur --with theme-mat<TAB>
theme-material-ocean  theme-material-palenight

Subcommands, each command's flags, --firefox channel names, and β€” read from the theme in front of it β€” its optional stylesheets, comma-separated lists included. Candidates come off the real argument parser, so new commands are completable the moment they exist. Never touches the network, never raises.

install says what it is about to do

Three questions it used to answer silently:

Which stylesheets? Without --with, it now offers what the theme ships instead of leaving you to find them in the repository.

Which revision? When the default branch has moved on since the newest release, that choice is put to you, with dates and the newest commit message. A tag can sit a year behind the fix you came for; a branch can equally be mid-rewrite.

Which profile? Profiles now say which Firefox they belong to β€” [Release], [Developer Edition], [ESR], plus snap/flatpak on Linux:

  1. default-release        [Release]              …/8f2b1a.default-release  (Enter)
  2. dev-edition-default    [Developer Edition]    …/c41d9e.dev-edition-default
  3. work                   [unrecognised]         …/7ab3.work

default-release and dev-edition-default are one word apart in a list of hashed directory names, and installing into the wrong one looks exactly like the theme not working. A profile you named yourself reads [unrecognised] rather than being guessed at.

Scripts and CI see none of these prompts: without a terminal the previous behaviour is unchanged.

Variant captures now render a clean window

shot --variants reused the session that had already been through the container-tabs and many-tabs views, so every variant image was really 18 overflowed tabs with a container tab selected β€” measured at 0.63% from the many-tabs view but 3.69% from a clean window. The container stripe that put on the active tab was misread as a theme bug during a real review. Variants now capture in their own session, which matters most for themes publishing these images in a README.

Also

  • fxcss init --previews adds a workflow that renders every view and variant on each default-branch change and publishes them to a previews branch, for READMEs whose screenshots keep themselves current.
  • Both --out help strings and the README now say where each command writes: shot flat into --out, compare comparisons plus a normalised full/. Conflating them silently published nothing.
  • Windows startup-race retry budget widened to five attempts over ~30s with exponential backoff, after the previous budget ran dry on a real runner.
pipx upgrade fxcss