одновременно управлять несколькими окнами

это, наверное, длинный выстрел, но я размышлял об этом некоторое время.

Я понимаю, что фактические прецеденты такого рода взаимодействия довольно скудны. Основное использование, о котором я могу думать, будет

  • одновременное перемещение нескольких окон
  • управление несколькими мультимедийными приложениями в режиме реального времени

ни одна из которых не является абсолютно универсальной; но я все еще думаю, что это достаточно интересно думать.

из моего понимания, одно окно получает фокус в любой момент времени, и все события key / mouse передаются в это окно. Но также возможно создавать несколько курсоров, которые не зависят друг от друга, и, кроме того, сенсорные входы обычно позволяют доходить до 10 точек контакта; однако эти методы ввода по-прежнему ограничены одним окном.

Я не думаю, что было бы трудно создать такое взаимодействие, позволяющее одновременно управлять несколькими окнами, поскольку подобное поведение уже может быть достигнуто посредством пересылки X11. Я недостаточно разбираюсь в стеке графики / ввода, чтобы точно сказать, что нужно будет изменить, или если что-то можно просто поменять таким образом.

Одна из проблем, которую я могу предвидеть, – это определить, куда направлять события с одним входом, такие как нажатия клавиш и прочее. возможные обходные пути включают определение «первичного» окна в качестве первого выбранного окна или просто отключения ключевых событий вообще при выборе нескольких окон.

Другая проблема будет заключаться в том, когда целесообразно перемещаться между однооконным и многооконным фокусом. Возможно, если будут указаны первичные / вторичные окна, это будет не проблема?

поэтому, вопросы:

  • я ошибаюсь, и уже можно управлять несколькими окнами одновременно (в X11 или, возможно, в wayland или что-то, чего я не знаю)? если не,

  • какую часть существующей инфраструктуры ввода / окна необходимо будет изменить, чтобы сделать эту работу?

  • есть ли более элегантные способы решения проблем, о которых я упоминал?

  • какие другие проблемы присущи этому дизайну?

Interesting Posts

Причины для Busybox для существующих систем

Загружать псевдонимы из файла .bashrc при использовании sudo

Не удается подключить сетевой диск.

Ограничить максимальное количество соединений на IP с помощью OpenWRT?

Как я могу узнать, какие флаги компоновщика необходимы для использования данной функции библиотеки C?

История UNIX, не включая текущий каталог в $ PATH

Переменные доступа, установленные внутри подстановок

Сжатие всех файлов, содержащих определенную строку

Невозможно отменить перенаправление портов с помощью SSH в качестве временного пользователя

Как изменить оболочки через скрипт?

Mint 15 Высокие темпы на e-450, вентилятор, казалось бы, не реагирует

Какова фактическая цель опции -X GNU grep и почему она недокументирована?

Обновление ползунка яркости оболочки GNOME автоматически при изменении яркости

настройка устройств ввода Xorg без udev

Какие типы установщиков должны использовать коммерческое программное обеспечение для поддержки Linux?

Linux и Unix - лучшая ОС в мире.