diff --git a/bin/omarchy-theme-set b/bin/omarchy-theme-set index 4132d3b8..ba34a501 100755 --- a/bin/omarchy-theme-set +++ b/bin/omarchy-theme-set @@ -56,8 +56,6 @@ omarchy-restart-mako omarchy-theme-set-gnome omarchy-theme-set-browser omarchy-theme-set-vscode -omarchy-theme-set-vscodium -omarchy-theme-set-cursor omarchy-theme-set-obsidian # Call hook on theme set diff --git a/bin/omarchy-theme-set-cursor b/bin/omarchy-theme-set-cursor deleted file mode 100755 index 18b962bc..00000000 --- a/bin/omarchy-theme-set-cursor +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -# Call the VSCode theme setter with Cursor-specific parameters -omarchy-theme-set-vscode cursor "$HOME/.config/Cursor/User/settings.json" "$HOME/.local/state/omarchy/toggles/skip-cursor-theme-changes" diff --git a/bin/omarchy-theme-set-obsidian b/bin/omarchy-theme-set-obsidian index 6906b28d..f86cea1d 100755 --- a/bin/omarchy-theme-set-obsidian +++ b/bin/omarchy-theme-set-obsidian @@ -1,52 +1,18 @@ #!/bin/bash -# omarchy-theme-set-obsidian: Bootstrap and update Omarchy theme for Obsidian -# -# - Ensures registry at ~/.local/state/omarchy/obsidian-vaults -# - Populates by extracting vault paths from ~/.config/obsidian/obsidian.json -# - For each valid vault: -# - Ensures .obsidian/themes/Omarchy/{manifest.json, theme.css} -# - Updates theme.css (uses current theme’s obsidian.css if present; otherwise generates -- see below) +# Sync Omarchy theme to all Obsidian vaults -# Theme automagic generation logic: -# -# - Background/foreground: read from ~/.config/omarchy/current/theme/alacritty.toml [colors.primary] -# (background/foreground). Fallbacks: bg=#1a1b26, fg=#a9b1d6. Compute bg brightness for light/dark handling. -# - Palette extraction: collect colors from Alacritty (primary/normal/bright/dim/selection), Waybar (@define-color), -# and Hyprland (col.*_border; rgba->hex). Normalize, dedupe, and count frequencies. -# - Slot ordering: remove bg/fg, sort remaining colors by frequency, then fill 13 slots by cycling. Map slots to: -# h1–h6, links, inline code, marks, interactive accent, blockquote border; muted/faint use border color. -# - Code colors: code background = closest color to bg (Euclidean RGB); if none, make a subtle bg variant (+/− RGB). -# code foreground = closest color to fg; fallback #e0e0e0. -# - Border color: from btop.theme theme[div_line]; else blended mix biased toward bg (≈ (bg+fg)/3). -# - Selection: from Alacritty [colors.selection] (background/text), honoring CellForeground/Background. -# If missing, background = 75% bg + 25% fg; text chosen for contrast vs selection background. -# - Fonts: monospace from Alacritty [font] or fontconfig monospace; UI font from fontconfig sans-serif. - -VAULTS_FILE="$HOME/.local/state/omarchy/obsidian-vaults" CURRENT_THEME_DIR="$HOME/.config/omarchy/current/theme" -ensure_vaults_file() { - mkdir -p "$(dirname "$VAULTS_FILE")" - local tmpfile - tmpfile="$(mktemp)" - # Extract the Obsidian vault location from config file //.obsidian - jq -r '.vaults | values[].path' ~/.config/obsidian/obsidian.json 2>/dev/null >>"$tmpfile" - if [ -s "$tmpfile" ]; then - sort -u "$tmpfile" >"$VAULTS_FILE" - else - : >"$VAULTS_FILE" - fi - rm "$tmpfile" -} +[ -f "$CURRENT_THEME_DIR/obsidian.css" ] || exit 0 -# Ensure theme directory and minimal manifest exist in a vault -ensure_theme_scaffold() { - local vault_path="$1" - local theme_dir="$vault_path/.obsidian/themes/Omarchy" +jq -r '.vaults | values[].path' ~/.config/obsidian/obsidian.json 2>/dev/null | while read -r vault_path; do + [ -d "$vault_path/.obsidian" ] || continue + + theme_dir="$vault_path/.obsidian/themes/Omarchy" mkdir -p "$theme_dir" - if [ ! -f "$theme_dir/manifest.json" ]; then - cat >"$theme_dir/manifest.json" <<'EOF' + + [ -f "$theme_dir/manifest.json" ] || cat >"$theme_dir/manifest.json" <<'EOF' { "name": "Omarchy", "version": "1.0.0", @@ -56,624 +22,6 @@ ensure_theme_scaffold() { "authorUrl": "https://omarchy.org" } EOF - fi - [ -f "$theme_dir/theme.css" ] || : >"$theme_dir/theme.css" -} -# Function to extract hex color from string -extract_hex_color() { - echo "$1" | grep -oE '#[0-9a-fA-F]{6}' | head -1 -} - -# Function to convert RGB/RGBA to hex -rgb_to_hex() { - local rgb_string="$1" - if [[ $rgb_string =~ rgba?\(([0-9]+),\s*([0-9]+),\s*([0-9]+) ]]; then - printf "#%02x%02x%02x\n" "${BASH_REMATCH[1]}" "${BASH_REMATCH[2]}" "${BASH_REMATCH[3]}" - fi -} - -# Convert hex to RGB components -hex_to_rgb() { - local hex="${1#\#}" - printf "%d %d %d\n" "0x${hex:0:2}" "0x${hex:2:2}" "0x${hex:4:2}" -} - -# Calculate perceived brightness (0-255) -calculate_brightness() { - local hex="$1" - read -r r g b <<<"$(hex_to_rgb "$hex")" - # Use perceived brightness formula - echo $(((r * 299 + g * 587 + b * 114) / 1000)) -} - -# Calculate approximate contrast ratio between two colors -# Returns ratio scaled by 100 (e.g., 450 = 4.5:1 ratio) -# (this is due to bash not supporting decimal math) -calculate_contrast_ratio() { - local hex1="$1" hex2="$2" - local br1=$(calculate_brightness "$hex1") # 0-255 range - local br2=$(calculate_brightness "$hex2") # 0-255 range - - # Ensure br1 is the lighter color (higher brightness) - if [ $br1 -lt $br2 ]; then - local temp=$br1 - br1=$br2 - br2=$temp - fi - - # Approximate contrast ratio scaled by 100 - # Add offset to avoid division by zero and approximate WCAG +0.05 behavior - echo $(((br1 + 13) * 100 / (br2 + 13))) -} - -# Check if two colors meet minimum contrast threshold -# Usage: meets_contrast_threshold -# Both ratio and threshold should be scaled by 100 (e.g., 300 = 3:1) -meets_contrast_threshold() { - local ratio="$1" # Ratio scaled by 100 (from calculate_contrast_ratio) - local threshold="$2" # Threshold scaled by 100 (300=3:1, 450=4.5:1, 700=7:1) - [ $ratio -ge $threshold ] -} - -# Calculate color distance (euclidean in RGB space) -color_distance() { - local hex1="$1" - local hex2="$2" - read -r r1 g1 b1 <<<"$(hex_to_rgb "$hex1")" - read -r r2 g2 b2 <<<"$(hex_to_rgb "$hex2")" - echo $(((r1 - r2) * (r1 - r2) + (g1 - g2) * (g1 - g2) + (b1 - b2) * (b1 - b2))) -} - -# Extract all colors with frequency count -extract_all_colors_with_count() { - local -A color_counts - local color - - # Extract from Alacritty config - if [ -f "$CURRENT_THEME_DIR/alacritty.toml" ]; then - # Primary colors - while IFS= read -r color; do - color=$(echo "$color" | tr '[:upper:]' '[:lower:]') # Lowercase for consistency - [ -n "$color" ] && ((color_counts["$color"]++)) - done < <(grep -E "(background|foreground|cursor|text)" "$CURRENT_THEME_DIR/alacritty.toml" | sed "s/.*[\"']0x/#/;s/.*[\"']#/#/;s/[\"'].*//;s/.*#\([0-9a-fA-F]\{6\}\).*/\#\1/" | grep "^#") - - # Normal colors - while IFS= read -r color; do - color=$(echo "$color" | tr '[:upper:]' '[:lower:]') # Lowercase for consistency - [ -n "$color" ] && ((color_counts["$color"]++)) - done < <(grep -A 20 "\[colors.normal\]" "$CURRENT_THEME_DIR/alacritty.toml" | grep -E "(black|red|green|yellow|blue|magenta|cyan|white)" | sed "s/.*[\"']0x/#/;s/.*[\"']#/#/;s/[\"'].*//;s/.*#\([0-9a-fA-F]\{6\}\).*/\#\1/" | grep "^#") - - # Bright colors - while IFS= read -r color; do - # Add # if missing - [[ "$color" =~ ^[0-9a-fA-F]{6}$ ]] && color="#$color" - color=$(echo "$color" | tr '[:upper:]' '[:lower:]') # Lowercase for consistency - [[ "$color" =~ ^#[0-9a-f]{6}$ ]] && ((color_counts["$color"]++)) - done < <(grep -A 20 "\[colors.bright\]" "$CURRENT_THEME_DIR/alacritty.toml" | grep -E "(black|red|green|yellow|blue|magenta|cyan|white)" | sed "s/.*[\"']//;s/[\"'].*//") - - # Dim colors if present - while IFS= read -r color; do - # Add # if missing - [[ "$color" =~ ^[0-9a-fA-F]{6}$ ]] && color="#$color" - color=$(echo "$color" | tr '[:upper:]' '[:lower:]') # Lowercase for consistency - [[ "$color" =~ ^#[0-9a-f]{6}$ ]] && ((color_counts["$color"]++)) - done < <(grep -A 20 "\[colors.dim\]" "$CURRENT_THEME_DIR/alacritty.toml" 2>/dev/null | grep -E "(black|red|green|yellow|blue|magenta|cyan|white)" | sed "s/.*[\"']//;s/[\"'].*//") - - # Selection colors - while IFS= read -r color; do - color=$(echo "$color" | tr '[:upper:]' '[:lower:]') # Lowercase for consistency - [ -n "$color" ] && ((color_counts["$color"]++)) - done < <(grep -A 5 "\[colors.selection\]" "$CURRENT_THEME_DIR/alacritty.toml" 2>/dev/null | grep -E "(background|text)" | sed "s/.*[\"']0x/#/;s/.*[\"']#/#/;s/[\"'].*//;s/.*#\([0-9a-fA-F]\{6\}\).*/\#\1/" | grep "^#") - fi - - # Extract from Waybar CSS - if [ -f "$CURRENT_THEME_DIR/waybar.css" ]; then - while IFS= read -r color; do - color=$(echo "$color" | tr '[:upper:]' '[:lower:]') # Lowercase for consistency - [ -n "$color" ] && ((color_counts["$color"]++)) - done < <(grep -oE '@define-color [a-z_-]+ #[0-9a-fA-F]{6}' "$CURRENT_THEME_DIR/waybar.css" | grep -oE '#[0-9a-fA-F]{6}') - fi - - # Extract from Hyprland config - if [ -f "$CURRENT_THEME_DIR/hyprland.conf" ]; then - while IFS= read -r color; do - if [[ $color == rgba* ]] || [[ $color == rgb* ]]; then - color=$(rgb_to_hex "$color") - fi - color=$(echo "$color" | tr '[:upper:]' '[:lower:]') # Lowercase for consistency - [ -n "$color" ] && ((color_counts["$color"]++)) - done < <(grep -E "col\.(active|inactive)_border" "$CURRENT_THEME_DIR/hyprland.conf" | grep -oE 'rgba?\([^)]+\)|#[0-9a-fA-F]{6,8}' | sed 's/ff$//') - fi - - # Output colors with their counts - for color in "${!color_counts[@]}"; do - echo "${color_counts[$color]} $color" - done -} - -# Sort colors by frequency -sort_colors_by_frequency() { - # Input is already "count color" format - sort -rn | cut -d' ' -f2 -} - -# Fill color slots with cycling if needed -fill_color_slots() { - local -a colors=("$@") - local -a slots - local num_colors=${#colors[@]} - - # Need 13 slots total (code colors are handled separately) - local slots_needed=13 - - if [ $num_colors -eq 0 ]; then - # No colors available, use defaults - colors=("#3d3d3d" "#5d5d5d" "#7d7d7d" "#9d9d9d" "#bd93f9" "#50fa7b") - num_colors=6 - fi - - # Fill slots, cycling if necessary - for ((i = 0; i < slots_needed; i++)); do - slots[$i]="${colors[$((i % num_colors))]}" - done - - echo "${slots[@]}" -} - -# Main color extraction and theme generation -extract_theme_data() { - # Get primary colors from Alacritty - local bg_color="#1a1b26" - local fg_color="#a9b1d6" - - if [ -f "$CURRENT_THEME_DIR/alacritty.toml" ]; then - local extracted_bg=$(grep -A 5 "\[colors.primary\]" "$CURRENT_THEME_DIR/alacritty.toml" | grep "^background = " | sed "s/.*[\"']0x/#/;s/.*[\"']#/#/;s/[\"'].*//;s/.*#\([0-9a-fA-F]\{6\}\).*/\#\1/" | head -1 | tr '[:upper:]' '[:lower:]') - local extracted_fg=$(grep -A 5 "\[colors.primary\]" "$CURRENT_THEME_DIR/alacritty.toml" | grep "^foreground = " | sed "s/.*[\"']0x/#/;s/.*[\"']#/#/;s/[\"'].*//;s/.*#\([0-9a-fA-F]\{6\}\).*/\#\1/" | head -1 | tr '[:upper:]' '[:lower:]') - [ -n "$extracted_bg" ] && bg_color="$extracted_bg" - [ -n "$extracted_fg" ] && fg_color="$extracted_fg" - fi - - # Determine if light or dark theme - local bg_brightness=$(calculate_brightness "$bg_color") - local is_light_theme=false - [ $bg_brightness -gt 127 ] && is_light_theme=true - - # Extract all colors with counts - local color_data=$(extract_all_colors_with_count) - - # Filter out background and foreground colors for the main array - local filtered_data=$(echo "$color_data" | grep -v "$bg_color" | grep -v "$fg_color") - - # Get all unique colors (including bg/fg) for distance calculations - local -a all_unique_colors - readarray -t all_unique_colors < <(echo "$color_data" | cut -d' ' -f2 | sort -u) - - # Find the 3 closest colors to background for background variations - local -a bg_distances - for color in "${all_unique_colors[@]}"; do - if [ "$color" != "$bg_color" ]; then - distance=$(color_distance "$color" "$bg_color") - bg_distances+=("$distance:$color") - fi - done - - # All background variations use the same as primary background - local bg_primary_alt="$bg_color" - local bg_secondary="$bg_color" - local bg_secondary_alt="$bg_color" - - # Generate code background color that will contrast with foreground text - read -r r g b <<<"$(hex_to_rgb "$bg_color")" - if [ $bg_brightness -gt 127 ]; then - r=$((r - 10)) - g=$((g - 10)) - b=$((b - 10)) - else - r=$((r + 15)) - g=$((g + 15)) - b=$((b + 15)) - fi - [ $r -lt 0 ] && r=0 - [ $r -gt 255 ] && r=255 - [ $g -lt 0 ] && g=0 - [ $g -gt 255 ] && g=255 - [ $b -lt 0 ] && b=0 - [ $b -gt 255 ] && b=255 - code_bg=$(printf "#%02x%02x%02x" "$r" "$g" "$b") - - - # Find closest color to foreground for code block text - local code_fg="" - min_distance=999999999 - for color in "${all_unique_colors[@]}"; do - if [ "$color" != "$fg_color" ]; then - distance=$(color_distance "$color" "$fg_color") - if [ $distance -lt $min_distance ]; then - min_distance=$distance - code_fg="$color" - fi - fi - done - [ -z "$code_fg" ] && code_fg="#e0e0e0" # Fallback - - # Extract text selection colors from Alacritty - local selection_bg="" - local selection_fg="" - if [ -f "$CURRENT_THEME_DIR/alacritty.toml" ]; then - selection_bg=$(grep -A 5 "\[colors.selection\]" "$CURRENT_THEME_DIR/alacritty.toml" | grep "^background = " | sed "s/.*[\"']0x/#/;s/.*[\"']#/#/;s/[\"'].*//;s/.*#\([0-9a-fA-F]\{6\}\).*/\#\1/" | head -1 | tr '[:upper:]' '[:lower:]') - local selection_text=$(grep -A 5 "\[colors.selection\]" "$CURRENT_THEME_DIR/alacritty.toml" | grep "^text = " | sed "s/.*[\"']0x/#/;s/.*[\"']#/#/;s/[\"'].*//;s/.*#\([0-9a-fA-F]\{6\}\).*/\#\1/" | head -1 | tr '[:upper:]' '[:lower:]') - - # If text is set to CellForeground/CellBackground, use the appropriate color - if [ -z "$selection_text" ] || [[ "$(grep -A 5 "\[colors.selection\]" "$CURRENT_THEME_DIR/alacritty.toml" | grep "^text = ")" == *"CellForeground"* ]]; then - selection_fg="$fg_color" - elif [[ "$(grep -A 5 "\[colors.selection\]" "$CURRENT_THEME_DIR/alacritty.toml" | grep "^text = ")" == *"CellBackground"* ]]; then - selection_fg="$bg_color" - else - selection_fg="$selection_text" - fi - fi - - # Fallback if no selection colors found - if [ -z "$selection_bg" ]; then - read -r r1 g1 b1 <<<"$(hex_to_rgb "$bg_color")" - read -r r2 g2 b2 <<<"$(hex_to_rgb "$fg_color")" - local r=$(((r1 * 3 + r2) / 4)) # 75% background, 25% foreground - local g=$(((g1 * 3 + g2) / 4)) - local b=$(((b1 * 3 + b2) / 4)) - selection_bg=$(printf "#%02x%02x%02x" "$r" "$g" "$b") - fi - - # Use contrasting color for selection text if not defined - if [ -z "$selection_fg" ]; then - # Calculate brightness of selection background - local sel_brightness=$(calculate_brightness "$selection_bg") - if [ $sel_brightness -gt 127 ]; then - selection_fg="$bg_color" # Dark text on light selection - else - selection_fg="$fg_color" # Light text on dark selection - fi - fi - - # Extract border color from btop theme - local border_color="" - if [ -f "$CURRENT_THEME_DIR/btop.theme" ]; then - # Look for theme[div_line] in btop theme - local btop_divline=$(grep 'theme\[div_line\]' "$CURRENT_THEME_DIR/btop.theme" | head -1) - - if [ -n "$btop_divline" ]; then - # Extract the color value after the = sign - local extracted=$(echo "$btop_divline" | sed 's/.*=//' | xargs) - - # Check if it's a hex color and lowercase it - if [[ $extracted =~ ^#[0-9a-fA-F]{6}$ ]]; then - border_color=$(echo "$extracted" | tr '[:upper:]' '[:lower:]') - elif [[ $extracted =~ ^[0-9a-fA-F]{6}$ ]]; then - # Add # if missing and lowercase - border_color=$(echo "#$extracted" | tr '[:upper:]' '[:lower:]') - fi - fi - fi - - # Fallback if no border color found - if [ -z "$border_color" ]; then - # Use a color between bg and fg - read -r r1 g1 b1 <<<"$(hex_to_rgb "$bg_color")" - read -r r2 g2 b2 <<<"$(hex_to_rgb "$fg_color")" - local r=$(((r1 + r2) / 3)) # Closer to background - local g=$(((g1 + g2) / 3)) - local b=$(((b1 + b2) / 3)) - border_color=$(printf "#%02x%02x%02x" "$r" "$g" "$b") - fi - - # Set text colors for muted/faint based on contrast - local text_muted_color="$border_color" - local text_faint_color="$border_color" - - # Validate border color contrast against background - - # Represents a 3:1 WCAG contrast ratio - local ideal_contrast_ratio=300 - - local border_contrast=$(calculate_contrast_ratio "$border_color" "$bg_color") - if ! meets_contrast_threshold "$border_contrast" "$ideal_contrast_ratio"; then - # Override text colors for readability, keep border color for visibility - text_muted_color="$fg_color" - text_faint_color="$fg_color" - fi - - # Get unique colors array (without bg/fg) sorted by frequency - local -a unique_colors - readarray -t unique_colors < <(echo "$filtered_data" | sort_colors_by_frequency) - - # Fill the 13 color slots (code colors handled separately) - local -a color_slots - readarray -t color_slots < <(fill_color_slots "${unique_colors[@]}" | tr ' ' '\n') - - # Extract fonts - local monospace_font="JetBrainsMono Nerd Font" - local ui_font="Liberation Sans" - - if [ -f "$CURRENT_THEME_DIR/alacritty.toml" ]; then - local alacritty_font=$(grep -A 5 "\[font\]" "$CURRENT_THEME_DIR/alacritty.toml" | grep 'family = ' | head -1 | cut -d'"' -f2) - [ -n "$alacritty_font" ] && monospace_font="$alacritty_font" - fi - - if [ -f "$HOME/.config/fontconfig/fonts.conf" ]; then - local fontconfig_mono=$(xmlstarlet sel -t -v '//match[@target="pattern"][test/string="monospace"]/edit[@name="family"]/string' "$HOME/.config/fontconfig/fonts.conf" 2>/dev/null || true) - [ -n "$fontconfig_mono" ] && monospace_font="$fontconfig_mono" - - local fontconfig_sans=$(xmlstarlet sel -t -v '//match[@target="pattern"][test/string="sans-serif"]/edit[@name="family"]/string' "$HOME/.config/fontconfig/fonts.conf" 2>/dev/null || true) - [ -n "$fontconfig_sans" ] && ui_font="$fontconfig_sans" - fi - - # Generate CSS with 14-slot system - cat </dev/null || echo "unknown")") */ -/* Colors sorted by frequency, backgrounds by distance */ - -.theme-dark, .theme-light { - /* Core colors */ - --background-primary: $bg_color; - --text-normal: $fg_color; - - /* Background variations (always distance-based) */ - --background-primary-alt: $bg_primary_alt; - --background-secondary: $bg_secondary; - --background-secondary-alt: $bg_secondary_alt; - - /* Code block colors (always distance-based) */ - --code-background: $code_bg; - --code-foreground: $code_fg; - - /* Border color from btop theme */ - --border-color: $border_color; - - /* Selection colors from Alacritty */ - --text-selection: $selection_bg; - --text-selection-fg: $selection_fg; - - /* 13-slot color system for remaining elements */ - --text-title-h1: ${color_slots[0]}; - --text-title-h2: ${color_slots[1]}; - --text-title-h3: ${color_slots[2]}; - --text-title-h4: ${color_slots[3]}; - --text-title-h5: ${color_slots[4]}; - --text-title-h6: ${color_slots[4]}; /* Same as h5 */ - --text-link: ${color_slots[5]}; - --markup-code: ${color_slots[6]}; - --text-mark: ${color_slots[7]}; - --interactive-accent: ${color_slots[8]}; - --blockquote-border: ${color_slots[9]}; - --text-muted: $text_muted_color; /* Use text-specific color for muted text */ - --text-faint: $text_faint_color; /* Use text-specific color for faint text */ - - /* Additional mappings */ - --text-accent: var(--interactive-accent); - --text-accent-hover: var(--interactive-accent); - --text-error: var(--text-title-h1); - --text-error-hover: var(--text-title-h1); - --text-highlight-bg: $fg_color; /* Use text color as highlight background */ - --text-on-accent: $bg_color; - - --interactive-normal: var(--code-background); - --interactive-hover: var(--interactive-accent); - --interactive-accent-hover: var(--interactive-accent); - --interactive-success: var(--text-title-h2); - - --scrollbar-bg: var(--background-primary); - --scrollbar-thumb-bg: var(--code-background); - --scrollbar-active-thumb-bg: var(--interactive-accent); - - --background-modifier-border: var(--border-color); - --background-modifier-form-field: var(--code-background); - --background-modifier-form-field-highlighted: var(--code-background); - --background-modifier-box-shadow: rgba(0, 0, 0, 0.3); - --background-modifier-success: var(--interactive-success); - --background-modifier-error: var(--text-error); - --background-modifier-error-hover: var(--text-error); - --background-modifier-cover: rgba(0, 0, 0, 0.8); - - --link-color: var(--text-link); - --link-color-hover: var(--text-link); - --link-unresolved-color: var(--text-muted); - --link-unresolved-opacity: 0.7; - - --tag-color: var(--text-title-h3); - --tag-background: var(--code-background); - - --graph-line: var(--text-muted); - --graph-node: var(--interactive-accent); - --graph-node-unresolved: var(--text-muted); - --graph-node-focused: var(--text-link); - --graph-node-tag: var(--text-title-h3); - --graph-node-attachment: var(--text-title-h2); - - /* Fonts */ - --font-interface-theme: "$ui_font"; - --font-text-theme: "$ui_font"; - --font-monospace-theme: "$monospace_font"; -} - -/* Headers */ -.cm-header-1, .markdown-rendered h1 { color: var(--text-title-h1); } -.cm-header-2, .markdown-rendered h2 { color: var(--text-title-h2); } -.cm-header-3, .markdown-rendered h3 { color: var(--text-title-h3); } -.cm-header-4, .markdown-rendered h4 { color: var(--text-title-h4); } -.cm-header-5, .markdown-rendered h5 { color: var(--text-title-h5); } -.cm-header-6, .markdown-rendered h6 { color: var(--text-title-h6); } - -/* Code blocks */ -.markdown-rendered code { - font-family: var(--font-monospace-theme); - background-color: var(--code-background); - color: var(--markup-code); - padding: 2px 4px; - border-radius: 3px; -} - -.markdown-rendered pre { - background-color: var(--code-background); - border: 1px solid var(--background-modifier-border); - border-radius: 5px; -} - -.markdown-rendered pre code { - background-color: transparent; - color: var(--code-foreground); -} - -/* Syntax highlighting */ -.cm-s-obsidian span.cm-keyword { color: var(--text-title-h1); } -.cm-s-obsidian span.cm-string { color: var(--text-title-h2); } -.cm-s-obsidian span.cm-number { color: var(--text-title-h3); } -.cm-s-obsidian span.cm-comment { color: var(--text-muted); } -.cm-s-obsidian span.cm-operator { color: var(--text-link); } -.cm-s-obsidian span.cm-variable { color: var(--text-normal); } -.cm-s-obsidian span.cm-def { color: var(--text-link); } - -/* Highlighted text */ -.markdown-rendered mark, -.cm-s-obsidian span.cm-highlight, -mark { - background-color: var(--text-highlight-bg) !important; - color: var(--code-background) !important; -} - -/* Links */ -.markdown-rendered a { - color: var(--text-link); -} - -/* Blockquotes */ -.markdown-rendered blockquote { - border-left: 4px solid var(--blockquote-border); - padding-left: 1em; -} - -/* Status bar */ -.status-bar { - background-color: var(--code-background); - border-top: 1px solid var(--background-modifier-border); -} - -/* Active file */ -.workspace-leaf.mod-active .workspace-leaf-header-title { - color: var(--interactive-accent); -} - -.nav-file-title.is-active { - background-color: var(--code-background); - color: var(--interactive-accent); -} - -/* Text selection */ -::selection { - background-color: var(--text-selection); - color: var(--text-selection-fg); -} - -/* Search results */ -.search-result-file-title { - color: var(--interactive-accent); -} - -.search-result-file-match { - background-color: var(--code-background); - color: var(--text-normal); - border-left: 3px solid var(--interactive-accent); -} - -.search-result-file-matched-text { - color: var(--code-background); -} - -/* Tables */ -.markdown-rendered table { - border: 1px solid var(--background-modifier-border); -} - -.markdown-rendered th { - background-color: var(--code-background); - color: var(--text-accent); -} - -.markdown-rendered td { - border: 1px solid var(--background-modifier-border); -} - -/* Callouts */ -.callout { - border-left: 4px solid var(--interactive-accent); - background-color: var(--code-background); -} -.callout * { - color: var(--text-normal); -} - -/* Modal dialogs */ -.modal { - background-color: var(--background-primary); - border: 2px solid var(--background-modifier-border); -} - -/* Settings */ -.vertical-tab-header-group-title { - color: var(--interactive-accent); -} - -.vertical-tab-nav-item.is-active { - background-color: var(--code-background); - color: var(--interactive-accent); -} -EOF -} - -# Option handling -if [ "${1:-}" = "--reset" ]; then - echo "♻️ Resetting Omarchy themes and registry..." - if [ -f "$VAULTS_FILE" ] && [ -s "$VAULTS_FILE" ]; then - while IFS= read -r vault_path || [ -n "$vault_path" ]; do - case "$vault_path" in ""|\#*) continue ;; esac - vault_path="${vault_path%/}" - vault_name=$(basename "$vault_path") - theme_dir="$vault_path/.obsidian/themes/Omarchy" - if [ -d "$theme_dir" ]; then - rm -rf "$theme_dir" - echo " ✅ $vault_name (theme removed)" - else - echo " ℹ️ $vault_name (no theme present)" - fi - done <"$VAULTS_FILE" - fi - rm -f "$VAULTS_FILE" - echo "✅ Registry removed" - exit 0 -fi - -# Step 1: ensure registry exists (bootstrap if needed) -ensure_vaults_file - -while IFS= read -r vault_path || [ -n "$vault_path" ]; do - case "$vault_path" in "" | \#*) continue ;; esac - vault_path="${vault_path%/}" - vault_name=$(basename "$vault_path") - - # Step 2: verify path exists; log/skip gracefully if invalid - if [ ! -d "$vault_path" ] || [ ! -d "$vault_path/.obsidian" ]; then - echo " ❌ $vault_name (invalid entry: missing directory or .obsidian)" - continue - fi - - # Ensure theme files exist for this vault - ensure_theme_scaffold "$vault_path" - THEME_DIR="$vault_path/.obsidian/themes/Omarchy" - - # Step 3: update theme.css - if [ -f "$CURRENT_THEME_DIR/obsidian.css" ]; then - cp "$CURRENT_THEME_DIR/obsidian.css" "$THEME_DIR/theme.css" - else - extract_theme_data >"$THEME_DIR/theme.css" - fi -done <"$VAULTS_FILE" + cp "$CURRENT_THEME_DIR/obsidian.css" "$theme_dir/theme.css" +done diff --git a/bin/omarchy-theme-set-vscode b/bin/omarchy-theme-set-vscode index 31f95bf1..bf53013b 100755 --- a/bin/omarchy-theme-set-vscode +++ b/bin/omarchy-theme-set-vscode @@ -1,45 +1,39 @@ #!/bin/bash -# Note: We cannot use `jq` to update settings.json because it’s JSONC (allows comments), -# which jq doesn’t support. +# Sync Omarchy theme to VS Code, VSCodium, and Cursor -# Parameters: EDITOR_CMD SETTINGS_PATH SKIP_FLAG EDITOR_NAME -EDITOR_CMD="${1:-code}" -SETTINGS_PATH="${2:-$HOME/.config/Code/User/settings.json}" -SKIP_FLAG="${3:-$HOME/.local/state/omarchy/toggles/skip-vscode-theme-changes}" VS_CODE_THEME="$HOME/.config/omarchy/current/theme/vscode.json" -if omarchy-cmd-present "$EDITOR_CMD" && [[ ! -f "$SKIP_FLAG" ]]; then +set_theme() { + local editor_cmd="$1" + local settings_path="$2" + local skip_flag="$3" + + omarchy-cmd-present "$editor_cmd" && [[ ! -f "$skip_flag" ]] || return 0 + if [[ -f "$VS_CODE_THEME" ]]; then theme_name=$(jq -r '.name' "$VS_CODE_THEME") extension=$(jq -r '.extension' "$VS_CODE_THEME") - # Install theme extension - if [[ -n "$extension" ]] && ! "$EDITOR_CMD" --list-extensions | grep -Fxq "$extension"; then - "$EDITOR_CMD" --install-extension "$extension" >/dev/null + if [[ -n "$extension" ]] && ! "$editor_cmd" --list-extensions | grep -Fxq "$extension"; then + "$editor_cmd" --install-extension "$extension" >/dev/null fi - # Create config file if there isn't already one - mkdir -p "$(dirname "$SETTINGS_PATH")" - if [[ ! -f "$SETTINGS_PATH" ]]; then - printf '{\n}\n' >"$SETTINGS_PATH" + mkdir -p "$(dirname "$settings_path")" + [[ -f "$settings_path" ]] || printf '{\n}\n' >"$settings_path" + + if ! grep -q '"workbench.colorTheme"' "$settings_path"; then + sed -i --follow-symlinks -E '0,/\{/{s/\{/{\ "workbench.colorTheme": "",/}' "$settings_path" fi - # Create a `workbench.colorTheme` entry in settings. - if ! grep -q '"workbench.colorTheme"' "$SETTINGS_PATH"; then - # Insert `"workbench.colorTheme": "",` immediately after the first `{` - # Use sed's first-match range (0,/{/) to only replace the first `{` - sed -i --follow-symlinks -E '0,/\{/{s/\{/{\ "workbench.colorTheme": "",/}' "$SETTINGS_PATH" - fi - - # Update theme sed -i --follow-symlinks -E \ "s/(\"workbench.colorTheme\"[[:space:]]*:[[:space:]]*\")[^\"]*(\")/\1$theme_name\2/" \ - "$SETTINGS_PATH" - else - # Remove theme from settings.json when the theme doesn't have editor support - if [[ -f "$SETTINGS_PATH" ]]; then - sed -i --follow-symlinks -E 's/\"workbench\.colorTheme\"[[:space:]]*:[^,}]*,?//' "$SETTINGS_PATH" - fi + "$settings_path" + elif [[ -f "$settings_path" ]]; then + sed -i --follow-symlinks -E 's/\"workbench\.colorTheme\"[[:space:]]*:[^,}]*,?//' "$settings_path" fi -fi +} + +set_theme "code" "$HOME/.config/Code/User/settings.json" "$HOME/.local/state/omarchy/toggles/skip-vscode-theme-changes" +set_theme "codium" "$HOME/.config/VSCodium/User/settings.json" "$HOME/.local/state/omarchy/toggles/skip-codium-theme-changes" +set_theme "cursor" "$HOME/.config/Cursor/User/settings.json" "$HOME/.local/state/omarchy/toggles/skip-cursor-theme-changes" diff --git a/bin/omarchy-theme-set-vscodium b/bin/omarchy-theme-set-vscodium deleted file mode 100755 index 3d955c02..00000000 --- a/bin/omarchy-theme-set-vscodium +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -# Call the VSCode theme setter with VSCodium-specific parameters -omarchy-theme-set-vscode codium "$HOME/.config/VSCodium/User/settings.json" "$HOME/.local/state/omarchy/toggles/skip-codium-theme-changes" diff --git a/config/hypr/bindings.conf b/config/hypr/bindings.conf index cdb0118c..f7770dd8 100644 --- a/config/hypr/bindings.conf +++ b/config/hypr/bindings.conf @@ -14,7 +14,6 @@ bindd = SUPER SHIFT, SLASH, Passwords, exec, uwsm-app -- 1password # If your web app url contains #, type it as ## to prevent hyprland treating it as a comment bindd = SUPER SHIFT, A, ChatGPT, exec, omarchy-launch-webapp "https://chatgpt.com" bindd = SUPER SHIFT ALT, A, Grok, exec, omarchy-launch-webapp "https://grok.com" -bindd = SUPER SHIFT CTRL, A, opencode, exec, omarchy-launch-opencode bindd = SUPER SHIFT, C, Calendar, exec, omarchy-launch-webapp "https://app.hey.com/calendar/weeks/" bindd = SUPER SHIFT, E, Email, exec, omarchy-launch-webapp "https://app.hey.com" bindd = SUPER SHIFT, Y, YouTube, exec, omarchy-launch-webapp "https://youtube.com/" diff --git a/config/kitty/kitty.conf b/config/kitty/kitty.conf index 5a76a146..7d550d78 100644 --- a/config/kitty/kitty.conf +++ b/config/kitty/kitty.conf @@ -19,6 +19,8 @@ allow_remote_control yes # Aesthetics cursor_shape block +cursor_blink_interval 0 +shell_integration no-cursor enable_audio_bell no # Minimal Tab bar styling diff --git a/config/omarchy/themed/alacritty.toml.tpl.sample b/config/omarchy/themed/alacritty.toml.tpl.sample index 951aba62..b86516e2 100644 --- a/config/omarchy/themed/alacritty.toml.tpl.sample +++ b/config/omarchy/themed/alacritty.toml.tpl.sample @@ -21,8 +21,6 @@ # {{ accent }} - Theme accent color # {{ selection_background }} - Selection highlight background # {{ selection_foreground }} - Selection highlight foreground -# {{ active_border_color }} - Active window/element border -# {{ active_tab_background }} - Active tab background # # {{ color0 }} through {{ color15 }} - Standard 16-color terminal palette # color0-7: Normal colors (black, red, green, yellow, blue, magenta, cyan, white) diff --git a/default/themed/kitty.conf.tpl b/default/themed/kitty.conf.tpl index 88006243..e74a5bbc 100644 --- a/default/themed/kitty.conf.tpl +++ b/default/themed/kitty.conf.tpl @@ -6,8 +6,8 @@ selection_background {{ selection_background }} cursor {{ cursor }} cursor_text_color {{ background }} -active_border_color {{ active_border_color }} -active_tab_background {{ active_tab_background }} +active_border_color {{ accent }} +active_tab_background {{ accent }} color0 {{ color0 }} color1 {{ color1 }} diff --git a/default/themed/mako.ini.tpl b/default/themed/mako.ini.tpl index 51e9c66f..5abc7988 100644 --- a/default/themed/mako.ini.tpl +++ b/default/themed/mako.ini.tpl @@ -1,5 +1,5 @@ include=~/.local/share/omarchy/default/mako/core.ini text-color={{ foreground }} -border-color={{ foreground }} +border-color={{ accent }} background-color={{ background }} diff --git a/default/themed/obsidian.css.tpl b/default/themed/obsidian.css.tpl new file mode 100644 index 00000000..90b86244 --- /dev/null +++ b/default/themed/obsidian.css.tpl @@ -0,0 +1,99 @@ +/* Omarchy Theme for Obsidian */ + +.theme-dark, .theme-light { + /* Core colors */ + --background-primary: {{ background }}; + --background-primary-alt: {{ background }}; + --background-secondary: {{ background }}; + --background-secondary-alt: {{ background }}; + --text-normal: {{ foreground }}; + + /* Selection colors */ + --text-selection: {{ selection_background }}; + + /* Border color */ + --background-modifier-border: {{ color8 }}; + + /* 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 }}; + + /* Links and accents */ + --text-link: {{ color4 }}; + --text-accent: {{ accent }}; + --text-accent-hover: {{ accent }}; + --interactive-accent: {{ accent }}; + --interactive-accent-hover: {{ accent }}; + + /* Muted text */ + --text-muted: {{ color8 }}; + --text-faint: {{ color8 }}; + + /* Code */ + --code-normal: {{ color6 }}; + + /* Errors and success */ + --text-error: {{ color1 }}; + --text-error-hover: {{ color1 }}; + --text-success: {{ color2 }}; + + /* Tags */ + --tag-color: {{ color6 }}; + --tag-background: {{ color8 }}; + + /* Graph */ + --graph-line: {{ color8 }}; + --graph-node: {{ accent }}; + --graph-node-focused: {{ color4 }}; + --graph-node-tag: {{ color6 }}; + --graph-node-attachment: {{ color2 }}; +} + +/* Headers */ +.cm-header-1, .markdown-rendered h1 { color: var(--text-title-h1); } +.cm-header-2, .markdown-rendered h2 { color: var(--text-title-h2); } +.cm-header-3, .markdown-rendered h3 { color: var(--text-title-h3); } +.cm-header-4, .markdown-rendered h4 { color: var(--text-title-h4); } +.cm-header-5, .markdown-rendered h5 { color: var(--text-title-h5); } +.cm-header-6, .markdown-rendered h6 { color: var(--text-title-h6); } + +/* Code blocks */ +.markdown-rendered code { + color: {{ color6 }}; +} + +/* 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 }}; } + +/* Links */ +.markdown-rendered a { + color: var(--text-link); +} + +/* Blockquotes */ +.markdown-rendered blockquote { + border-left-color: {{ accent }}; +} + +/* Active elements */ +.workspace-leaf.mod-active .workspace-leaf-header-title { + color: var(--interactive-accent); +} + +.nav-file-title.is-active { + color: var(--interactive-accent); +} + +/* Search results */ +.search-result-file-title { + color: var(--interactive-accent); +} diff --git a/default/themed/swayosd.css.tpl b/default/themed/swayosd.css.tpl index 3f609e17..e06402c4 100644 --- a/default/themed/swayosd.css.tpl +++ b/default/themed/swayosd.css.tpl @@ -2,4 +2,4 @@ @define-color border-color {{ foreground }}; @define-color label {{ foreground }}; @define-color image {{ foreground }}; -@define-color progress {{ foreground }}; +@define-color progress {{ accent }}; diff --git a/install/config/hardware/nvidia.sh b/install/config/hardware/nvidia.sh index dba1e6b2..543174e2 100644 --- a/install/config/hardware/nvidia.sh +++ b/install/config/hardware/nvidia.sh @@ -7,8 +7,8 @@ if [ -n "$NVIDIA" ]; then if echo "$NVIDIA" | grep -qE "RTX [2-9][0-9]|GTX 16"; then # Turing (16xx, 20xx), Ampere (30xx), Ada (40xx), and newer recommend the open-source kernel modules PACKAGES=(nvidia-open-dkms nvidia-utils lib32-nvidia-utils libva-nvidia-driver) - elif echo "$NVIDIA" | grep -qE "GTX 9|GTX 10"; then - # Pascal (10xx) and Maxwell (9xx) use legacy branch that can only be installed from AUR + elif echo "$NVIDIA" | grep -qE "GTX 9|GTX 10|Quadro P"; then + # Pascal (10xx or Quadro Pxxx) and Maxwell (9xx) use legacy branch that can only be installed from AUR PACKAGES=(nvidia-580xx-dkms nvidia-580xx-utils lib32-nvidia-580xx-utils) fi # Bail if no supported GPU diff --git a/install/config/theme.sh b/install/config/theme.sh index 7820d8f5..8bb3c603 100644 --- a/install/config/theme.sh +++ b/install/config/theme.sh @@ -7,6 +7,7 @@ mkdir -p ~/.config/omarchy/themes # Set initial theme omarchy-theme-set "Tokyo Night" +rm -rf ~/.config/chromium/SingletonLock # otherwise archiso will own the chromium singleton # Set specific app links for current theme mkdir -p ~/.config/btop/themes diff --git a/migrations/1767138576.sh b/migrations/1767138576.sh index 2e1d8065..5df9ce2b 100644 --- a/migrations/1767138576.sh +++ b/migrations/1767138576.sh @@ -1,8 +1,8 @@ echo "Update terminal scrolltouchpad setting to Hyprland 0.53 style" if grep -q "scrolltouchpad" ~/.config/hypr/input.conf; then - sed -Ei 's/^windowrule = scrolltouchpad ([^,]+), class:\(([^)]+)\)$/windowrule = match:class (\2), scroll_touchpad \1/; - s/^windowrule = scrolltouchpad ([^,]+), class:([^ ]+)$/windowrule = match:class \2, scroll_touchpad \1/' ~/.config/hypr/input.conf + sed -Ei 's/^windowrule = scrolltouchpad ([^,]+), class:\(([^)]+)\)$/windowrule = match:class (\2), scroll_touchpad \1/' ~/.config/hypr/input.conf + sed -Ei 's/^windowrule = scrolltouchpad ([^,]+), class:([^ ]+)$/windowrule = match:class \2, scroll_touchpad \1/' ~/.config/hypr/input.conf sed -Ei 's/^windowrule = scrolltouchpad ([^,]+), tag:terminal$/windowrule = match:class (Alacritty|kitty), scroll_touchpad 1.5\nwindowrule = match:class com.mitchellh.ghostty, scroll_touchpad 0.2/' ~/.config/hypr/input.conf fi diff --git a/migrations/1767306902.sh b/migrations/1767306902.sh index 9a0a1bb1..9bd36a60 100644 --- a/migrations/1767306902.sh +++ b/migrations/1767306902.sh @@ -45,10 +45,12 @@ fi THEMES_DIR="$HOME/.config/omarchy/themes" CURRENT_THEME_LINK="$HOME/.config/omarchy/current/theme" -# Get current theme name from symlink before removing anything +# Get current theme name before removing anything CURRENT_THEME_NAME="" if [[ -L $CURRENT_THEME_LINK ]]; then CURRENT_THEME_NAME=$(basename "$(readlink "$CURRENT_THEME_LINK")") +elif [[ -d $CURRENT_THEME_LINK ]]; then + CURRENT_THEME_NAME=$(basename "$CURRENT_THEME_LINK") elif [[ -f "$HOME/.config/omarchy/current/theme.name" ]]; then CURRENT_THEME_NAME=$(cat "$HOME/.config/omarchy/current/theme.name") fi @@ -59,4 +61,7 @@ find "$THEMES_DIR" -mindepth 1 -maxdepth 1 -type l -delete # Re-apply the current theme with the new system if [[ -n $CURRENT_THEME_NAME ]]; then omarchy-theme-set "$CURRENT_THEME_NAME" +else + # Backup to ensure a theme is set if we can't deduce the name + omarchy-theme-set "Tokyo Night" fi diff --git a/migrations/1767865784.sh b/migrations/1767865784.sh new file mode 100644 index 00000000..ebefa8d2 --- /dev/null +++ b/migrations/1767865784.sh @@ -0,0 +1,3 @@ +echo "Ensure Chromium is able to start on first run after ISO 3.3.0 install" + +rm -rf ~/.config/chromium/SingletonLock diff --git a/themes/catppuccin-latte/colors.toml b/themes/catppuccin-latte/colors.toml index 93e550d6..87c37d4a 100644 --- a/themes/catppuccin-latte/colors.toml +++ b/themes/catppuccin-latte/colors.toml @@ -1,7 +1,4 @@ accent = "#1e66f5" -active_border_color = "#8839EF" -active_tab_background = "#8839EF" - cursor = "#dc8a78" foreground = "#4c4f69" background = "#eff1f5" diff --git a/themes/catppuccin/colors.toml b/themes/catppuccin/colors.toml index 30eef198..6943ef1f 100644 --- a/themes/catppuccin/colors.toml +++ b/themes/catppuccin/colors.toml @@ -1,7 +1,4 @@ accent = "#89b4fa" -active_border_color = "#CBA6F7" -active_tab_background = "#CBA6F7" - cursor = "#f5e0dc" foreground = "#cdd6f4" background = "#1e1e2e" diff --git a/themes/ethereal/colors.toml b/themes/ethereal/colors.toml index 3cbe19b7..75cedec8 100644 --- a/themes/ethereal/colors.toml +++ b/themes/ethereal/colors.toml @@ -1,7 +1,4 @@ accent = "#7d82d9" -active_border_color = "#7d82d9" -active_tab_background = "#060B1E" - cursor = "#ffcead" foreground = "#ffcead" background = "#060B1E" diff --git a/themes/everforest/colors.toml b/themes/everforest/colors.toml index f2e61588..9aaeeb5a 100644 --- a/themes/everforest/colors.toml +++ b/themes/everforest/colors.toml @@ -1,7 +1,4 @@ accent = "#7fbbb3" -active_border_color = "#7fbbb3" -active_tab_background = "#2d353b" - cursor = "#d3c6aa" foreground = "#d3c6aa" background = "#2d353b" diff --git a/themes/flexoki-light/colors.toml b/themes/flexoki-light/colors.toml index b5e3a622..44af88c4 100644 --- a/themes/flexoki-light/colors.toml +++ b/themes/flexoki-light/colors.toml @@ -1,7 +1,4 @@ accent = "#205EA6" -active_border_color = "#D14D41" -active_tab_background = "#CECDC3" - cursor = "#100F0F" foreground = "#100F0F" background = "#FFFCF0" diff --git a/themes/gruvbox/colors.toml b/themes/gruvbox/colors.toml index b6e7b351..57847f0a 100644 --- a/themes/gruvbox/colors.toml +++ b/themes/gruvbox/colors.toml @@ -1,7 +1,4 @@ accent = "#7daea3" -active_border_color = "#458588" -active_tab_background = "#d65d0e" - cursor = "#bdae93" foreground = "#d4be98" background = "#282828" diff --git a/themes/hackerman/colors.toml b/themes/hackerman/colors.toml index 90792645..52247f68 100644 --- a/themes/hackerman/colors.toml +++ b/themes/hackerman/colors.toml @@ -1,7 +1,4 @@ accent = "#829dd4" -active_border_color = "#829dd4" -active_tab_background = "#0B0C16" - cursor = "#ddf7ff" foreground = "#ddf7ff" background = "#0B0C16" diff --git a/themes/kanagawa/colors.toml b/themes/kanagawa/colors.toml index 4e7b987e..7ca002ee 100644 --- a/themes/kanagawa/colors.toml +++ b/themes/kanagawa/colors.toml @@ -1,7 +1,4 @@ accent = "#7e9cd8" -active_border_color = "#7e9cd8" -active_tab_background = "#1f1f28" - cursor = "#c8c093" foreground = "#dcd7ba" background = "#1f1f28" diff --git a/themes/matte-black/colors.toml b/themes/matte-black/colors.toml index badef1ab..f0f1d3a6 100644 --- a/themes/matte-black/colors.toml +++ b/themes/matte-black/colors.toml @@ -1,7 +1,4 @@ accent = "#e68e0d" -active_border_color = "#595959" -active_tab_background = "#121212" - cursor = "#eaeaea" foreground = "#bebebe" background = "#121212" diff --git a/themes/nord/colors.toml b/themes/nord/colors.toml index 9ff8d33d..79c2ae23 100644 --- a/themes/nord/colors.toml +++ b/themes/nord/colors.toml @@ -1,7 +1,4 @@ accent = "#81a1c1" -active_border_color = "#81A1C1" -active_tab_background = "#2E3440" - cursor = "#d8dee9" foreground = "#d8dee9" background = "#2e3440" diff --git a/themes/osaka-jade/colors.toml b/themes/osaka-jade/colors.toml index a93532dc..76f763e8 100644 --- a/themes/osaka-jade/colors.toml +++ b/themes/osaka-jade/colors.toml @@ -1,7 +1,4 @@ accent = "#509475" -active_border_color = "#509475" -active_tab_background = "#C1C497" - cursor = "#D7C995" foreground = "#C1C497" background = "#111c18" diff --git a/themes/ristretto/colors.toml b/themes/ristretto/colors.toml index 948c4d39..b5ca9ab9 100644 --- a/themes/ristretto/colors.toml +++ b/themes/ristretto/colors.toml @@ -1,7 +1,4 @@ accent = "#f38d70" -active_border_color = "#e6d9db" -active_tab_background = "#f9cc6c" - cursor = "#c3b7b8" foreground = "#e6d9db" background = "#2c2525" diff --git a/themes/rose-pine/colors.toml b/themes/rose-pine/colors.toml index 1321c13d..e757ad03 100644 --- a/themes/rose-pine/colors.toml +++ b/themes/rose-pine/colors.toml @@ -1,7 +1,4 @@ accent = "#56949f" -active_border_color = "#595959" -active_tab_background = "#fffaf3" - cursor = "#cecacd" foreground = "#575279" background = "#faf4ed" diff --git a/themes/tokyo-night/colors.toml b/themes/tokyo-night/colors.toml index 7fb020cf..fe51dd04 100644 --- a/themes/tokyo-night/colors.toml +++ b/themes/tokyo-night/colors.toml @@ -1,7 +1,4 @@ accent = "#7aa2f7" -active_border_color = "#7aa2f7" -active_tab_background = "#7aa2f7" - cursor = "#c0caf5" foreground = "#a9b1d6" background = "#1a1b26" diff --git a/version b/version index 15a27998..bea438e9 100644 --- a/version +++ b/version @@ -1 +1 @@ -3.3.0 +3.3.1