Транслировать нажатия клавиш в несколько контейнеров/представлений/окон

Вопрос или проблема

Та же проблема, что и здесь, но для контейнеров sway, а не только для терминального эмулятора. Например, иметь три экземпляра браузера в рабочем пространстве и одновременно отправлять ввод через нажатия клавиш во все из них. Может быть, что-то вроде опции фокусировки на нескольких контейнерах одновременно?

Есть ли способ это реализовать?

Большое спасибо заранее 🙂

Ответ или решение

Для достижения одновременного ввода с клавиатуры в несколько контейнеров или окон в среде оконного менеджера Sway, можно воспользоваться функциями управления окнами и кастомными скриптами. К сожалению, Sway в стандартной конфигурации не поддерживает одновременную отправку клавиатурных событий в несколько окон, однако, можно использовать несколько обходных путей.

Вот несколько методов, которые могут помочь:

1. Использование swaymsg и скриптов

Можно создать скрипт на bash или другом языке программирования, который будет использовать swaymsg для отправки команд в Sway. К примеру, если вам нужно отправить одно и то же сообщение в несколько терминалов или браузеров, вы можете сделать следующее:

#!/bin/bash

# Получаем ID рабочих областей, где находятся окна
WINDOW_IDS=$(swaymsg -t get_tree | jq -r '.. | select(.type? == "con" and .focused == true) | .id')

# Команда, которую нужно отправить
COMMAND="ваша команда здесь"

# Отправляем команду в каждое окно
for id in $WINDOW_IDS; do
    swaymsg "[id=$id]" exec "$COMMAND"
done

После создания скрипта не забудьте сделать его исполняемым (chmod +x script.sh) и запускать его в нужный момент.

2. Использование программ для автоматизации

Программы, такие как xdotool или wmctrl, могут помочь в эмуляции нажатия клавиш в разных окнах. Однако эти инструменты могут требовать установки дополнительных пакетов и могут быть не очень дружелюбными к Wayland, на базе которого работает Sway.

3. Виртуальные клавиатуры

Как вариант, можно использовать виртуальные клавиатуры, такие как Florence или Onboard, которые позволяют вводить текст с помощью мыши и могут быть направлены на несколько окон. Это, конечно, не идеальный вариант, но может временно помочь в случае, если другие методы не подходят.

4. Модификация конфигурации

К сожалению, прямо сейчас в Sway нет встроенной функции для фокусировки на нескольких контейнерах одновременно, но вы можете предлагать разработчикам новые функции через их репозиторий на GitHub. В Sway активно развиваются новые возможности, и ваша идея может быть воспринята с интересом.

Заключение

Хотя на данный момент нет простого способа отправлять клавиши в несколько окон одновременно в Sway, использование скриптов и внешних утилит может помочь достичь желаемого результата. Рекомендуется следить за обновлениями Sway и активно участвовать в сообществах, чтобы быть в курсе новых функций и методов решения подобных задач.

Если есть дополнительные вопросы, не стесняйтесь спрашивать!

Оцените материал
Добавить комментарий

Капча загружается...