#!/bin/bash # Ищем первое окно pavucontrol WIN_INFO=$(niri msg -j windows | jq -c '.[] | select(.app_id == "org.pulseaudio.pavucontrol")' | head -1) # Если окна нет — запускаем if [ -z "$WIN_INFO" ]; then pavucontrol 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 # 🔹 Окно уже сфокусировано — ваша логика здесь niri msg action close-window --id "$ID" niri msg action focus-window-previous # Примеры действий (раскомментируйте нужное): # 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