#!/bin/bash # omarchy:summary=Print OSC sequences for an Omarchy color theme # omarchy:hidden=true theme="${1:-$HOME/.config/omarchy/current/theme/colors.toml}" [[ -f $theme ]] || exit 0 awk -F= ' function clean(value) { gsub(/^[[:space:]]+|[[:space:]]+$/, "", value) if (value ~ /^"/) { sub(/^"/, "", value) sub(/".*$/, "", value) } return value } function alias_color(target, source) { if (colors[target] == "" && colors[source] != "") colors[target] = colors[source] } function emit_color(color_index, key) { if (colors[key] != "") printf "\033]4;%d;%s\007", color_index, colors[key] } { key = $1 gsub(/^[[:space:]]+|[[:space:]]+$/, "", key) value = clean($2) colors[key] = value } END { alias_color("color0", "bg") alias_color("color0", "background") alias_color("color1", "red") alias_color("color2", "green") alias_color("color3", "yellow") alias_color("color4", "blue") alias_color("color5", "magenta") alias_color("color5", "purple") alias_color("color6", "cyan") alias_color("color7", "fg") alias_color("color7", "foreground") alias_color("color8", "muted") alias_color("color8", "dark_fg") alias_color("color8", "foreground") alias_color("color9", "bright_red") alias_color("color9", "red") alias_color("color10", "bright_green") alias_color("color10", "green") alias_color("color11", "bright_yellow") alias_color("color11", "yellow") alias_color("color12", "bright_blue") alias_color("color12", "blue") alias_color("color13", "bright_magenta") alias_color("color13", "bright_purple") alias_color("color13", "magenta") alias_color("color13", "purple") alias_color("color14", "bright_cyan") alias_color("color14", "cyan") alias_color("color15", "bright_fg") alias_color("color15", "foreground") if (colors["foreground"] != "") printf "\033]10;%s\007", colors["foreground"] if (colors["background"] != "") printf "\033]11;%s\007", colors["background"] if (colors["cursor"] != "") printf "\033]12;%s\007", colors["cursor"] if (colors["selection_background"] != "") printf "\033]17;%s\007", colors["selection_background"] if (colors["selection_foreground"] != "") printf "\033]19;%s\007", colors["selection_foreground"] for (i = 0; i <= 15; i++) emit_color(i, "color" i) } ' "$theme"