Skip to content

Releases: ewen-lbh/ffcss

0.2.0

25 Jul 09:24
Compare
Choose a tag to compare

Added

  • new firefox manifest entry: can be used to declare which versions of firefox are compatible with your theme: version+ means "version and up", up to version means, well, you guessed it, version1-version2 is an (inclusive) range and finally just version means exactly that version. Use major.minor to specify the minor version, or omit it (or use ".x") to ignore it.
  • prompt to show the manifest source of the theme you're installing. The prompt can be turned off with a new flag --skip-manifest-source
  • command reapply to reapply themes after firefox updates. The current themes for each profile are stored in a YAML file at ~/.config/ffcss/currently.yaml. If ffcss tells you that a profile has no ffcss theme applied, try re-applying it manually with ffcss use so that this file gets created & filled.
  • hooks to run custom shell commands before and after theme installations, via manifest entries run.before and run.after. Variants can override them.
  • "did you mean ...?" message when a theme with a similar name is found
  • command get to download a theme without applying it
  • manifest entry commit to specify a commit SHA to use for the theme. Can be overriden by variants.
  • manifest entry tag to specify a git tag to use for the theme. Can be overriden by variants.
  • manifest entry description that will be shown at the start of the installation
  • manifest entry by to set an author name to be shown at the start of the installation (for github repos, defaults to the owner in the URL)
  • shorthand flag -a for --all-profiles
  • flag -p/--profiles to specify profile paths to use (and therefore not prompt during installation)

Changed

  • ffcss use <theme name> is now case-insensitive, punctuation-insensitive (-, _ and .), whitespace-insensitive and unicode-insensitive (NFC normalization is applied before searching)
  • UI improvements: log what is happening with bullet points, don't show the full profile path when selecting

Fixed

  • inconsistent indentation in the --help screen

0.1.2

10 Jul 17:15
Compare
Choose a tag to compare

Added

Fixed

  • ffcss init was generating a file with a repository setting instead of download [#36]
  • ffcss init added a .git suffix in the pre-filled value for name

0.1.1

09 Jul 22:35
Compare
Choose a tag to compare

Fixed

  • crashes related to path handling on Windows

0.1.0

09 Jul 19:33
Compare
Choose a tag to compare

Initial release!

For users

  • Works on MacOS, GNU/Linux and Windows, tested on:
    • Manjaro Linux Omara 21.0.7 (with kernel 5.12.9-1-MANJARO)
    • MacOS Catalina 10.15.7
    • Windows 10 20H2 (Build 19042.1083) (Please use the new Windows Terminal or something else that support ANSI escape sequences)
  • a use commands to download & install themes
    • works with any remote git repository
    • works with any URL poiting to a .zip file
    • shorthand for github repositories: OWNER/REPO
  • a init command to add a ffcss.yaml manifest in your current repository
  • a cache clear command to clear the cache of downloaded repositories
  • 8 themes available out-of-the-box (use them by typing their name only, it works)

For theme makers

  • a mechanism to handle theme variants:
    • Variants can be declared in the same manifest file under the variants entry to override other entries
    • per-OS paths: the {{ variant }} and {{ os }} placeholders get replaced with their values
    • the value {{ os }} gets replaced with can be customized in the manifest file under the os entry, use null to mark an OS as incompatible
  • Support for helper addons:
    • Declare URLs to open after installation under the addons manifest entry (I plan to auto-install them in the future)
  • Easy way to write about:config changes without writing a user.js file:
    • Use the config manifest entry
    • If you also use a user.js, you can combine both, they'll be written as a single user.js file
  • Support for custom assets:
    • Use the assets manifest entry to list out your assets
    • Supports glob patterns
    • If you store them under a chrome directory, you can use copy from: chrome/ so that they don't get copied to <profile directory>/chrome/chrome