feat(themes): add color derivation and themed app templates

Add script/omarchy-theme-color and expand omarchy-theme-set-templates to
derive a full palette from each theme's colors.toml, then render new
themed templates (shell, pi, vscode theme, gum, neovim, claude, hermes,
t3code) from it.

Adds backgrounds and palette updates for existing themes plus new themes
(last-horizon, lupine, solitude, tidewater-*, miasma, ...).
This commit is contained in:
2026-09-24 21:25:12 -04:00
parent 5fee6bbf4e
commit 9c353f257b
168 changed files with 4040 additions and 696 deletions
+20 -20
View File
@@ -4,19 +4,19 @@ foreground = "{{ foreground }}"
[colors.cursor]
text = "{{ background }}"
cursor = "{{ cursor }}"
cursor = "{{ bright_foreground }}"
[colors.vi_mode_cursor]
text = "{{ background }}"
cursor = "{{ cursor }}"
cursor = "{{ bright_foreground }}"
[colors.search.matches]
foreground = "{{ background }}"
background = "{{ color3 }}"
background = "{{ yellow }}"
[colors.search.focused_match]
foreground = "{{ background }}"
background = "{{ color1 }}"
background = "{{ red }}"
[colors.footer_bar]
foreground = "{{ background }}"
@@ -27,21 +27,21 @@ text = "{{ selection_foreground }}"
background = "{{ selection_background }}"
[colors.normal]
black = "{{ color0 }}"
red = "{{ color1 }}"
green = "{{ color2 }}"
yellow = "{{ color3 }}"
blue = "{{ color4 }}"
magenta = "{{ color5 }}"
cyan = "{{ color6 }}"
white = "{{ color7 }}"
black = "{{ background }}"
red = "{{ red }}"
green = "{{ green }}"
yellow = "{{ yellow }}"
blue = "{{ blue }}"
magenta = "{{ magenta }}"
cyan = "{{ cyan }}"
white = "{{ foreground }}"
[colors.bright]
black = "{{ color8 }}"
red = "{{ color9 }}"
green = "{{ color10 }}"
yellow = "{{ color11 }}"
blue = "{{ color12 }}"
magenta = "{{ color13 }}"
cyan = "{{ color14 }}"
white = "{{ color15 }}"
black = "{{ muted }}"
red = "{{ bright_red }}"
green = "{{ bright_green }}"
yellow = "{{ bright_yellow }}"
blue = "{{ bright_blue }}"
magenta = "{{ bright_magenta }}"
cyan = "{{ bright_cyan }}"
white = "{{ bright_foreground }}"
+54 -44
View File
@@ -11,73 +11,83 @@ theme[title]="{{ foreground }}"
theme[hi_fg]="{{ accent }}"
# Background color of selected item in processes box
theme[selected_bg]="{{ color8 }}"
theme[selected_bg]="{{ selection }}"
# Foreground color of selected item in processes box
theme[selected_fg]="{{ accent }}"
# Color of inactive/disabled text
theme[inactive_fg]="{{ color8 }}"
theme[inactive_fg]="{{ muted }}"
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
theme[graph_text]="{{ foreground }}"
theme[graph_text]="{{ light_foreground }}"
# Background color of the percentage meters
theme[meter_bg]="{{ color8 }}"
theme[meter_bg]="{{ selection }}"
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
theme[proc_misc]="{{ foreground }}"
theme[proc_misc]="{{ light_foreground }}"
# CPU, Memory, Network, Proc box outline colors
theme[cpu_box]="{{ color5 }}"
theme[mem_box]="{{ color2 }}"
theme[net_box]="{{ color1 }}"
theme[cpu_box]="{{ magenta }}"
theme[mem_box]="{{ green }}"
theme[net_box]="{{ red }}"
theme[proc_box]="{{ accent }}"
# Box divider line and small boxes line color
theme[div_line]="{{ color8 }}"
theme[div_line]="{{ muted }}"
# Temperature graph color (Green -> Yellow -> Red)
theme[temp_start]="{{ color2 }}"
theme[temp_mid]="{{ color3 }}"
theme[temp_end]="{{ color1 }}"
theme[temp_start]="{{ green }}"
theme[temp_mid]="{{ yellow }}"
theme[temp_end]="{{ red }}"
# CPU graph colors (Teal -> Lavender)
theme[cpu_start]="{{ color6 }}"
theme[cpu_mid]="{{ color4 }}"
theme[cpu_end]="{{ color5 }}"
# CPU graph colors (Teal -> Blue -> Magenta)
theme[cpu_start]="{{ cyan }}"
theme[cpu_mid]="{{ blue }}"
theme[cpu_end]="{{ magenta }}"
# Mem/Disk free meter (Mauve -> Lavender -> Blue)
theme[free_start]="{{ color5 }}"
theme[free_mid]="{{ color4 }}"
theme[free_end]="{{ color6 }}"
# Mem/Disk free meter
theme[free_start]="{{ magenta }}"
theme[free_mid]="{{ blue }}"
theme[free_end]="{{ cyan }}"
# Mem/Disk cached meter (Sapphire -> Lavender)
theme[cached_start]="{{ color4 }}"
theme[cached_mid]="{{ color6 }}"
theme[cached_end]="{{ color5 }}"
# Mem/Disk cached meter
theme[cached_start]="{{ blue }}"
theme[cached_mid]="{{ cyan }}"
theme[cached_end]="{{ magenta }}"
# Mem/Disk available meter (Peach -> Red)
theme[available_start]="{{ color3 }}"
theme[available_mid]="{{ color1 }}"
theme[available_end]="{{ color1 }}"
# Mem/Disk available meter
theme[available_start]="{{ yellow }}"
theme[available_mid]="{{ red }}"
theme[available_end]="{{ red }}"
# Mem/Disk used meter (Green -> Sky)
theme[used_start]="{{ color2 }}"
theme[used_mid]="{{ color6 }}"
theme[used_end]="{{ color4 }}"
# Mem/Disk used meter (Green -> Teal -> Blue)
theme[used_start]="{{ green }}"
theme[used_mid]="{{ cyan }}"
theme[used_end]="{{ blue }}"
# Download graph colors (Peach -> Red)
theme[download_start]="{{ color3 }}"
theme[download_mid]="{{ color1 }}"
theme[download_end]="{{ color1 }}"
# Download graph colors
theme[download_start]="{{ yellow }}"
theme[download_mid]="{{ red }}"
theme[download_end]="{{ red }}"
# Upload graph colors (Green -> Sky)
theme[upload_start]="{{ color2 }}"
theme[upload_mid]="{{ color6 }}"
theme[upload_end]="{{ color4 }}"
# Upload graph colors (Green -> Teal -> Blue)
theme[upload_start]="{{ green }}"
theme[upload_mid]="{{ cyan }}"
theme[upload_end]="{{ blue }}"
# Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
theme[process_start]="{{ color6 }}"
theme[process_mid]="{{ color4 }}"
theme[process_end]="{{ color5 }}"
# Process box color gradient for threads, mem and cpu usage
theme[process_start]="{{ cyan }}"
theme[process_mid]="{{ blue }}"
theme[process_end]="{{ magenta }}"
# Graph gradient colors (spectrum shades from background to foreground)
theme[gradient_color_0]="{{ background }}"
theme[gradient_color_1]="{{ lighter_background }}"
theme[gradient_color_2]="{{ selection }}"
theme[gradient_color_3]="{{ muted }}"
theme[gradient_color_4]="{{ dark_foreground }}"
theme[gradient_color_5]="{{ foreground }}"
theme[gradient_color_6]="{{ light_foreground }}"
theme[gradient_color_7]="{{ bright_foreground }}"
+43
View File
@@ -0,0 +1,43 @@
{
"name": "Omarchy",
"base": "{{ theme_type }}",
"overrides": {
"claude": "{{ accent }}",
"claudeShimmer": "{{ mix accent foreground 35% }}",
"text": "{{ foreground }}",
"inverseText": "{{ background }}",
"inactive": "{{ mix foreground background 40% }}",
"inactiveShimmer": "{{ mix foreground background 25% }}",
"subtle": "{{ muted }}",
"suggestion": "{{ cyan }}",
"permission": "{{ blue }}",
"permissionShimmer": "{{ mix blue foreground 35% }}",
"remember": "{{ yellow }}",
"success": "{{ green }}",
"error": "{{ red }}",
"warning": "{{ yellow }}",
"warningShimmer": "{{ mix yellow foreground 35% }}",
"merged": "{{ magenta }}",
"promptBorder": "{{ accent }}",
"promptBorderShimmer": "{{ mix accent foreground 35% }}",
"planMode": "{{ cyan }}",
"autoAccept": "{{ yellow }}",
"bashBorder": "{{ bright_yellow }}",
"ide": "{{ bright_cyan }}",
"diffAdded": "{{ mix background green 15% }}",
"diffRemoved": "{{ mix background red 15% }}",
"diffAddedDimmed": "{{ mix background green 8% }}",
"diffRemovedDimmed": "{{ mix background red 8% }}",
"diffAddedWord": "{{ mix background green 32% }}",
"diffRemovedWord": "{{ mix background red 32% }}",
"userMessageBackground": "{{ mix background foreground 6% }}",
"userMessageBackgroundHover": "{{ mix background foreground 10% }}",
"bashMessageBackgroundColor": "{{ mix background foreground 6% }}",
"memoryBackgroundColor": "{{ mix background foreground 6% }}",
"selectionBg": "{{ selection_background }}",
"rate_limit_fill": "{{ accent }}",
"rate_limit_empty": "{{ mix background foreground 20% }}",
"briefLabelYou": "{{ yellow }}",
"briefLabelClaude": "{{ accent }}"
}
}
+17 -17
View File
@@ -4,22 +4,22 @@ background={{ background_strip }}
selection-foreground={{ selection_foreground_strip }}
selection-background={{ selection_background_strip }}
cursor={{ background_strip }} {{ cursor_strip }}
cursor={{ background_strip }} {{ bright_foreground_strip }}
regular0={{ color0_strip }}
regular1={{ color1_strip }}
regular2={{ color2_strip }}
regular3={{ color3_strip }}
regular4={{ color4_strip }}
regular5={{ color5_strip }}
regular6={{ color6_strip }}
regular7={{ color7_strip }}
regular0={{ background_strip }}
regular1={{ red_strip }}
regular2={{ green_strip }}
regular3={{ yellow_strip }}
regular4={{ blue_strip }}
regular5={{ purple_strip }}
regular6={{ cyan_strip }}
regular7={{ foreground_strip }}
bright0={{ color8_strip }}
bright1={{ color9_strip }}
bright2={{ color10_strip }}
bright3={{ color11_strip }}
bright4={{ color12_strip }}
bright5={{ color13_strip }}
bright6={{ color14_strip }}
bright7={{ color15_strip }}
bright0={{ muted_strip }}
bright1={{ bright_red_strip }}
bright2={{ bright_green_strip }}
bright3={{ bright_yellow_strip }}
bright4={{ bright_blue_strip }}
bright5={{ bright_magenta_strip }}
bright6={{ bright_cyan_strip }}
bright7={{ bright_foreground_strip }}
+17 -17
View File
@@ -1,22 +1,22 @@
background = {{ background }}
foreground = {{ foreground }}
cursor-color = {{ cursor }}
cursor-color = {{ bright_foreground }}
selection-background = {{ selection_background }}
selection-foreground = {{ selection_foreground }}
palette = 0={{ color0 }}
palette = 1={{ color1 }}
palette = 2={{ color2 }}
palette = 3={{ color3 }}
palette = 4={{ color4 }}
palette = 5={{ color5 }}
palette = 6={{ color6 }}
palette = 7={{ color7 }}
palette = 8={{ color8 }}
palette = 9={{ color9 }}
palette = 10={{ color10 }}
palette = 11={{ color11 }}
palette = 12={{ color12 }}
palette = 13={{ color13 }}
palette = 14={{ color14 }}
palette = 15={{ color15 }}
palette = 0={{ background }}
palette = 1={{ red }}
palette = 2={{ green }}
palette = 3={{ yellow }}
palette = 4={{ blue }}
palette = 5={{ magenta }}
palette = 6={{ cyan }}
palette = 7={{ foreground }}
palette = 8={{ muted }}
palette = 9={{ bright_red }}
palette = 10={{ bright_green }}
palette = 11={{ bright_yellow }}
palette = 12={{ bright_blue }}
palette = 13={{ bright_magenta }}
palette = 14={{ bright_cyan }}
palette = 15={{ bright_foreground }}
+137
View File
@@ -0,0 +1,137 @@
-- Gum Style (generic) Variables
hl.env("FOREGROUND", "{{ foreground }}")
hl.env("BACKGROUND", "{{ background }}")
hl.env("BORDER_FOREGROUND", "{{ accent }}")
hl.env("BORDER_BACKGROUND", "{{ background }}")
-- Gum Confirm Style Variables
hl.env("GUM_CONFIRM_PROMPT_FOREGROUND", "{{ accent }}")
hl.env("GUM_CONFIRM_PROMPT_BACKGROUND", "{{ background }}")
hl.env("GUM_CONFIRM_SELECTED_FOREGROUND", "{{ selection_foreground }}")
hl.env("GUM_CONFIRM_SELECTED_BACKGROUND", "{{ selection_background }}")
hl.env("GUM_CONFIRM_UNSELECTED_FOREGROUND", "{{ foreground }}")
hl.env("GUM_CONFIRM_UNSELECTED_BACKGROUND", "{{ background }}")
-- Gum Input Style Variables
hl.env("GUM_INPUT_PROMPT_FOREGROUND", "{{ accent }}")
hl.env("GUM_INPUT_PROMPT_BACKGROUND", "{{ background }}")
hl.env("GUM_INPUT_PLACEHOLDER_FOREGROUND", "{{ muted }}")
hl.env("GUM_INPUT_PLACEHOLDER_BACKGROUND", "{{ background }}")
hl.env("GUM_INPUT_CURSOR_FOREGROUND", "{{ bright_foreground }}")
hl.env("GUM_INPUT_CURSOR_BACKGROUND", "{{ background }}")
hl.env("GUM_INPUT_HEADER_FOREGROUND", "{{ foreground }}")
hl.env("GUM_INPUT_HEADER_BACKGROUND", "{{ background }}")
-- Gum Choose Style Variables
hl.env("GUM_CHOOSE_CURSOR_FOREGROUND", "{{ accent }}")
hl.env("GUM_CHOOSE_CURSOR_BACKGROUND", "{{ background }}")
hl.env("GUM_CHOOSE_HEADER_FOREGROUND", "{{ foreground }}")
hl.env("GUM_CHOOSE_HEADER_BACKGROUND", "{{ background }}")
hl.env("GUM_CHOOSE_ITEM_FOREGROUND", "{{ foreground }}")
hl.env("GUM_CHOOSE_ITEM_BACKGROUND", "{{ background }}")
hl.env("GUM_CHOOSE_SELECTED_FOREGROUND", "{{ selection_foreground }}")
hl.env("GUM_CHOOSE_SELECTED_BACKGROUND", "{{ selection_background }}")
-- Gum Filter Style Variables
hl.env("GUM_FILTER_PROMPT_FOREGROUND", "{{ accent }}")
hl.env("GUM_FILTER_PROMPT_BACKGROUND", "{{ background }}")
hl.env("GUM_FILTER_TEXT_FOREGROUND", "{{ foreground }}")
hl.env("GUM_FILTER_TEXT_BACKGROUND", "{{ background }}")
hl.env("GUM_FILTER_MATCH_FOREGROUND", "{{ accent }}")
hl.env("GUM_FILTER_CURSOR_TEXT_FOREGROUND", "{{ bright_foreground }}")
hl.env("GUM_FILTER_CURSOR_TEXT_BACKGROUND", "{{ background }}")
hl.env("GUM_FILTER_SELECTED_FOREGROUND", "{{ selection_foreground }}")
hl.env("GUM_FILTER_SELECTED_BACKGROUND", "{{ selection_background }}")
hl.env("GUM_FILTER_INDICATOR_FOREGROUND", "{{ accent }}")
hl.env("GUM_FILTER_HEADER_FOREGROUND", "{{ foreground }}")
hl.env("GUM_FILTER_MATCH_BACKGROUND", "{{ background }}")
hl.env("GUM_FILTER_HEADER_BACKGROUND", "{{ background }}")
hl.env("GUM_FILTER_PLACEHOLDER_FOREGROUND", "{{ muted }}")
hl.env("GUM_FILTER_PLACEHOLDER_BACKGROUND", "{{ background }}")
hl.env("GUM_FILTER_INDICATOR_BACKGROUND", "{{ background }}")
hl.env("GUM_FILTER_SELECTED_PREFIX_FOREGROUND", "{{ selection_foreground }}")
hl.env("GUM_FILTER_SELECTED_PREFIX_BACKGROUND", "{{ selection_background }}")
hl.env("GUM_FILTER_UNSELECTED_PREFIX_FOREGROUND", "{{ muted }}")
hl.env("GUM_FILTER_UNSELECTED_PREFIX_BACKGROUND", "{{ background }}")
-- Gum Table Style Variables
hl.env("GUM_TABLE_HEADER_FOREGROUND", "{{ foreground }}")
hl.env("GUM_TABLE_HEADER_BACKGROUND", "{{ background }}")
hl.env("GUM_TABLE_CELL_FOREGROUND", "{{ foreground }}")
hl.env("GUM_TABLE_CELL_BACKGROUND", "{{ background }}")
hl.env("GUM_TABLE_BORDER_FOREGROUND", "{{ muted }}")
hl.env("GUM_TABLE_BORDER_BACKGROUND", "{{ background }}")
hl.env("GUM_TABLE_SELECTED_FOREGROUND", "{{ selection_foreground }}")
hl.env("GUM_TABLE_SELECTED_BACKGROUND", "{{ selection_background }}")
-- Gum Spin Style Variables
hl.env("GUM_SPIN_SPINNER_FOREGROUND", "{{ accent }}")
hl.env("GUM_SPIN_SPINNER_BACKGROUND", "{{ background }}")
hl.env("GUM_SPIN_TITLE_FOREGROUND", "{{ foreground }}")
hl.env("GUM_SPIN_TITLE_BACKGROUND", "{{ background }}")
-- Gum File Style Variables
hl.env("GUM_FILE_CURSOR_FOREGROUND", "{{ bright_foreground }}")
hl.env("GUM_FILE_CURSOR_BACKGROUND", "{{ background }}")
hl.env("GUM_FILE_SYMLINK_FOREGROUND", "{{ foreground }}")
hl.env("GUM_FILE_SYMLINK_BACKGROUND", "{{ background }}")
hl.env("GUM_FILE_DIRECTORY_FOREGROUND", "{{ foreground }}")
hl.env("GUM_FILE_DIRECTORY_BACKGROUND", "{{ background }}")
hl.env("GUM_FILE_FILE_FOREGROUND", "{{ foreground }}")
hl.env("GUM_FILE_FILE_BACKGROUND", "{{ background }}")
hl.env("GUM_FILE_PERMISSIONS_FOREGROUND", "{{ muted }}")
hl.env("GUM_FILE_PERMISSIONS_BACKGROUND", "{{ background }}")
hl.env("GUM_FILE_SELECTED_FOREGROUND", "{{ selection_foreground }}")
hl.env("GUM_FILE_SELECTED_BACKGROUND", "{{ selection_background }}")
hl.env("GUM_FILE_FILE_SIZE_FOREGROUND", "{{ muted }}")
hl.env("GUM_FILE_FILE_SIZE_BACKGROUND", "{{ background }}")
hl.env("GUM_FILE_HEADER_FOREGROUND", "{{ foreground }}")
hl.env("GUM_FILE_HEADER_BACKGROUND", "{{ background }}")
-- Gum Pager Style Variables
hl.env("GUM_PAGER_FOREGROUND", "{{ foreground }}")
hl.env("GUM_PAGER_BACKGROUND", "{{ background }}")
hl.env("GUM_PAGER_LINE_NUMBER_FOREGROUND", "{{ muted }}")
hl.env("GUM_PAGER_LINE_NUMBER_BACKGROUND", "{{ background }}")
hl.env("GUM_PAGER_MATCH_FOREGROUND", "{{ accent }}")
hl.env("GUM_PAGER_MATCH_BACKGROUND", "{{ background }}")
hl.env("GUM_PAGER_MATCH_HIGH_FOREGROUND", "{{ accent }}")
hl.env("GUM_PAGER_MATCH_HIGH_BACKGROUND", "{{ background }}")
hl.env("GUM_PAGER_HELP_FOREGROUND", "{{ muted }}")
hl.env("GUM_PAGER_HELP_BACKGROUND", "{{ background }}")
-- Gum Write Style Variables
hl.env("GUM_WRITE_BASE_FOREGROUND", "{{ foreground }}")
hl.env("GUM_WRITE_BASE_BACKGROUND", "{{ background }}")
hl.env("GUM_WRITE_CURSOR_LINE_NUMBER_FOREGROUND", "{{ muted }}")
hl.env("GUM_WRITE_CURSOR_LINE_NUMBER_BACKGROUND", "{{ background }}")
hl.env("GUM_WRITE_CURSOR_LINE_FOREGROUND", "{{ foreground }}")
hl.env("GUM_WRITE_CURSOR_LINE_BACKGROUND", "{{ selection_background }}")
hl.env("GUM_WRITE_CURSOR_FOREGROUND", "{{ bright_foreground }}")
hl.env("GUM_WRITE_CURSOR_BACKGROUND", "{{ background }}")
hl.env("GUM_WRITE_END_OF_BUFFER_FOREGROUND", "{{ muted }}")
hl.env("GUM_WRITE_END_OF_BUFFER_BACKGROUND", "{{ background }}")
hl.env("GUM_WRITE_LINE_NUMBER_FOREGROUND", "{{ muted }}")
hl.env("GUM_WRITE_LINE_NUMBER_BACKGROUND", "{{ background }}")
hl.env("GUM_WRITE_HEADER_FOREGROUND", "{{ foreground }}")
hl.env("GUM_WRITE_HEADER_BACKGROUND", "{{ background }}")
hl.env("GUM_WRITE_PLACEHOLDER_FOREGROUND", "{{ muted }}")
hl.env("GUM_WRITE_PLACEHOLDER_BACKGROUND", "{{ background }}")
hl.env("GUM_WRITE_PROMPT_FOREGROUND", "{{ foreground }}")
hl.env("GUM_WRITE_PROMPT_BACKGROUND", "{{ background }}")
-- Gum Log Style Variables
hl.env("GUM_LOG_LEVEL_FOREGROUND", "{{ accent }}")
hl.env("GUM_LOG_LEVEL_BACKGROUND", "{{ background }}")
hl.env("GUM_LOG_TIME_FOREGROUND", "{{ muted }}")
hl.env("GUM_LOG_TIME_BACKGROUND", "{{ background }}")
hl.env("GUM_LOG_PREFIX_FOREGROUND", "{{ foreground }}")
hl.env("GUM_LOG_PREFIX_BACKGROUND", "{{ background }}")
hl.env("GUM_LOG_MESSAGE_FOREGROUND", "{{ foreground }}")
hl.env("GUM_LOG_MESSAGE_BACKGROUND", "{{ background }}")
hl.env("GUM_LOG_KEY_FOREGROUND", "{{ foreground }}")
hl.env("GUM_LOG_KEY_BACKGROUND", "{{ background }}")
hl.env("GUM_LOG_VALUE_FOREGROUND", "{{ foreground }}")
hl.env("GUM_LOG_VALUE_BACKGROUND", "{{ background }}")
hl.env("GUM_LOG_SEPARATOR_FOREGROUND", "{{ muted }}")
hl.env("GUM_LOG_SEPARATOR_BACKGROUND", "{{ background }}")
+15 -14
View File
@@ -76,12 +76,12 @@
"ui.bufferline.active" = { fg = "foreground", bg = "background", underline = { color = "color5", style = "line" } }
"ui.text" = "foreground"
"ui.text.focus" = { fg = "foreground", bg = "color0", modifiers = ["bold"] }
"ui.text.focus" = { fg = "foreground", bg = "lighter_background", modifiers = ["bold"] }
"ui.text.inactive" = { fg = "color8" }
"ui.text.directory" = { fg = "color4" }
"ui.virtual" = "color8"
"ui.virtual.ruler" = { bg = "color0" }
"ui.virtual.ruler" = { bg = "lighter_background" }
"ui.virtual.indent-guide" = "color8"
"ui.virtual.inlay-hint" = { fg = "color8" }
"ui.virtual.jump-label" = { fg = "color1", modifiers = ["bold"] }
@@ -96,9 +96,9 @@
"ui.cursor.primary.insert" = { fg = "background", bg = "color2" }
"ui.cursor.primary.select" = { fg = "background", bg = "color5" }
"ui.cursorline.primary" = { bg = "color0" }
"ui.cursorline.primary" = { bg = "lighter_background" }
"ui.highlight" = { bg = "color0", modifiers = ["bold"] }
"ui.highlight" = { bg = "lighter_background", modifiers = ["bold"] }
"ui.menu" = { fg = "foreground", bg = "background" }
"ui.menu.selected" = { fg = "background", bg = "foreground", modifiers = ["bold"] }
@@ -118,15 +118,16 @@ hint = "color6"
[palette]
background = "{{ background }}"
foreground = "{{ foreground }}"
cursor = "{{ cursor }}"
lighter_background = "{{ lighter_background }}"
cursor = "{{ bright_foreground }}"
selection_background = "{{ selection_background }}"
selection_foreground = "{{ selection_foreground }}"
color0 = "{{ color0 }}"
color1 = "{{ color1 }}"
color2 = "{{ color2 }}"
color3 = "{{ color3 }}"
color4 = "{{ color4 }}"
color5 = "{{ color5 }}"
color6 = "{{ color6 }}"
color7 = "{{ color7 }}"
color8 = "{{ color8 }}"
color0 = "{{ background }}"
color1 = "{{ red }}"
color2 = "{{ green }}"
color3 = "{{ yellow }}"
color4 = "{{ blue }}"
color5 = "{{ magenta }}"
color6 = "{{ cyan }}"
color7 = "{{ foreground }}"
color8 = "{{ muted }}"
+47
View File
@@ -0,0 +1,47 @@
name: omarchy
description: Omarchy system theme
colors:
background: "{{ background }}"
ui_text: "{{ foreground }}"
ui_primary: "{{ accent }}"
ui_accent: "{{ accent }}"
ui_border: "{{ muted }}"
ui_label: "{{ accent }}"
ui_ok: "{{ green }}"
ui_warn: "{{ yellow }}"
ui_error: "{{ red }}"
ui_tool: "{{ cyan }}"
ui_thinking: "{{ dark_foreground }}"
banner_border: "{{ muted }}"
banner_title: "{{ accent }}"
banner_accent: "{{ accent }}"
banner_dim: "{{ dark_foreground }}"
banner_text: "{{ foreground }}"
prompt: "{{ bright_foreground }}"
input_rule: "{{ muted }}"
response_border: "{{ accent }}"
shell_dollar: "{{ blue }}"
selection_bg: "{{ selection }}"
session_label: "{{ accent }}"
session_border: "{{ muted }}"
status_bar_bg: "{{ dark_background }}"
status_bar_text: "{{ foreground }}"
status_bar_strong: "{{ accent }}"
status_bar_dim: "{{ dark_foreground }}"
status_bar_good: "{{ green }}"
status_bar_warn: "{{ yellow }}"
status_bar_bad: "{{ red }}"
status_bar_critical: "{{ bright_red }}"
voice_status_bg: "{{ dark_background }}"
completion_menu_bg: "{{ lighter_background }}"
completion_menu_current_bg: "{{ selection }}"
completion_menu_meta_bg: "{{ lighter_background }}"
completion_menu_meta_current_bg: "{{ selection }}"
diff_added: "{{ mix background green 15% }}"
diff_removed: "{{ mix background red 15% }}"
diff_added_word: "{{ green }}"
diff_removed_word: "{{ red }}"
syntax_string: "{{ green }}"
syntax_number: "{{ yellow }}"
syntax_keyword: "{{ magenta }}"
syntax_comment: "{{ muted }}"
@@ -1,10 +1,10 @@
@define-color foreground {{ foreground }};
@define-color background {{ background }};
@define-color accent {{ accent }};
@define-color muted {{ color8 }};
@define-color card_bg {{ color0 }};
@define-color muted {{ muted }};
@define-color card_bg {{ lighter_background }};
@define-color text_dark {{ background }};
@define-color accent_hover {{ color12 }};
@define-color accent_hover {{ bright_blue }};
@define-color selected_tab {{ accent }};
@define-color text {{ foreground }};
-9
View File
@@ -1,9 +0,0 @@
$activeBorderColor = rgb({{ accent_strip }})
general {
col.active_border = $activeBorderColor
}
group {
col.border_active = $activeBorderColor
}
+15 -11
View File
@@ -1,14 +1,18 @@
local active_border_color = {{ hypr_gradient hyprland_active_border accent }}
local inactive_border_color = {{ hypr_gradient hyprland_inactive_border rgba(595959aa) }}
hl.config({
general = {
col = {
active_border = { colors = {"rgb({{ accent_strip }})", "rgb({{ color1_strip }})" }, angle = 45 },
inactive_border = { colors = {"rgb({{ color2_strip }})", "rgb({{ color2_strip }})" }, angle = 45 }
}
general = {
col = {
active_border = active_border_color,
inactive_border = inactive_border_color,
},
group = {
col = {
border_active = { colors = {"rgb({{ accent_strip }})", "rgb({{ color1_strip }})" }, angle = 45 },
border_inactive = { colors = {"rgb({{ color2_strip }})", "rgb({{ color2_strip }})" }, angle = 45 }
}
}
},
group = {
col = {
border_active = active_border_color,
border_inactive = inactive_border_color,
},
},
})
+17 -17
View File
@@ -3,25 +3,25 @@ background {{ background }}
selection_foreground {{ selection_foreground }}
selection_background {{ selection_background }}
cursor {{ cursor }}
cursor {{ bright_foreground }}
cursor_text_color {{ background }}
active_border_color {{ accent }}
active_tab_background {{ accent }}
color0 {{ color0 }}
color1 {{ color1 }}
color2 {{ color2 }}
color3 {{ color3 }}
color4 {{ color4 }}
color5 {{ color5 }}
color6 {{ color6 }}
color7 {{ color7 }}
color8 {{ color8 }}
color9 {{ color9 }}
color10 {{ color10 }}
color11 {{ color11 }}
color12 {{ color12 }}
color13 {{ color13 }}
color14 {{ color14 }}
color15 {{ color15 }}
color0 {{ background }}
color1 {{ red }}
color2 {{ green }}
color3 {{ yellow }}
color4 {{ blue }}
color5 {{ magenta }}
color6 {{ cyan }}
color7 {{ foreground }}
color8 {{ muted }}
color9 {{ bright_red }}
color10 {{ bright_green }}
color11 {{ bright_yellow }}
color12 {{ bright_blue }}
color13 {{ bright_magenta }}
color14 {{ bright_cyan }}
color15 {{ bright_foreground }}
+41
View File
@@ -0,0 +1,41 @@
vim.pack.add({{ src = "https://github.com/bjarneo/aether.nvim", branch = "v3" }})
require('aether').setup({
colors = {
bg = "{{ background }}",
dark_bg = "{{ dark_background }}",
darker_bg = "{{ darker_background }}",
lighter_bg = "{{ lighter_background }}",
fg = "{{ foreground }}",
dark_fg = "{{ dark_foreground }}",
light_fg = "{{ light_foreground }}",
bright_fg = "{{ bright_foreground }}",
muted = "{{ muted }}",
red = "{{ red }}",
yellow = "{{ yellow }}",
orange = "{{ orange }}",
green = "{{ green }}",
cyan = "{{ cyan }}",
blue = "{{ blue }}",
magenta = "{{ magenta }}",
brown = "{{ brown }}",
bright_red = "{{ bright_red }}",
bright_yellow = "{{ bright_yellow }}",
bright_green = "{{ bright_green }}",
bright_cyan = "{{ bright_cyan }}",
bright_blue = "{{ bright_blue }}",
bright_magenta = "{{ bright_magenta }}",
accent = "{{ accent }}",
cursor = "{{ bright_foreground }}",
foreground = "{{ foreground }}",
background = "{{ background }}",
selection = "{{ selection }}",
selection_foreground = "{{ selection_foreground }}",
selection_background = "{{ selection_background }}",
},
})
vim.cmd('colorscheme aether')
+52
View File
@@ -0,0 +1,52 @@
return {
{
"bjarneo/aether.nvim",
branch = "v3",
name = "aether",
priority = 1000,
opts = {
colors = {
bg = "{{ background }}",
dark_bg = "{{ dark_background }}",
darker_bg = "{{ darker_background }}",
lighter_bg = "{{ lighter_background }}",
fg = "{{ foreground }}",
dark_fg = "{{ dark_foreground }}",
light_fg = "{{ light_foreground }}",
bright_fg = "{{ bright_foreground }}",
muted = "{{ muted }}",
red = "{{ red }}",
yellow = "{{ yellow }}",
orange = "{{ orange }}",
green = "{{ green }}",
cyan = "{{ cyan }}",
blue = "{{ blue }}",
magenta = "{{ magenta }}",
brown = "{{ brown }}",
bright_red = "{{ bright_red }}",
bright_yellow = "{{ bright_yellow }}",
bright_green = "{{ bright_green }}",
bright_cyan = "{{ bright_cyan }}",
bright_blue = "{{ bright_blue }}",
bright_magenta = "{{ bright_magenta }}",
accent = "{{ accent }}",
cursor = "{{ bright_foreground }}",
foreground = "{{ foreground }}",
background = "{{ background }}",
selection = "{{ selection }}",
selection_foreground = "{{ selection_foreground }}",
selection_background = "{{ selection_background }}",
},
},
},
{
"LazyVim/LazyVim",
opts = {
colorscheme = "aether",
},
},
}
+25 -25
View File
@@ -12,18 +12,18 @@
--text-selection: {{ selection_background }};
/* Border color */
--background-modifier-border: {{ color8 }};
--background-modifier-border: {{ muted }};
/* Semantic heading colors */
--text-title-h1: {{ color1 }};
--text-title-h2: {{ color2 }};
--text-title-h3: {{ color3 }};
--text-title-h4: {{ color4 }};
--text-title-h5: {{ color5 }};
--text-title-h6: {{ color5 }};
--text-title-h1: {{ red }};
--text-title-h2: {{ green }};
--text-title-h3: {{ yellow }};
--text-title-h4: {{ blue }};
--text-title-h5: {{ magenta }};
--text-title-h6: {{ magenta }};
/* Links and accents */
--text-link: {{ color4 }};
--text-link: {{ blue }};
--text-accent: {{ accent }};
--text-accent-hover: {{ accent }};
--interactive-accent: {{ accent }};
@@ -34,23 +34,23 @@
--text-faint: color-mix(in srgb, {{ foreground }} 55%, transparent);
/* Code */
--code-normal: {{ color6 }};
--code-normal: {{ cyan }};
/* Errors and success */
--text-error: {{ color1 }};
--text-error-hover: {{ color1 }};
--text-success: {{ color2 }};
--text-error: {{ red }};
--text-error-hover: {{ red }};
--text-success: {{ green }};
/* Tags */
--tag-color: {{ color6 }};
--tag-background: {{ color8 }};
--tag-color: {{ cyan }};
--tag-background: {{ muted }};
/* Graph */
--graph-line: {{ color8 }};
--graph-line: {{ muted }};
--graph-node: {{ accent }};
--graph-node-focused: {{ color4 }};
--graph-node-tag: {{ color6 }};
--graph-node-attachment: {{ color2 }};
--graph-node-focused: {{ blue }};
--graph-node-tag: {{ cyan }};
--graph-node-attachment: {{ green }};
}
/* Headers */
@@ -63,16 +63,16 @@
/* Code blocks */
.markdown-rendered code {
color: {{ color6 }};
color: {{ cyan }};
}
/* Syntax highlighting */
.cm-s-obsidian span.cm-keyword { color: {{ color1 }}; }
.cm-s-obsidian span.cm-string { color: {{ color2 }}; }
.cm-s-obsidian span.cm-number { color: {{ color3 }}; }
.cm-s-obsidian span.cm-comment { color: {{ color8 }}; }
.cm-s-obsidian span.cm-operator { color: {{ color4 }}; }
.cm-s-obsidian span.cm-def { color: {{ color4 }}; }
.cm-s-obsidian span.cm-keyword { color: {{ red }}; }
.cm-s-obsidian span.cm-string { color: {{ green }}; }
.cm-s-obsidian span.cm-number { color: {{ yellow }}; }
.cm-s-obsidian span.cm-comment { color: {{ muted }}; }
.cm-s-obsidian span.cm-operator { color: {{ blue }}; }
.cm-s-obsidian span.cm-def { color: {{ blue }}; }
/* Links */
.markdown-rendered a {
+95
View File
@@ -0,0 +1,95 @@
{
"$schema": "https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",
"name": "omarchy-system",
"vars": {
"background": "{{ background }}",
"foreground": "{{ foreground }}",
"accent": "{{ accent }}",
"selectionBackground": "{{ selection_background }}",
"selectionForeground": "{{ selection_foreground }}",
"selectedBackground": "{{ mix background accent 22% }}",
"color0": "{{ background }}",
"color1": "{{ red }}",
"color2": "{{ green }}",
"color3": "{{ yellow }}",
"color4": "{{ blue }}",
"color5": "{{ magenta }}",
"color6": "{{ cyan }}",
"color7": "{{ foreground }}",
"color8": "{{ muted }}",
"color9": "{{ bright_red }}",
"color10": "{{ bright_green }}",
"color11": "{{ bright_yellow }}",
"color12": "{{ bright_blue }}",
"color13": "{{ bright_magenta }}",
"color14": "{{ bright_cyan }}",
"color15": "{{ bright_foreground }}",
"panel": "{{ mix background foreground 6% }}",
"panelAlt": "{{ mix background foreground 10% }}",
"panelPending": "{{ mix background accent 12% }}",
"panelSuccess": "{{ mix background green 12% }}",
"panelError": "{{ mix background red 12% }}",
"border": "{{ mix background foreground 30% }}",
"borderMuted": "{{ mix background foreground 20% }}",
"mutedText": "{{ mix foreground background 34% }}",
"dimText": "{{ mix foreground background 52% }}"
},
"colors": {
"accent": "accent",
"border": "border",
"borderAccent": "accent",
"borderMuted": "borderMuted",
"success": "color2",
"error": "color1",
"warning": "color3",
"muted": "mutedText",
"dim": "dimText",
"text": "foreground",
"thinkingText": "dimText",
"selectedBg": "selectedBackground",
"userMessageBg": "panel",
"userMessageText": "foreground",
"customMessageBg": "panel",
"customMessageText": "foreground",
"customMessageLabel": "accent",
"toolPendingBg": "panelPending",
"toolSuccessBg": "panelSuccess",
"toolErrorBg": "panelError",
"toolTitle": "accent",
"toolOutput": "foreground",
"mdHeading": "color5",
"mdLink": "accent",
"mdLinkUrl": "color6",
"mdCode": "color6",
"mdCodeBlock": "foreground",
"mdCodeBlockBorder": "borderMuted",
"mdQuote": "mutedText",
"mdQuoteBorder": "borderMuted",
"mdHr": "borderMuted",
"mdListBullet": "color5",
"toolDiffAdded": "color2",
"toolDiffRemoved": "color1",
"toolDiffContext": "mutedText",
"syntaxComment": "dimText",
"syntaxKeyword": "color5",
"syntaxFunction": "color4",
"syntaxVariable": "accent",
"syntaxString": "color2",
"syntaxNumber": "color3",
"syntaxType": "color4",
"syntaxOperator": "color5",
"syntaxPunctuation": "mutedText",
"thinkingOff": "borderMuted",
"thinkingMinimal": "accent",
"thinkingLow": "color4",
"thinkingMedium": "color5",
"thinkingHigh": "color3",
"thinkingXhigh": "color1",
"bashMode": "color3"
},
"export": {
"pageBg": "{{ background }}",
"cardBg": "{{ mix background foreground 6% }}",
"infoBg": "{{ mix background foreground 10% }}"
}
}
+34 -34
View File
@@ -1,56 +1,56 @@
[colors]
# Regular colors
background = '{{ background }}'
black = '{{ color0 }}'
blue = '{{ color4 }}'
cyan = '{{ color6 }}'
black = '{{ background }}'
blue = '{{ blue }}'
cyan = '{{ cyan }}'
foreground = '{{ foreground }}'
green = '{{ color2 }}'
magenta = '{{ color5 }}'
red = '{{ color1 }}'
white = '{{ color15 }}'
yellow = '{{ color11 }}'
green = '{{ green }}'
magenta = '{{ magenta }}'
red = '{{ red }}'
white = '{{ foreground }}'
yellow = '{{ yellow }}'
# Cursor
cursor = '{{ cursor }}'
cursor = '{{ bright_foreground }}'
vi-cursor = '{{ accent }}'
# Navigation
# tabs and tabs-active set the inactive/active tab title colors.
# Tab island backgrounds are derived from the window background color.
tabs = '{{ color8 }}'
tabs-active = '{{ color15 }}'
split = '{{ color8 }}'
split-active = '{{ color15 }}'
tabs = '{{ muted }}'
tabs-active = '{{ selection }}'
split = '{{ muted }}'
split-active = '{{ selection }}'
# Search
search-match-background = '{{ color12 }}'
search-match-foreground = '{{ color15 }}'
search-focused-match-background = '{{ color3 }}'
search-focused-match-foreground = '{{ color15 }}'
search-match-background = '{{ light_background }}'
search-match-foreground = '{{ dark_foreground }}'
search-focused-match-background = '{{ lighter_background }}'
search-focused-match-foreground = '{{ dark_foreground }}'
# Selection
selection-foreground = '{{ selection_foreground }}'
selection-background = '{{ selection_background }}'
# Dim colors
dim-black = '{{ color0 }}'
dim-blue = '{{ color4 }}'
dim-cyan = '{{ color6 }}'
dim-black = '{{ background }}'
dim-blue = '{{ blue }}'
dim-cyan = '{{ cyan }}'
dim-foreground = '{{ foreground }}'
dim-green = '{{ color2 }}'
dim-magenta = '{{ color5 }}'
dim-red = '{{ color1 }}'
dim-white = '{{ color15 }}'
dim-yellow = '{{ color11 }}'
dim-green = '{{ green }}'
dim-magenta = '{{ magenta }}'
dim-red = '{{ red }}'
dim-white = '{{ foreground }}'
dim-yellow = '{{ yellow }}'
# Light colors
light-black = '{{ color8 }}'
light-blue = '{{ color12 }}'
light-cyan = '{{ color14 }}'
light-foreground = '{{ foreground }}'
light-green = '{{ color10 }}'
light-magenta = '{{ color13 }}'
light-red = '{{ color9 }}'
light-white = '{{ color15 }}'
light-yellow = '{{ color11 }}'
light-black = '{{ lighter_background }}'
light-blue = '{{ bright_blue }}'
light-cyan = '{{ bridht_cyan }}'
light-foreground = '{{ bright_foreground }}'
light-green = '{{ bright_green }}'
light-magenta = '{{ bright_magenta }}'
light-red = '{{ bright_red}}'
light-white = '{{ bright_foreground }}'
light-yellow = '{{ bright_yellow }}'
+7 -7
View File
@@ -1,20 +1,20 @@
* {
background: {{ background }};
foreground: {{ foreground }};
active-background: {{ color2 }};
urgent-background: {{ color1 }};
active-background: {{ lighter_background }};
urgent-background: {{ accent }};
normal-foreground: {{ color3 }};
normal-background: {{ background }};
normal-foreground: {{ dark_foreground }};
normal-background: {{ dark_background }};
selected-foreground: {{ selection_foreground }};
selected-background: {{ selection_background }};
seperator-color: {{ background }};
border-color: {{ color0 }};
border-color: {{ accent }};
prompt-color: {{ color4 }};
prompt-background-color: {{ color0 }};
prompt-color: {{ light_foreground }};
prompt-background-color: {{ darker_background }};
window-border-size: 1px;
window-border-radius: 8px;
+237
View File
@@ -0,0 +1,237 @@
# Omarchy shell surfaces. Colors derive from colors.toml; sizes and the
# typographic scale come from the keys below. Themes can ship
# themes/<name>/shell.toml to replace this generated file.
[bar]
# Alpha companions (where present) range from 0 (invisible) to 1 (opaque).
background = "{{ background }}"
background-alpha = 1.0
text = "{{ foreground }}"
# Modules calling attention to themselves (recording, voxtype, alerts, updates)
active = "{{ red }}"
# Cross-axis size at font base-size 12. size-horizontal is the height of
# top/bottom bars; size-vertical is the width of left/right bars. With
# scale-with-font enabled, these grow/shrink with [font] base-size.
scale-with-font = true
size-horizontal = 26
size-vertical = 28
[hyprland]
# Shared Hyprland-derived border tokens. Surface sections reference these so
# lock, notifications, popups, and menu-style cards stay aligned with the
# current Hyprland active-border gradient.
active-border = "{{ shell_gradient hyprland_active_border accent }}"
active-border-foreground = "{{ shell_gradient hyprland_active_border foreground }}"
[controls]
# Shared state tokens for interactive control chrome (buttons, dropdowns,
# tab strips, etc).
# Normal: idle control chrome. Border widths accept one CSS-style scalar/list:
# N, "Y X", "T X B", or "T R B L". Per-side keys like
# normal-border-width-left override the list. Each *-border accepts either a
# solid color or a Hyprland-style gradient, e.g. "rgba(...) rgba(...) 45deg".
normal-color = "{{ foreground }}"
normal-fill-alpha = 0.04
normal-border = "{{ foreground }}"
normal-border-width = 1
normal-border-alpha = 0.4
# Hover-cursor: mouse hover and the panel keyboard cursor.
hover-cursor-color = "{{ foreground }}"
hover-cursor-fill-alpha = 0.08
hover-cursor-border = "{{ foreground }}"
hover-cursor-border-width = 1
hover-cursor-border-alpha = 0.25
# Focus: Qt activeFocus. Mirror the hover-cursor values by default so
# mouse hover, keyboard cursor, and tab focus all read as the same state
# — themes that want focus to stand out override these four lines.
focus-color = "{{ foreground }}"
focus-fill-alpha = 0.08
focus-border = "{{ foreground }}"
focus-border-width = 1
focus-border-alpha = 0.25
# Selected: persistent chosen/current state.
selected-color = "{{ foreground }}"
selected-fill-alpha = 0.18
selected-border = "{{ foreground }}"
selected-border-width = 0
selected-border-alpha = 1.0
# Momentary fills.
pressed-fill-alpha = 0.22
selection-fill-alpha = 0.35
[spacing]
# `scale` multiplies shared margins, gaps, padding, controls, and panel
# dimensions; components keep their proportions. With scale-with-font
# enabled, those dimensions grow/shrink with [font] base-size too. Per-token
# overrides (in px) below pin individual values without affecting the rest
# of the scale. Uncomment any to tune a specific surface.
scale = 1.0
scale-with-font = true
# xxs = 2
# xs = 3
# sm = 4
# md = 6
# lg = 8
# xl = 10
# xxl = 12
# xxxl = 14
# huge = 18
# control-gap = 8
# control-padding-x = 10
# control-padding-y = 6
# input-padding-y = 7
# control-height = 28
# popup-row-height = 28
# row-gap = 8
# row-padding-x = 12
# label-gap = 4
# panel-gap = 14
# panel-padding = 18
# popup-padding = 14
# dropdown-width = 240
# searchable-dropdown-width = 260
# number-field-width = 120
# searchable-popup-min-height = 220
[font]
# base-size is the rem root for the type scale. Every Style.font.<token>
# derives from it (e.g. body = base, subtitle ≈ base * 1.083,
# heading ≈ base * 1.333). The shell only floors this at 1px; increase it
# as much as you want.
base-size = 12
# Per-token overrides, in px. Uncomment any to pin a specific size without
# affecting the rest of the scale. Useful for stylistic emphasis (a
# minimalist theme that wants a bigger heading without scaling everything).
# caption = 10
# body-small = 11
# body = 12
# subtitle = 13
# title = 14
# heading = 16
# display = 24
# display-large = 28
# icon-small = 11
# icon = 14
# icon-large = 18
[popups]
# Shared by every bar flyout (dropdowns, OSD, popup cards).
# Border accepts either a solid color or a Hyprland-style gradient. Border
# widths accept one CSS-style scalar/list: N, "Y X", "T X B", or "T R B L";
# individual border-width-top/right/bottom/left keys override the list.
background = "{{ background }}"
background-alpha = 1.0
text = "{{ foreground }}"
border = "hyprland.active-border"
border-alpha = 1.0
# border-width = 2
[tooltip]
# Hover tooltips across the bar, panels, and buttons. background-alpha of
# 0.97 mirrors the legacy hard-coded tooltip opacity.
background = "{{ background }}"
background-alpha = 0.97
text = "{{ foreground }}"
border = "hyprland.active-border-foreground"
border-alpha = 1.0
[notifications]
background = "{{ background }}"
background-alpha = 1.0
text = "{{ foreground }}"
# Conventionally matches the Hyprland active-window border. Border accepts
# either a solid color or the full active-border gradient.
border = "hyprland.active-border"
border-alpha = 1.0
# border-width = 2
countdown = "{{ accent }}"
[launcher]
# Same six tokens as [menu], applied to the launcher overlay. Alpha
# companions go from 0 (invisible) to 1 (opaque). scrim is the full-screen
# dim layer behind the card; background is the card itself. Defaults
# mirror [menu] with the card at 0.95 to preserve the legacy translucency.
background = "{{ background }}"
background-alpha = 0.95
text = "{{ foreground }}"
border = "hyprland.active-border-foreground"
border-alpha = 1.0
scrim = "{{ background }}"
scrim-alpha = 0.5
selected-background = "{{ foreground }}"
selected-background-alpha = 0.08
selected-text = "{{ accent }}"
selected-border = "hyprland.active-border-foreground"
selected-border-alpha = 0.25
[menu]
# Cards, rows, and selected-row treatment. Alpha companions (where present)
# go from 0 (invisible) to 1 (opaque). scrim is the full-screen dim layer
# behind the card. Clipboard and emojis inherit these tokens.
background = "{{ background }}"
background-alpha = 1.0
text = "{{ foreground }}"
border = "hyprland.active-border-foreground"
border-alpha = 1.0
scrim = "{{ background }}"
scrim-alpha = 0.5
selected-background = "{{ foreground }}"
selected-background-alpha = 0.08
selected-text = "{{ accent }}"
selected-border = "hyprland.active-border-foreground"
selected-border-alpha = 0.25
[polkit]
# Polkit authentication prompt (sudo/password dialogs). scrim is the
# darkening layer behind the card; background is the card itself.
# text-error tints the lock icon, password text, and placeholder when
# authentication fails. border-alpha applies to both border and
# border-error (the two states are mutually exclusive in time).
background = "{{ background }}"
background-alpha = 1.0
text = "{{ foreground }}"
text-error = "{{ red }}"
border = "hyprland.active-border"
border-error = "{{ red }}"
border-alpha = 1.0
scrim = "{{ background }}"
scrim-alpha = 0.5
# accent is the lock-icon glyph color + text-selection tint.
accent = "{{ accent }}"
[lock]
# Lock screen password input. background/background-alpha control the
# centered input field card; border/border-active/border-error cycle
# through idle, typing/authenticating, and wrong-password states.
# border-alpha applies to all three border states (they are mutually
# exclusive in time).
background = "{{ background }}"
background-alpha = 0.8
text = "{{ foreground }}"
placeholder = "{{ mix foreground background 34% }}"
text-error = "{{ red }}"
border = "hyprland.active-border"
border-active = "hyprland.active-border"
border-error = "{{ red }}"
border-alpha = 1.0
# selection is the text-selection tint inside the input field.
selection = "{{ accent }}"
selection-alpha = 0.45
[image-picker]
# Carousel-style picker. The picker has no card surface, so `scrim` is
# the full-screen wash. Per-slice dim overlays and text outlines on top
# of the scrim track the foundational background color directly.
# unselected-border-alpha softens carousel slices that aren't selected.
scrim = "{{ background }}"
scrim-alpha = 0.5
text = "{{ foreground }}"
selected-border = "{{ accent }}"
selected-border-alpha = 1.0
unselected-border = "{{ foreground }}"
unselected-border-alpha = 0.28
+7 -7
View File
@@ -1,10 +1,10 @@
name = "omarchy"
background = "{{ background }}"
surface = "{{ color0 }}"
surface = "{{ darker_background }}"
text = "{{ foreground }}"
accent = "{{ color7 }}"
danger = "{{ color1 }}"
muted = "{{ color8 }}"
highlight = "{{ color4 }}"
border = "{{ color2 }}"
dim_text = "{{ color3 }}"
accent = "{{ accent }}"
danger = "{{ red }}"
muted = "{{ muted }}"
highlight = "{{ selection }}"
border = "{{ light_foreground }}"
dim_text = "{{ dark_foreground }}"
+36
View File
@@ -0,0 +1,36 @@
{
"name": "Omarchy",
"appearance": "{{ mode }}",
"canvas": "{{ background }}",
"accent": "{{ accent }}",
"colors": {
"chrome": "{{ background }}",
"toolbar": "{{ background }}",
"toolbarForeground": "{{ foreground }}",
"toolbarBorder": "{{ muted }}",
"text": "{{ foreground }}",
"border": "{{ muted }}",
"focus": "{{ accent }}",
"sidebar": "{{ dark_background }}",
"sidebarForeground": "{{ foreground }}",
"sidebarBorder": "{{ muted }}",
"sidebarRowHover": "{{ mix dark_background foreground 6% }}",
"sidebarRowActive": "{{ mix dark_background accent 18% }}",
"sidebarRowSelected": "{{ selection }}",
"error": "{{ mix red foreground 35% }}",
"warning": "{{ mix yellow foreground 35% }}",
"codeBackground": "{{ dark_background }}",
"codeForeground": "{{ foreground }}",
"terminalBackground": "{{ background }}",
"terminalForeground": "{{ foreground }}",
"terminalCursor": "{{ bright_foreground }}",
"terminalSelection": "{{ selection }}",
"terminalScrollbar": "{{ muted }}",
"terminalScrollbarHover": "{{ dark_foreground }}"
}
}
+9 -9
View File
@@ -1,25 +1,25 @@
color_bg0="{{ background }}"
color_bg1="{{ color0 }}"
color_bg2="{{ color7 }}"
color_bg1="{{ dark_background }}"
color_bg2="{{ darker_background }}"
color_fg0="{{ foreground }}"
color_fg1="{{ color3 }}"
color_fg1="{{ light_foreground }}"
color_status_fg="{{ color4 }}"
color_status_bg="{{ color0 }}"
color_status_fg="{{ light_foreground }}"
color_status_bg="{{ muted }}"
color_selected_fg="{{ selection_foreground }}"
color_selected_bg="{{ selection_background }}"
color_highlight_fg="{{ color2 }}"
color_highlight_fg="{{ yellow }}"
color_highlight_bg="{{ background }}"
color_current_fg="{{ color1 }}"
color_current_fg="{{ orange }}"
color_current_bg="{{ background }}"
color_check_fg="{{ color5 }}"
color_check_fg="{{ green }}"
pane_border_fg="{{ foreground }}"
pane_border_selected_fg="{{ color2 }}"
pane_border_selected_fg="{{ bright_foreground }}"
set -g @prefix_highlight_fg "${color_highlight_fg}"
set -g @prefix_highlight_bg "${color_highlight_bg}"
File diff suppressed because it is too large Load Diff