Skip to main content
Theme groups tokens by role. Everything has a default (Otter Shell matte preset).

Colors

Bar

bar.height, bar.padding, bar.background, bar.item_background, bar.item_hover, bar.item_active, bar.separator, and related chrome tokens. Shared menu and tooltip styling: popup.background, popup.border, popup.highlight, popup.selected, popup.padding, popup.item_height.

Spacing and fonts

spacing.widget_padding, spacing.icon_size, spacing.item_spacing, fonts.font_family, fonts.tooltip_size.

Icons

icons.theme selects an XDG icon theme name or absolute theme directory. Semantic icons check it before bundled SVG fallbacks. The flat config key is icons_theme.

Surfaces and density

surfaces.view, surfaces.surface, surfaces.surface_alt, surfaces.focus_ring, plus density.control_height, density.control_radius, density.panel_radius.

Decorations

decorations.prefered_decoration_type picks how XDG toplevels ask for decorations: none, server, client, or client_floating. Default is server.

CSD

When client-side decorations are active, csd styles them. button_layout is GTK-style (default :sbc). The rest covers titlebar colors and sizes, button colors, and border radius/size.

Transparency

transparency.global_alpha scales surface opacity (percentage 0..100). transparency.background_blur (default true) asks the compositor to blur behind translucent regions when supported.

Config keys

theme.conf flattens nested structs: colors_accent, bar_height, popup_padding, spacing_icon_size, etc. See Presets and loading.