Можно ли сымитировать для приложения fullscreen внутри окна?
Проблема такая:
Есть некоторые сервисы для конференций, которые позволяют транслировать либо камеру, либо делиться экраном (всем экраном или содержимым только одного окна). Причём за предоставление экрана/окна отвечает, как я понимаю, браузер.
Если нужно показать просто статичную презентацию, то можно сделать pdf и непринуждённо отобразить через окно просмотрщика.
Сложнее, если важна анимация или, еще более актуально, нужно рисовать на слайдах в процессе презентации. Такой функционал, естественно, предоставляет презентационная программа из комплекта любого Оффиса (Libre, WPS и т.п.), но этот функционал доступен только полноэкранном режиме, а в этом режиме, по понятным причинам, не видна сама конференция (чат и т.п.). Если у вас два монитора, то проблем нет, а вот с одним...
Вопрос:
Можно ли открыть презентацию в каком-то особенном окне и включить полный экран виртуально внутри этого окна? Ну, то есть чтобы программа думала, что она в режиме fullscreen, а на самом деле ограничена рамками окна.
PS: Ну вот как вариант - можно же запустить презентацию на втором мониторе (когда он есть), при этом на первом все останется как было - будут доступны все приложения. Может есть возможность создать виртуальный второй монитор в окне? Тогда посылая презентацию на второй монитор, она и окажется в окне как мы и хотим... Ась?
SOTVM, не уверен.
Там речь идет о рисовании поверх рабочего стола. Не берусь утверждать, но мне кажется что эти рисования не будут транслироваться в конференцию, т.к. они рисуются вне транслируемого окна (возможно даже на создаваемом скриншоте). С рисованием, как таковым, проблем нет - WPS Office позволяет рисовать на презентации в полноэкранном режиме. Ну и это не решает проблему анимации в презентации, которая не работает без fullscreen.
Отвечаю сам:
Вау! Вот это крутотень! Не нужны никакие виртуальные экраны! Xephyr - наше все!
Xephyr позволяет создать вложенную новую X-сессию внутри текущей. Внутри вложенной X-сессии можно запустить windows manager и делать вообще все что хочешь, а можно просто запустить нужное приложение и получаем именно то что требовалось.
Причем во многих дистрибутивах он уже стоит по-умолчанию.
Делаем так:
$ Xephyr -screen 800x600 :1 &
$ DISPLAY=:1 wps &
Вместо wps (офис) ставьте любое приложение, которое вам нужно. Понятно что без WM хотя запустить несколько приложений и можно, но переключаться между ними не получится. Но для одного приложения работает идеально.