twin-commander icon indicating copy to clipboard operation
twin-commander copied to clipboard

Theming

Open kivimango opened this issue 1 year ago • 1 comments

Themes

twin commander should provide a way to users to select from a list of premade themes and/or make their own theme(s) and help to distribute them to customize the aesthetics of the application as they please.

Overview

A Theme is a collection of key/pair values that make up the style of the user interface. A theme file should be a plain text file located in ~/.local/share/twc/themes/ with an extension of .ron or .toml. One file must be contain only one theme. The name of the file will be the name of the theme.The names must follow the snake_case convention.

Loading themes

The current applied theme should be saved in the configuration file in ~/.config/twc.toml. The application shall load the name of the theme from the config file, then load the given theme, and apply it to the user interface.

Distributing themes

Take into consideration of the following methods:

  • github packages
  • create a separate repository only for the themes, e.g.: twin-commander-themes
  • github pages
  • a separate, free static website for storing and downloading themes

The application must provide a user interface for listing locally installed themes, browsing available themes, and installing them.

Theme editor

It would be good to make a separate application only for creating and editing themes for the users. Could be text mode too or a webpage (github pages?)

kivimango avatar Jan 12 '23 16:01 kivimango