Skip to main content
Loom LDAP Browser includes five built-in themes and supports custom themes for a personalized interface.

Built-in Themes

Loom ships with five professionally designed color schemes:

Dark Theme (Default)

The default theme using the Catppuccin Mocha color palette.Features:
  • Deep, rich backgrounds with excellent contrast
  • Warm accent colors (lavender, peach, teal)
  • Easy on the eyes for extended use
  • Professional appearance
Best for: Most users, extended terminal sessions, modern terminals
[general]
theme = "dark"

Setting Your Theme

Themes are configured in ~/.config/loom-ldapbrowser/config.toml:
1

Edit configuration

Open your configuration file:
$EDITOR ~/.config/loom-ldapbrowser/config.toml
2

Set theme

Add or modify the theme setting in the [general] section:
[general]
theme = "nord"  # dark | light | solarized | nord | matrix
3

Restart Loom

Exit and restart loom-ldapbrowser for the theme change to take effect.
Theme changes require a restart. There is no hot-reload functionality for theme changes.

Custom Themes

Create your own themes by placing theme TOML files in ~/.config/loom-ldapbrowser/themes/.

Theme File Structure

A theme file defines colors for all UI elements using hex colors (#RRGGBB) or named colors.
1

Create theme directory

mkdir -p ~/.config/loom-ldapbrowser/themes
2

Create theme file

Create a file like ~/.config/loom-ldapbrowser/themes/mytheme.toml:
# Custom theme example
[colors]
# Base colors
background = "#1e1e2e"
foreground = "#cdd6f4"

# UI element colors
border = "#89b4fa"
border_focused = "#f5c2e7"

# Text colors
text = "#cdd6f4"
text_secondary = "#a6adc8"
text_muted = "#6c7086"

# Selection and highlight
selection_bg = "#45475a"
selection_fg = "#cdd6f4"
highlight = "#f9e2af"

# Headers and titles
header_bg = "#313244"
header_fg = "#89b4fa"

# Status and indicators
status_bar_bg = "#1e1e2e"
status_bar_fg = "#cdd6f4"
success = "#a6e3a1"
warning = "#f9e2af"
error = "#f38ba8"
info = "#89dceb"

# Tabs
tab_active_bg = "#45475a"
tab_active_fg = "#cdd6f4"
tab_inactive_bg = "#1e1e2e"
tab_inactive_fg = "#6c7086"

# Tree view
tree_node = "#cdd6f4"
tree_node_selected = "#f5c2e7"
tree_expanded = "#a6e3a1"
tree_collapsed = "#89b4fa"

# Input fields
input_bg = "#313244"
input_fg = "#cdd6f4"
input_border = "#45475a"
input_border_focused = "#89b4fa"

# Buttons
button_bg = "#45475a"
button_fg = "#cdd6f4"
button_active_bg = "#89b4fa"
button_active_fg = "#1e1e2e"
3

Use custom theme

Reference your theme by filename (without .toml):
[general]
theme = "mytheme"

Color Format

Colors can be specified in several formats:
background = "#1e1e2e"  # 6-digit hex
foreground = "#cdd6f4"
Hex colors are recommended for precise color control. Named colors depend on your terminal’s color palette configuration.

Theme Elements

Custom themes can define colors for these UI elements:
ElementDescription
backgroundMain background color
foregroundMain text color
borderBorder color for unfocused panels
border_focusedBorder color for the focused panel
selection_bgBackground for selected items
selection_fgText color for selected items
header_bgBackground for panel headers
header_fgText color for panel headers
successColor for success messages
warningColor for warnings
errorColor for error messages
infoColor for informational messages
tab_active_bgBackground for active tab
tab_active_fgText color for active tab
tree_node_selectedColor for selected tree node
input_border_focusedBorder color for focused input
Not all elements need to be defined. Missing colors fall back to defaults from the base theme.

Terminal Compatibility

For best results, use a terminal with true color (24-bit) support:
  • Recommended terminals:
    • iTerm2 (macOS)
    • Alacritty (cross-platform)
    • Windows Terminal (Windows)
    • Kitty (Linux/macOS)
    • WezTerm (cross-platform)
  • Test true color support:
    # Run this command to test 24-bit color
    printf "\x1b[38;2;255;100;0mTRUECOLOR\x1b[0m\n"
    
If your terminal doesn’t support true color, Loom will still work but colors may appear differently than intended.

Theme Examples

High Contrast Theme

For maximum readability:
[colors]
background = "#000000"
foreground = "#ffffff"
border = "#ffffff"
selection_bg = "#ffffff"
selection_fg = "#000000"
error = "#ff0000"
success = "#00ff00"
warning = "#ffff00"

Dracula Theme

Popular dark theme:
[colors]
background = "#282a36"
foreground = "#f8f8f2"
border = "#6272a4"
selection_bg = "#44475a"
selection_fg = "#f8f8f2"
highlight = "#ffb86c"
error = "#ff5555"
success = "#50fa7b"
warning = "#f1fa8c"
info = "#8be9fd"

Gruvbox Dark Theme

Retro groove colors:
[colors]
background = "#282828"
foreground = "#ebdbb2"
border = "#928374"
selection_bg = "#504945"
selection_fg = "#ebdbb2"
highlight = "#fabd2f"
error = "#fb4934"
success = "#b8bb26"
warning = "#fe8019"
info = "#83a598"

Tips for Custom Themes

Theme Design Tips:
  • Use a color palette generator like Coolors for harmonious colors
  • Test your theme with different panel layouts and content
  • Ensure sufficient contrast between text and backgrounds (WCAG AA: 4.5:1 minimum)
  • Use consistent saturation levels for a cohesive appearance
  • Test in different lighting conditions

Sharing Themes

Share your custom themes with the community:
  1. Place your theme file in a git repository
  2. Share the TOML file on GitHub or in discussions
  3. Include a screenshot of the theme in use
Other users can download your theme file and place it in their ~/.config/loom-ldapbrowser/themes/ directory.

Configuration Reference

[general]
# Built-in themes: dark, light, solarized, nord, matrix
# Custom themes: filename without .toml extension
theme = "dark"

# Other display settings
tick_rate_ms = 250  # UI refresh rate
Theme files are loaded at startup. If you modify a theme file, restart loom-ldapbrowser to see the changes.

Build docs developers (and LLMs) love