LINUX.ORG.RU

История изменений

Исправление Loki13, (текущая версия) :

#!/bin/sh
SOCKFILE="$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock"
echo  "{\"text\":\"En \",\"tooltip\":\"English\"}";
nc -U "$SOCKFILE" | while IFS='>,' read event noop dev layout; do
  if [ "$event" = "activelayout" ]; then
    case "$layout" in
      Russian*) hyprctl keyword general:col.active_border 0xffff0000 > /dev/null; echo  "{\"text\":\"Ru \",\"class\":\"enabled\",\"tooltip\":\"Russian\"}";;
	  English*) hyprctl keyword general:col.active_border 0xff00ff00 > /dev/null; echo  "{\"text\":\"En \",\"tooltip\":\"English\"}";;
    esac
  fi
done

Кстати, я тут подумал, и добавил в скрипт ещё и смену цвета рамки в зависимости от раскладки. Стало нагляднее намного. Ещё бы цвет курсора менять, где текст вводится, но тут вряд ли что-то можно сделать, т.к. он не системный, а везде свой.

Исходная версия Loki13, :

#!/bin/sh
SOCKFILE="$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock"
echo  "{\"text\":\"En \",\"tooltip\":\"English\"}";
nc -U "$SOCKFILE" | while IFS='>,' read event noop dev layout; do
  if [ "$event" = "activelayout" ]; then
    case "$layout" in
      Russian*) hyprctl keyword general:col.active_border 0xffff0000 > /dev/null; echo  "{\"text\":\"Ru \",\"class\":\"enabled\",\"tooltip\":\"Russian\"}";;
	  English*) hyprctl keyword general:col.active_border 0xff00ff00 > /dev/null; echo  "{\"text\":\"En \",\"tooltip\":\"English\"}";;
    esac
  fi
done

Кстати, я тут подумал, и добавил в скрипт ещё и смену цвета рамки в зависимости от раскладки. Стало нагляднее намного. Ещё бы цвет курсора менять, где текст вводится, но тут вряд ли что-то можно сделать, т.к. он не системный, а везде свой.