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