Название: [РЕШЕНО] libxrandr: изменение параметров подключенных мониторов Отправлено: FluffyMan2000 от Март 03, 2013, 11:36 Пишу приложение на C++/Qt со следующим функционалом: установить разрешение и ориентацию для монитора. все ок работает, написал. однако стала задача расширить функционал и включить поддержку двух мониторов.
что именно надо: 1) определить подключенные мониторы 2) установить для каждого свое разрешение 3) установить для каждого свою ориентацию подскажите как это сделать Название: Re: libxrandr: изменение параметров подключенных мониторов Отправлено: Alex Custov от Март 04, 2013, 22:08 я когда-то давно разбирался с xrandr, но не помню совершенно ничего. Помню только, что исходники утилиты xrandr значительно помогают, если разобраться в этой вермишели.
Название: Re: libxrandr: изменение параметров подключенных мониторов Отправлено: FluffyMan2000 от Март 05, 2013, 08:57 я вот исходник нашел. но разбираюсь в нем уже третий день. абсолютно ничего пока не понимаю. единственное, чего добился, так это вывести имена подключенных мониторов таким образом
Код: dpy = XOpenDisplay(0); может быть у Вас проявятся флэшбэки и Вы вспомните чтото? :) Исходник прикрепил. посмотрите пожалуйста. очень помощь нужна в этом коде разобраться. я в СИ не разбираюсь, как и в процедурном программировании. свою программу, работающую с одним монитором, написал по этому мануалу http://www.opengl.org/wiki/Programming_OpenGL_in_Linux:_Changing_the_Screen_Resolution (http://www.opengl.org/wiki/Programming_OpenGL_in_Linux:_Changing_the_Screen_Resolution) Название: Re: libxrandr: изменение параметров подключенных мониторов Отправлено: FluffyMan2000 от Март 06, 2013, 11:20 решено. изменить положение, ориентацию и режим (из списка определившихся разрешений) можно так:
Код: XRROutputInfo *output_first_info = XRRGetOutputInfo(dpy, sr, sr->outputs[X]); где X - номер монитора, параметры которого меняем XM, YM - координаты расположения в виртуальном экране M - номер режима получить список всех известных режимов для каждого из подключенных мониторов можно так: Код: int jj = 0; |