On 8/9/06, seventh guardian <[EMAIL PROTECTED]> wrote:
On 8/9/06, seventh guardian <[EMAIL PROTECTED]> wrote:
> On 8/8/06, Thomas Adam <[EMAIL PROTECTED]> wrote:
> > On Tue, 8 Aug 2006 23:02:40 +0400 "Serge (gentoosiast) Koksharov"
> > <[EMAIL PROTECTED]> wrote:
> >
> > > On Tue, Aug 08, 2006 at 04:45:49PM +0100, Thomas Adam wrote:
> > > > Serge --
> > > >
> > > > On Tue, 8 Aug 2006 15:59:10 +0400
> > > > "Serge (gentoosiast) Koksharov" <[EMAIL PROTECTED]> wrote:
> > > >
> > > > > Hello, Thomas,
> > > > >
> > > > > On Mon, Aug 07, 2006 at 09:43:41PM +0100, Thomas Adam wrote:
> > > > > > Can you attach a full xprop output for this fullscreened window,
> > > > > > please?
> > > > >
> > > > > Sure, see attached text file. Is DjView working properly on your
> > > > > machine? I also tried it on another computer with FVWM which ships
> > > > > with SUSE 10.0, still same problems.
> > > >
> > > > Going "fullscreen" was disasterous on my machine -- all it did was to
> > > > reposition the window to the bottom right and remove the menubar.
> > > > It's an EWMH issue most likely -- I can't tell you much more than
> > > > that.
> > > >
> > > > As a work around, if you completely maximise the window and then go
> > > > fullscreen that seems to work OK (removing parts of the window decor
> > > > is something you can do in your own time.  :)
> > > >
> > > > You said you were using EWMHBaseStruts?  You'll probably have to add
> > > > the style option of:
> > > >
> > > > EWMHMaximizeIgnoreWorkingArea
> > > >
> > > > For this application, although I would assume the way FVWM handles
> > > > this is to implicitly assume that when a window is being fullscreened
> > > > to ignore any EWMHBaseStruts set.
> > > >
> > > > -- Thomas Adam
> > > >
> > > > --
> > > > ThisWindow (thomas_adam) Destroy
> > > >
> > >
> > > So, is it some unimplemented functionality on our side, or bugs of 3rd
> > > party application? If second case, I'll try to convince its authors to
> > > make it FVWM compatible. BTW, I looked in its code, I'm not a C++ guru,
> > > but it seems to me it simply calling showFullScreen() function of Qt
> > > toolkit.  I've written & compiled test Qt application using this
> > > function and it worked fine under FVWM. So it's really strange why it
> > > not working...  Thanks for workaround.
> >
> > I am not too sure who's to blame for this.  Whilst not all the EWMH are
> > supported in FVWM, given the error you have below, I can only assume this
> > to be an error on behalf of the application.
> >
> > > Also, while switching to and from fullscreen it periodically spits
> > > following warning to the console:
> > >
> > > QT Warning: X Error: BadWindow (invalid Window parameter) 3
> > >   Major opcode:  3
> > >   Minor opcode:  0
> > >   Resource id:  0x8018cc
> >
> > This makes sense to me.  I don't have my Xlib programming book -- so I
> > hope someone will correct me if I am a little inaccurate.  As far as I
> > know, BadWindow errors are typically thrown from functions that
> > manipulate things like XSizeHints (hence as an example, the
> > XSetWMSizeHints() function).  In this case, what I assuming to tbe the
> > error is that the window is probably trying to keep a track of its size,
> > but fails because the parameters passed to whichever function is being
> > used fails to specify the correct Window parameter.
> >
>
> In this case major opcode 3 means the BadWindow error was thrown in a
> "GetWindowAttributes" request to the X server. I also get some opcode
> 20 (GetPropery), opcode 15 (QueryTree) and opcode 40
> (TranslateCoords).
>
> I found a thing that might be the cause of the problem. When the
> window requests full screen it gets reparented by fvwm. (is this the
> correct behaviour?) But some calls are still made regarding the old
> fvwm parent window, which doesn't exist anymore. So the window doesn't
> get resized at all.
>
> You probably don't see this in a sample app because it doesn't have 7
> (seven!) sub-windows :) (just do a "xwininfo -children" on djview)
>
> > That being the case, I can only conclude it's a bug with the
> > application.
>
> The problem is the interaction between fvwm and qt.. it's probably a
> matter of timing, as it gets reparented as it is being fullscreened.
> The app gets the parent's ID, fvwm reparents it and it then uses the
> outdated ID..
>
> It can be a fvwm bug, or a qt one.. Can someone shed some light over this?

Making a small test with kate (the smallest qt full-screening app I
could remember) it shows that the problem is specific to djview. Even
though the app window ID is the same, fvwm chooses to reparent the
djview window (for no reason? There must be a reason..) and not kate.


Small notice: kate uses qt4, while djview uses qt3!! Serge, what were
you compiling your app against? qt 3 or 4?

 Renato

Cheers
  Renato

> Cheers
>  Renato
>
> >
> > How correct am I with that, anyone?
> >
> > -- Thomas Adam
> >
> > --
> > ThisWindow (thomas_adam) Destroy
> >
>


Reply via email to