Уэстон: Настройте композицию для дублирования окна.

Я хочу иметь возможность дублировать окно на уровне композитора/менеджера окон.

То есть, когда пользователь открывает weston-terminal, я хочу отображать его как 2 окна и иметь возможность применять движение/поворот к этим окнам.

Чтобы подчеркнуть, я не хочу открывать 2 weston-terminal, мне действительно нужно дублировать содержимое окна на экране.

Возможно ли это с Weston и где я должен смотреть в коде?

Я уже скомпилировал его и научился поворачивать/перемещать окна с помощью weston-shell.c, но не знаю, где искать.


person sdumetz    schedule 01.02.2016    source источник
comment
Кажется, вам нужно переписать движок рендеринга, указанный в core.backend в weston.ini.   -  person gzh    schedule 02.02.2016
comment
Значит, моя реализация должна зависеть от бэкенда?   -  person sdumetz    schedule 04.02.2016
comment
Я думаю, что ответ на ваш вопрос - да. то есть вам нужно настроить бэкэнд, чтобы окно отображалось как 2 дублированных. например Если вы используете x11 в качестве серверной части Weston, вам следует заглянуть в weston/src/compositor-x11.c, чтобы узнать, как отобразить нарисованную поверхность, предоставленную клиентом.   -  person gzh    schedule 04.02.2016
comment
Можно ли получить wl_surfaces? Я думал о создании пустой поверхности и получении wl_buffer с существующей поверхности, а затем использовании его на пустой поверхности.   -  person Erwan Douaille    schedule 04.03.2016
comment
@gzh Мне это удается, и это не зависит от бэкэнда.   -  person Erwan Douaille    schedule 03.04.2016
comment
@ErwanDouaille, я видел твое довольно классное видео, не мог бы ты поделиться намеком на то, что ты взломал на Weston?   -  person gzh    schedule 15.04.2016


Ответы (1)


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

В качестве альтернативы можно рассмотреть поверхность и подповерхность, а клиент отрисовывает как основную поверхность, так и подповерхность.

person ybakos    schedule 02.04.2016