CSS Themes - nosmokingbandit/watcher GitHub Wiki

Watcher has the ability to accommodate user created CSS themes. You can create a custom theme by adding a folder to the watcher/static/css/ directory. The name of the folder will be added to the theme drop-down list. Please ensure that the theme folder name is unique and descriptive.

Overview

Watcher always loads the Default theme as a fallback for layout and visibility requirements. Theme files need only to include modified styles.

There is a separate CSS file for each page, as well as a base style.css that is applied to every page.

The Theme folder needs to have a CSS file that corresponds with every base CSS file. If no changes or modifications are needed for a specific CSS file, they may be completely blank. This may be common with the movie_info_popup.css and movie_status_popup.css files in particular.

A good way to start is to copy the built-in theme Midnight. This theme's css is very slim and should contain everything you need to start a new color scheme.

Integration

Custom theme CSS is loaded after the default CSS, so changes to an element, body for example, will take precedence over the default CSS. The lead developer feels that !important statements are evil and will never be included in any Default CSS sheets, so you have full liberty to theme anything you see fit.

Updates

Generally speaking, updates to the application will not overwrite user-created custom CSS themes (e.g. themes with folder names that are not included in the Watcher repository). However, if your theme folder name is generic and a theme is added to the repository with the same name, it is highly likely that the theme will be overwritten.

Feature development is ongoing, and it is likely that new CSS classes or pages will be added. New markup elements will, by default, use the Default theme and theme files will need to be updated by the creator. If new CSS pages are added to the "Default" theme, corresponding pages will also need to be created in the theme folder.

Development reserves the right to unintentionally break any custom theme through changes to the Default theme or markup. Theme maintenance is the sole responsibility of its creator.

Support

Themes currently integrated in the Watcher repository will be supported on an on-going, semi-voluntary basis. User-created themes not included in the Watcher repo cannot be explicitly supported by the development team. Use at your own risk. Should a theme manage to render the UI unusable, simply delete it from the watcher/static/css/ folder.

Themes may be submitted to the development team by initiating a Pull request. Pull requests MUST include the theme folder and nothing else. Pull requests MUST be submitted to the testing branch. Theme files will be reviewed for quality and uniformity before acceptance. This process will take an arbitrary amount of time due to other more pressing issues that may be present.