feat: Write built in themes to the themes file on first run so users can define custom themes

This commit is contained in:
2025-03-06 17:44:52 -07:00
parent 709f6ca6ca
commit df38ea5413
25 changed files with 758 additions and 74 deletions
+92
View File
@@ -0,0 +1,92 @@
# Managarr Themes
The Managarr TUI can be customized to look how you like with various themes.
There are a few themes included by default with Managarr and are added to your `themes.yml`
on first startup. You can simply add more custom themes as you wish to this file.
## Table of Contents
- [Built In Themes](#built-in-themes)
- [Creating a Custom Theme](#creating-a-custom-theme)
## Built-In Themes
Managarr ships with a handful of built-in themes that you can either use or base your own
custom theme off of. The following themes are included by default:
### [Default](./default/README.md)
![sonarr-library](./default/sonarr_library.png)
### [Dracula](./dracula/README.md)
![sonarr-library](./dracula/sonarr_library.png)
### [Watermelon Dark](./watermelon-dark/README.md)
![sonarr-library](./watermelon-dark/sonarr_library.png)
## Creating a Custom Theme
To create a custom theme, you will need to add a new entry to the `themes.yml` file. If you decide not to add it to the
`themes.yml` file, you can also specify a different file to load themes from using the `--themes-file` argument.
Themes are customizable using hex color codes for the various elements of the TUI. The following
is an example that shows every available customization option for a custom theme:
```yaml
- name: my-theme
theme:
background:
enabled: true # Disable for transparent backgrounds
color: "#233237"
awaiting_import:
color: "#FFAA42"
indeterminate:
color: "#FFAA42"
default:
color: "#FFFFFF"
downloaded:
color: "#00FF00"
downloading:
color: "#762671"
failure:
color: "#DE382B"
help:
color: "#00FFFF"
missing:
color: "#DE382B"
primary:
color: "#2CB5E9"
secondary:
color: "#FFC706"
success:
color: "#39B54A"
system_function:
color: "#FFC706"
unmonitored:
color: "#808080"
unmonitored_missing:
color: "#FFC706"
unreleased:
color: "#00FFFF"
warning:
color: "#FF00FF"
```
In order to activate your custom theme, you can either update your `config.yml`:
```yaml
theme: my-theme
radarr:
...
sonarr:
...
```
Or you can test out your theme via the `--theme` flag on the CLI:
```shell
managarr --theme my-theme
```
If you're developing your own theme and don't want to add it to the main `themes.yml` file, you can
also use the `--themes-file` argument to specify a different file to load themes from:
```shell
managarr --themes-file /path/to/my/testing-themes.yml
```
+9
View File
@@ -0,0 +1,9 @@
# Managarr Default Theme
The [themes.yml](./themes.yml) file in this directory corresponds to the theme configuration for the
default Managarr theme.
## Screenshots
![sonarr-library](./sonarr_library.png)
![manual-episode-search](./manual_episode_search.png)
![radarr-system](./radarr_system.png)
Binary file not shown.

After

Width:  |  Height:  |  Size: 340 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 KiB

+37
View File
@@ -0,0 +1,37 @@
- name: default
theme:
background:
enabled: true
color: "#233237"
awaiting_import:
color: "#FFAA42"
indeterminate:
color: "#FFAA42"
default:
color: "#FFFFFF"
downloaded:
color: "#00FF00"
downloading:
color: "#762671"
failure:
color: "#DE382B"
help:
color: "#00FFFF"
missing:
color: "#DE382B"
primary:
color: "#2CB5E9"
secondary:
color: "#FFC706"
success:
color: "#39B54A"
system_function:
color: "#FFC706"
unmonitored:
color: "#808080"
unmonitored_missing:
color: "#FFC706"
unreleased:
color: "#00FFFF"
warning:
color: "#FF00FF"
+9
View File
@@ -0,0 +1,9 @@
# Managarr Dracula Theme
The [themes.yml](./themes.yml) file in this directory corresponds to the theme configuration for the
Dracula Managarr theme.
## Screenshots
![sonarr-library](./sonarr_library.png)
![manual-episode-search](./manual_episode_search.png)
![radarr-system](./radarr_system.png)
Binary file not shown.

After

Width:  |  Height:  |  Size: 378 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 KiB

+29
View File
@@ -0,0 +1,29 @@
- name: dracula
theme:
background:
enabled: false
color: "#282a36"
default:
color: "#f8f8f2"
downloaded:
color: "#50fa7b"
downloading:
color: "#8be9fd"
failure:
color: "#ff5555"
missing:
color: "#ffb86c"
unmonitored-missing:
color: "#6272a4"
help:
color: "#6272a4"
primary:
color: "#ff79c6"
secondary:
color: "#ff79c6"
success:
color: "#50fa7b"
warning:
color: "#f1fa8c"
unreleased:
color: "#f8f8f2"
+9
View File
@@ -0,0 +1,9 @@
# Managarr Watermelon Dark Theme
The [themes.yml](./themes.yml) file in this directory corresponds to the theme configuration for the
Watermelon Dark Managarr theme.
## Screenshots
![sonarr-library](./sonarr_library.png)
![manual-episode-search](./manual_episode_search.png)
![radarr-system](./radarr_system.png)
Binary file not shown.

After

Width:  |  Height:  |  Size: 376 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 367 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 KiB

+16
View File
@@ -0,0 +1,16 @@
- name: watermelon-dark
theme:
background:
enabled: false
default:
color: "#00FF00"
downloaded:
color: "#80ffbf"
failure:
color: "#ff8080"
missing:
color: "#ff8080"
primary:
color: "#ff19d9"
secondary:
color: "#8c19ff"