Оконный менеджер, который позволяет несколько активных окон / несколько устройств ввода?

9

У меня огромный рабочий стол с несколькими мониторами и один довольно хороший компьютер. У меня также есть несколько мышей и клавиатур. Теперь я действительно хотел бы использовать все оборудование. Скажем, друг приходит и хочет одновременно со мной писать код на одном компьютере. Я хотел бы дать ему собственную мышь и клавиатуру. Всякий раз, когда его мышь находится над одним окном, я хочу, чтобы его ввод был направлен на окно. Это позволило бы нам писать разные части программы и легко копировать и вставлять между нашими окнами.

AFAIK Я знаю, что большинство оконных менеджеров поддерживает только одно активное окно, что делает это невозможным. Это потому, что это просто необычная вещь, или из-за какой-то фундаментальной архитектурной проблемы с X или даже с ОС?

Это не совсем то, чего я хочу, но возможно ли будет запустить по одному X-серверу на каждом мониторе и назначить каждому свою собственную клавиатуру / мышь?

bobbaluba
источник
Есть некоторые тонкие проблемы с тем, как программа будет обрабатывать (например) перетаскивание мышью в двух разных местах в одном и том же окне (выбирая разные фрагменты текста) одновременно. Поскольку существует программное обеспечение, которое не учитывает такого рода проблемы, вам может не повезти. Обычные способы совместной работы в форме файлов, к которым все сотрудники могут каким-либо образом получить доступ, были бы моей ставкой на работоспособное решение.
Эроен
1
Нашел ответ здесь: alec.mooo.com/mpx.html отправит полный ответ сам, как только истечет 8-часовой лимит.
Боббалуба

Ответы:

6

Прочитав комментарии и немного поработав, я наконец нашел ответ: http://alec.mooo.com/mpx.html

Если страница переходит в автономный режим:

  1. Создайте новую входную пару.

    xinput create-master New
    
  2. Показать устройства, подключенные к каждой входной паре

    xinput list
    
  3. Подключите устройства к новой входной паре (замените x и y номером устройства из списка)

    xinput reattach <x> <y>
    

Поддержка встроена в X, однако ни один из основных оконных менеджеров не предназначен для работы с несколькими курсорами. Но это работает в некоторой степени. Вот оконные менеджеры, которые я попробовал:

  • Гномик Классик
    • Оба курсора видны
  • Ice WM
    • Примерно такая же поддержка, как у Gnome Classic
  • Единство
    • Второй курсор становится невидимым, когда он не движется.
  • Гномовая ракушка
    • Курсор невидим все время, я думаю, что он находится за другими окнами. Все
  • Просвещение. (Мой текущий wm)
    • Лучший из оконных менеджеров, которых я пробовал.
    • Заявки на поддержку нескольких режимов фокусировки (я не мог понять, как его включить)
    • Поддерживать перетаскивание нескольких окон одновременно странно.

За исключением Gnome Shell, все менеджеры wm справились с несколькими курсорами довольно хорошо. Я был в состоянии просматривать одновременно с другом. Однако одновременно можно сфокусировать только одно окно. Это означает, что один из вводов клавиатуры направлен на не сфокусированное (серая строка заголовка) окно. Для некоторых приложений, таких как, например, gnome-терминал, empathy, chrome, это работает хорошо, но мигающий текстовый курсор иногда невидим.

В какое окно направлен каждый ввод с клавиатуры, также кажется немного случайным. Обычно это клавиатура в паре с курсором, который последний раз щелкнул по окну, но не всегда. И прокрутка иногда странная.

ICE-MC

Я искал в сети оконный менеджер с лучшей поддержкой, и единственное, что я могу найти, - это модифицированная версия IceWM под названием Multi-Cursor Window Manager (Ice-MC). http://multicursor-wm.sourceforge.net/ Похоже, что разработка была прекращена где-то в 2009 году, и у меня было много проблем при ее компиляции (некоторые устаревшие зависимости, я временно отказался).

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

bobbaluba
источник