![]() |
|
Модераторы: xvr |
![]()
|
|
| Tuma |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 13.10.2008 Репутация: нет Всего: нет |
Доброго всем времени суток.
Описываю задачу и истекающую из неё проблему стоящие передо мною. Требуется обеспечить т.н. полноэкранный режим окна. Пока в уже существующем разрешении, т.е. без переключения видеорежимов на лету. Открываю Display (соединияюсь с XServer'ом), создаю окно используя ширину и высоту DisplayWidth/DisplayHeight. Создаётся окно и вправду размером во весь монитор. Затем переключаю окно в полноэкранный режим (при помощи расширения NetWM). Здесь убираются декорации окна, и всё что было поверх него (всякие "Always on Top"). Окно полноэкранное, всё работает. Но дома у меня два монитора, которые настроены как "Separate X Screen" и стоит галочка "Enable Xinerama" (nvidia-settings). Создаётся окно в оба (!) монитора - DisplayWidth/DisplayHeight дают суммарный размер обоих мониторов. Но когда я "советую" (или "предлагаю") через NetWM сделать моё окно полноэкранным, оно разворачивается на один монитор. Вроде всё правильно, но я не могу работать дальше с переменными полученными от функций DisplayWidth/DisplayHeight, т.к. моё полноэкранное окно меньше чем оба монитора. Может и глупый вопрос - но мне нужно как-то узнать размер именно того монитора на котором я запущен. Судя по моим экспериментам, монитором на который повешено приложение (его окно) считается тот на котором находится наибольшая площадь окна. Допустим управляющая консоль была открыта на втором мониторе - либо вся она, либо большая часть её окна находится на правом мониторе), то моё приложение должно узнать какие размеры имеет именно правый (свой) монитор. Если я запущен на левом - то нужно знать размеры левого монитора. P.S. Получать размеры своего же окна после его переключения в полноэкранный режим не предлагать. P.P.S В обоих вариантах - как при взаимодействии c XServer'ом через IPC, как и при взаимодействии через TCP, ScreenCount возращает 1. А XDefaultScreen - 0. Т.е. экран всегда один и мо-умолчанию - единственный нулевой. Спасибо. |
|||
|
||||
![]()
|
| Правила форума "С/С++: Программирование под Unix/Linux" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |