[Qt-interest] fullscreen windows on X11 +Xinerama

Wesley Smith wesley.hoke at gmail.com
Wed Mar 10 21:32:54 CET 2010


yes it's a top-level window.  You're probably right about the
attributes.  I'm looking into it.  Is there a link to the part where
ogl_win->GetDesiredVisualInfo(); GetDesiredVisual is defined?

wes

On Wed, Mar 10, 2010 at 12:25 PM, Clinton Stimpson <clinton at elemtech.com> wrote:
>
> Are you using OpenGL with this top level window?  If so, you may need to be
> smarter about XCreateWindow() by getting the right visual and other
> parameters.
>
>  Window win = XCreateWindow(display, p, a.x, a.y, a.width, a.height,
>                             0, vi->depth, InputOutput, vi->visual,
>                             CWBackPixel|CWBorderPixel|CWColormap, &attrib);
>
> Complete code is accessible here:
> <http://public.kitware.com/cgi-
> bin/viewcvs.cgi/GUISupport/Qt/QVTKWidget.cxx?view=markup>
>
> Otherwise, you could probably just use your top level window as a container
> for other widgets.
> Also, the OpenGL context should be created during the first show().
>
> Clint
>
> On Wednesday 10 March 2010 01:10:15 pm Wesley Smith wrote:
>> thanks!  I'm able to use the create(...) function to do what I want,
>> but now I'm having trouble with OpenGL contexts.  Does anyone know how
>> passing a window generated with XCreateWindow interacts with the
>> QGLWidget's OpenGL context?  Do I also have to make my own context?
>> It's giving me XBadDrawable errors right now.  From what I understand,
>> create gets called by in the constructor.  Does anyone know where the
>> opengl context gets created?  Does calling create invalidate it if it
>> exists such that the widget will recreate it properly?  Or do I have
>> to manage this myself?
>>
>> thanks,
>> wes
>>
>> On Wed, Mar 10, 2010 at 11:27 AM, Clinton Stimpson <clinton at elemtech.com>
> wrote:
>> > On Wednesday 10 March 2010 11:51:51 am Wesley Smith wrote:
>> >> I'm having some issues trying to get fullscreen windows to span
>> >> multiple heads on X11 with Xinerama.  I'm on ubuntu Jaunty with Qt
>> >> 4.3.  From what I can tell, the window manager is restricting windows
>> >> to be the size of one monitor.  I've also tried setting the window to
>> >> be borderless with a size equivalent to the multi-head display and i'm
>> >> not able to get the window beyond one monitor without dragging it
>> >> manually.
>> >>
>> >> I've managed to get a proper multihead fullscreen window in X11
>> >> directly using XSetWindowAttrbutes.override_redirect = True and adding
>> >> the CWOverrideRedirect flag to the window mask field of XCreateWindow.
>> >>  Now I'm looking for a way to do this through Qt.  Is there any way
>> >> for meet to somehow add these flags while still using QWidget's show
>> >> method to turn a widget into a window?
>> >
>> > If not, then you can still do an XCreateWindow and then use that when you
>> > call QWidget::create(...).
>> >
>> > Clint
>> > _______________________________________________
>> > Qt-interest mailing list
>> > Qt-interest at trolltech.com
>> > http://lists.trolltech.com/mailman/listinfo/qt-interest
>>
>




More information about the Qt-interest-old mailing list