Themes
Customize ekphos appearance with themes
Themes are TOML files stored in ~/.config/ekphos/themes/. The default theme is ekphos-dawn.
Using a Theme
Set the theme in your config:
theme = "ekphos-dawn"Reload with Ctrl+Shift+R or restart ekphos.
Creating a Theme
Create a new .toml file in ~/.config/ekphos/themes/:
[base]
background = "#1a1a24"
background_secondary = "#24243a"
foreground = "#c0caf5"
muted = "#565f89"
[accent]
primary = "#7aa2f7"
secondary = "#bb9af7"
[semantic]
error = "#f7768e"
warning = "#e0af68"
success = "#9ece6a"
info = "#7dcfff"
[ui]
border = "#3b4261"
border_focused = "#7aa2f7"
selection = "#283457"
cursor = "#c0caf5"Then set theme = "my-theme" in your config.
Color Sections
Base Colors
| Color | Usage |
|---|---|
background | Main background |
background_secondary | Popups, code blocks |
foreground | Primary text |
muted | Secondary text, hints |
Accent Colors
| Color | Usage |
|---|---|
primary | Focused borders, headings |
secondary | Visual mode, secondary accent |
Semantic Colors
| Color | Usage |
|---|---|
error | Errors, invalid links |
warning | Warnings, selected items |
success | Success states, checkmarks |
info | Info messages, links |
UI Colors
| Color | Usage |
|---|---|
border | Unfocused borders |
border_focused | Focused borders |
selection | Text selection |
cursor | Cursor color |
Component Overrides
Override specific UI components for fine-grained control:
Status Bar
[ui.statusbar]
background = "#1a1a24"
foreground = "#c0caf5"
brand = "#7aa2f7"
mode = "#565f89"
separator = "#3b4261"Dialog
[ui.dialog]
background = "#1a1a24"
border = "#7aa2f7"
title = "#7aa2f7"
text = "#c0caf5"Sidebar
[ui.sidebar]
background = "#1a1a24"
item = "#c0caf5"
item_selected = "#e0af68"
folder = "#7dcfff"
folder_expanded = "#7dcfff"Content
[ui.content]
background = "#1a1a24"
text = "#c0caf5"
heading1 = "#7aa2f7"
heading2 = "#9ece6a"
heading3 = "#e0af68"
heading4 = "#bb9af7"
link = "#7dcfff"
link_invalid = "#f7768e"
code = "#9ece6a"
code_background = "#24243a"
blockquote = "#565f89"
list_marker = "#bb9af7"
tag = "#bb9af7"
tag_background = "#24243a"
frontmatter = "#565f89"| Color | Usage |
|---|---|
tag | Tag badge text color |
tag_background | Tag badge background |
frontmatter | Frontmatter text (delimiters, keys, values) |
Outline
[ui.outline]
background = "#1a1a24"
heading1 = "#7aa2f7"
heading2 = "#9ece6a"
heading3 = "#e0af68"
heading4 = "#bb9af7"Search
[ui.search]
background = "#24243a"
border = "#7aa2f7"
input = "#c0caf5"
match_highlight = "#e0af68"
match_current = "#ff9e64"
match_count = "#565f89"| Color | Usage |
|---|---|
background | Search dialog background |
border | Dialog border |
input | Search input text |
match_highlight | Background for all matches |
match_current | Background for current match |
match_count | Match counter text (e.g., "3/15") |
Editor
Customize markdown syntax highlighting in the editor:
[ui.editor]
heading1 = "#7aa2f7"
heading2 = "#9ece6a"
heading3 = "#e0af68"
heading4 = "#bb9af7"
heading5 = "#7dcfff"
heading6 = "#565f89"
code = "#9ece6a"
link = "#7dcfff"
blockquote = "#565f89"
list_marker = "#bb9af7"
bold = "#e0af68"
italic = "#7dcfff"| Color | Usage |
|---|---|
heading1 - heading6 | Heading colors by level (# to ######) |
code | Inline code and code blocks |
link | Markdown links [text](url) |
blockquote | Blockquote markers (>) |
list_marker | List bullets and numbers |
bold | Bold text (text) |
italic | Italic text (text) |
Component sections are optional. Missing values fall back to base colors, then to ekphos-dawn defaults.
Full Theme Example
[base]
background = "#1a1b26"
background_secondary = "#24283b"
foreground = "#c0caf5"
muted = "#565f89"
[accent]
primary = "#7aa2f7"
secondary = "#bb9af7"
[semantic]
error = "#f7768e"
warning = "#e0af68"
success = "#9ece6a"
info = "#7dcfff"
[ui]
border = "#3b4261"
border_focused = "#7aa2f7"
selection = "#283457"
cursor = "#c0caf5"
[ui.content]
heading1 = "#7aa2f7"
heading2 = "#9ece6a"
heading3 = "#e0af68"
heading4 = "#bb9af7"
link = "#7dcfff"
code = "#9ece6a"
tag = "#bb9af7"
tag_background = "#283457"
frontmatter = "#565f89"
[ui.editor]
heading1 = "#7aa2f7"
heading2 = "#9ece6a"
heading3 = "#e0af68"
heading4 = "#bb9af7"
heading5 = "#7dcfff"
heading6 = "#565f89"
code = "#9ece6a"
link = "#7dcfff"
bold = "#e0af68"
italic = "#7dcfff"Reset Themes
To restore default themes:
ekphos --resetThis resets both configuration and themes to defaults.