Вопрос или проблема
Та же проблема, что и здесь, но для контейнеров 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 и активно участвовать в сообществах, чтобы быть в курсе новых функций и методов решения подобных задач.
Если есть дополнительные вопросы, не стесняйтесь спрашивать!