Skip to content

Document cirrus theming in the wiki. #5

Description

@THEGOLDENPRO

Recently I extended and refactored the experimental theming support in cirrus to allow users to create custom cloudy-org application themes. We should create a wiki page for this.

To create a theme you just create a TOML file named theme.toml with some fields and a colour pallet (check out the rubber-ducky example), then throw it into your user themes folder (located at ~/.local/share/cloudy/themes) *in it's own sub directory (~/.local/share/cloudy/themes/rubber-ducky/theme.toml)*.

UPDATE (06/05/2026): Theme folders are now nested within an additional folder called theme pack. Using the example from last time, rubber ducky's theme.toml will be stored in ~/.local/share/cloudy/themes/my-theme-pack/rubber-ducky/theme.toml. The my-theme-pack directory can be named anything, that was just an example.

That is where user made themes should go, cloudy-org standard themes such as themes will be packaged with your operating system's package manager, hence it will typically end up in /usr/local/share/cloudy/themes or /usr/share/cloudy/themes for Linux. Cirrus will automatically look in those directories IF your distro's $XDG_DATA_DIRS environment variable is pointing to them (cirrus_path follows $XDG_DATA_DIRS), however ~/.local/share/cloudy/themes will take priority.

Windows user themes go in C:\Users\{user}\AppData\Local\Cloudy\themes.

The theme folder (e.g: rubber-ducky) MUST be named in all lowercase characters. The convention also is to use dashes (-) instead of underscores or spaces. The folder name will be used as the theme code name that users will use to reference your theme (e.g: CTK_THEME="rubber-ducky").

This cirrus issue explains more: cloudy-org/cirrus#24

Additionally you can read the source code or ask me questions for the exacts.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions