#!/bin/ bash
# Применить цвета через OSC ко всем foot-инстансам
# Согласно foot-ctlseqs(7)

for pts in /dev/pts/[0-9]*; do
  # OSC 10: default foreground (foreground)
  printf '\e]10;#{{colors.on_surface.default.hex_stripped}}\007' >>"$pts" 2>/dev/null

  # OSC 11: default background (background)
  printf '\e]11;#{{colors.surface.default.hex_stripped}}\007' >>"$pts" 2>/dev/null

  # OSC 12: cursor color (первое значение из cursor в foot.ini)
  printf '\e]12;#{{colors.primary.default.hex_stripped}}\007' >>"$pts" 2>/dev/null

  # OSC 17: selection background
  printf '\e]17;#{{colors.primary_container.default.hex_stripped}}\007' >>"$pts" 2>/dev/null

  # OSC 19: selection foreground
  printf '\e]19;#{{colors.on_primary_container.default.hex_stripped}}\007' >>"$pts" 2>/dev/null

  # OSC 4: palette colors 0-15 (regular0-7, bright0-7)
  printf '\e]4;0;#{{colors.surface_container_lowest.default.hex_stripped}}\007' >>"$pts" 2>/dev/null
  printf '\e]4;1;#{{colors.error.default.hex_stripped}}\007' >>"$pts" 2>/dev/null
  printf '\e]4;2;#{{colors.tertiary.default.hex_stripped}}\007' >>"$pts" 2>/dev/null
  printf '\e]4;3;#{{colors.secondary.default.hex_stripped}}\007' >>"$pts" 2>/dev/null
  printf '\e]4;4;#{{colors.primary.default.hex_stripped}}\007' >>"$pts" 2>/dev/null
  printf '\e]4;5;#{{colors.secondary_container.default.hex_stripped}}\007' >>"$pts" 2>/dev/null
  printf '\e]4;6;#{{colors.tertiary_container.default.hex_stripped}}\007' >>"$pts" 2>/dev/null
  printf '\e]4;7;#{{colors.on_surface_variant.default.hex_stripped}}\007' >>"$pts" 2>/dev/null
  printf '\e]4;8;#{{colors.surface_container_high.default.hex_stripped}}\007' >>"$pts" 2>/dev/null
  printf '\e]4;9;#{{colors.on_error_container.default.hex_stripped}}\007' >>"$pts" 2>/dev/null
  printf '\e]4;10;#{{colors.on_tertiary_fixed.default.hex_stripped}}\007' >>"$pts" 2>/dev/null
  printf '\e]4;11;#{{colors.on_secondary_fixed.default.hex_stripped}}\007' >>"$pts" 2>/dev/null
  printf '\e]4;12;#{{colors.primary_container.default.hex_stripped}}\007' >>"$pts" 2>/dev/null
  printf '\e]4;13;#{{colors.inverse_primary.default.hex_stripped}}\007' >>"$pts" 2>/dev/null
  printf '\e]4;14;#{{colors.on_tertiary.default.hex_stripped}}\007' >>"$pts" 2>/dev/null
  printf '\e]4;15;#{{colors.inverse_on_surface.default.hex_stripped}}\007' >>"$pts" 2>/dev/null

  # Дополнительные индексы палитры (16, 17), если используются
  printf '\e]4;16;#{{colors.tertiary.default.hex_stripped}}\007' >>"$pts" 2>/dev/null
  printf '\e]4;17;#{{colors.error_container.default.hex_stripped}}\007' >>"$pts" 2>/dev/null
done
