Andre Kuehne wrote:
Uriel wrote:

5) support for apps native full screen modes sucks (qiv [drops behind
managed layer], gqview [window appears slightly offscreen], firefox
[titlebar doesn't come back when you return from fullscreen])

This IMHO is the greatest issue, I know it was fixed at some point,
sad to see it broken again, I hate X...

In an earlier mail i identified one revision, which broke fullscreen
support for mplayer:

http://www.suckless.org/pipermail/wmii/2007-June/003547.html

Just to be sure i did some more tests.

I built libixp from latest revision before the suspected wmii commit:

changeset:   39:7c3b9ef60da1
user:        Kris Maglione <[EMAIL PROTECTED]>
date:        Tue Feb 20 13:25:44 2007 -0500
summary:     Undoing last change. It was already done in LDFLAGS

Then i build and run wmii from this revision:

changeset:   1981:18c1736806e7
user:        Kris Maglione <[EMAIL PROTECTED]>
date:        Thu Mar 01 16:37:00 2007 -0500
summary:     Fix flicker on keyboard focus change.

These are the fullscreen test results:

gqview: works
feh: works
mplayer: works
gmplayer: works
xine: works
firefox: not working

And the same with the subsequent revision:

changeset:   1982:65643b7a63d6
user:        Kris Maglione <[EMAIL PROTECTED]>
date:        Fri Mar 02 03:13:32 2007 -0500
summary:     Implemented the Aspect hint, as well as some moderate cleanup.

gqview: not working
feh: not working
mplayer: not working
gmplayer: not working
xine: not working
firefox: not working

I looked over the changeset and found one part which looks like the culprit to 
me:

--- a/client.c  Thu Mar 01 16:37:00 2007 -0500
+++ b/client.c  Fri Mar 02 03:13:32 2007 -0500
@@ -35,23 +34,16 @@ create_client(Window w, XWindowAttribute
        c->border = wa->border_width;
        c->rect.width = wa->width;
        c->rect.height = wa->height;
+
        c->proto = win_proto(c->win);
-       update_client_name(c);
-
-       c->fixedsize = False;
-       XGetTransientForHint(blz.dpy, c->win, &c->trans);
-       if(!XGetWMNormalHints(blz.dpy, c->win, &c->size, &msize) || 
!c->size.flags)
-               c->size.flags = PSize;
-       if(c->size.flags & PMinSize && c->size.flags & PMaxSize
-               && c->size.min_width == c->size.max_width
-               && c->size.min_height == c->size.max_height)
-                       c->fixedsize = True;
-       if(c->rect.width == screen->rect.width
-       && c->rect.height == screen->rect.height)
-               c->fullscreen = True;

But i am not familiar with the codebase so this is just a guess.
Tomorrow is an official holiday in Germany, so maybe i find the time
to catch up on this.

Best wishes
Andre


Reply via email to