Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> XDisplay, XWindow, Вопрос по организации. 
:(
    Опции темы
Tuma
Дата 29.9.2009, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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. Т.е. экран всегда один и мо-умолчанию - единственный нулевой.

Спасибо.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0532 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.