#!/bin/bash # Ищем первое окно с заголовком "clipse" WIN_INFO=$(niri msg -j windows | jq -c '.[] | select(.title == "clipse")' | head -1) # Если окна нет — запускаем приложение if [ -z "$WIN_INFO" ]; then footclient -T clipse clipse exit 0 fi # Извлекаем ID и статус фокуса ID=$(echo "$WIN_INFO" | jq -r '.id') IS_FOCUSED=$(echo "$WIN_INFO" | jq -r '.is_focused') if [ "$IS_FOCUSED" = "true" ]; then # Окно уже сфокусировано — ваша логика здесь echo "Окно 'clipse' уже в фокусе. Выполняем заданное действие..." # Примеры действий (раскомментируйте нужное): niri msg action close-window --id "$ID" # niri msg action minimize-window --id "$ID" # niri msg action focus-window-next else # Окно существует, но не в фокусе — переключаемся на него niri msg action focus-window --id "$ID" fi