LINUX.ORG.RU

Имеет ли вообще смысл ScreenCount(dpy)?

 


0

1

Каждый раз при подключении нового монитора мы не создаем новый screen (:0.1), а расширяем нулевой до размеров nx(m1+m2), все равно имея при этом ровно один скрин :0.0.

Так что, ScreenCount не имеет смысла? Всегда будет 1?

Или все-таки имеет смысл обрабатывать мультискрин кейсы на случай если кто-то все таки починит Xы, чтобы они третировали все мониторы как разные скрины для корректной обработки dpi?

When you have two monitors, X treats them as one display with (DISPLAY=:0.0) with a big resolution

Wayland ловеры лесом.

Zubok

★★★★★

Последнее исправление: PPP328 (всего исправлений: 2)

Так что, ScreenCount не имеет смысла? Всегда будет 1?

Да, будет один большой screen. Это путь RandR/Xinerama. Если же пользователь сделает конфигурацию Zaphod, то будет несколько экранов. Вопрос здесь с другой стороны: а в каком приложении надо обрабатывать это? Вот оконный менеджер может обработать Zaphod, но не все это делают - предлагают просто запускать свою копию WM на каждом экране при старте:

DISPLAY=:0.0 awesome &
DISPLAY=:0.1 awesome

Вот fvwm умеет (или умел) анализировать экраны при старте:

If the -s command line argument is not given, fvwm automatically starts up on every screen on the specified display. After fvwm starts each screen is treated independently. Restarts of fvwm need to be performed separately on each screen.

Или все-таки имеет смысл обрабатывать мультискрин кейсы на случай если кто-то все таки починит Xы, чтобы они третировали все мониторы как разные скрины для корректной обработки dpi?

А зачем обычному приложению обрабатывать мультискрин в варианте Zaphod? Приложение все равно попасть на другой экран без перезапуска не сможет. Что от того, что оно будет знать DPI на другом screen и что вообще эти screens есть? Но узнать сможет, если очень нужно.

А если рассматриваем RandR и один большой экран, то расширение таки сообщает параметры каждого монитора на каждом выходе. Эту информацию можно использовать в тулките, в оконном менеджере. Вопрос только в стратегии масштабирования будет (разрешить масштабирование, не использовать масштабирование). Вот вариант Qt5: http://doc.qt.io/qt-5/highdpi.html. К сожалению, тут нет информации про X11, но вот человек расписал этот момент: http://wok.oblomov.eu/tecnologia/mixed-dpi-x11/ . Он пишет, что у GTK+3 подобного механизма нет и не планируется. Уж не знаю, так ли это.

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

Большое спасибо за информацию. Не знал, что все-таки можно сделать больше одного скрина.

А зачем обычному приложению обрабатывать мультискрин в варианте Zaphod?

Ну к примеру демон отображалки текущих экранов, тулза настройки.

PPP328 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.