#7 hmax vmax and fullscreen flash bug

current
closed-fixed
nobody
None
5
2011-09-26
2010-05-03
Anonymous
No

the flash video gets its name from the parent (checked using sleep5 && xwininfo <-- needed sleep so I could click the fullscreen button)

adding these should force fullscreen
<Group>
<Class>seamonkey-bin</Class>
<Name>seamonkey-bin</Name>
<Option>pignore</Option>
<Option>hmax</Option>
<Option>vmax</Option>
<Option>maximized</Option>
</Group>

the maximized tag works as normal for seamonkey-bin as long as hmax or vmax is not in place, however adding them PREVENTS instead of forcing maximization

it appears that flash10 just uses maximize while flash9 uses HMAX and VMAX

Hopefully someone can confirm - I could be completely off base because I have zero C skills... anyone???

EDIT --- further info
from joewing.net documentation
hmax Make windows in this group maximize horizontally by default.
vmax Make windows in this group maximize vertically by default.

hmax expected - window opens maximized horizontally
hmax actual - window opens as normal when maximize is press it ONLY maximizes horizontally

hmax & vmax expected - window opens maximized horizontally and vertically
hmax & vmax actual - window opens as normal when maximize is press it does not maximize at all

it seems like jwm is setting the window state as maximized (V or H) instead of performing the action

for instance in hint.h there is

ATOM_NET_WM_ACTION_MAXIMIZE_HORZ,
ATOM_NET_WM_ACTION_MAXIMIZE_VERT,

and

ATOM_NET_WM_STATE_MAXIMIZED_VERT,
ATOM_NET_WM_STATE_MAXIMIZED_HORZ,

seems like this is a likely culprit, but I don't think I can debug any further

Discussion

  • xwininfo for flash video opened in seamonkey - similar for other browsers

     
    Attachments
  • As far as I can tell the hmax, vmax, and maximized group options are behaving as I intended. The hmax and vmax options mean that the window should maximize only in one direction when they are maximized (thus specifying both really isn't valid). So when the documentation says "Make windows in this group maximize horizontally by default" the intended meaning is that the windows will maximize horizontally (rather than completely) when maximized. If you want the window to start maximized, "maximized" should be specified, but not "vmax" or "hmax" (unless, of course, you only want the window to maximize in one direction).

    About the hints, the EWMH specification states that the "ACTION" hints are to be used to indicate states the window manager supports (via the _NET_WM_ALLOWED_ACTIONS atom) whereas the "STATE" hints are used to communicate the actual window state.

     
  • Here is the patch by patriot that fixes the fullscreen bug

    diff -crB ../jwm-492/src/client.c ./src/client.c
    *** ../jwm-492/src/client.c 2010-05-04 19:38:43.000000000 +0800
    --- ./src/client.c 2010-05-09 08:08:08.000000000 +0800
    ***************
    *** 261,266 ****
    --- 261,274 ----
    }
    }

    + /* Make the client fullscreen if requested. */
    + /* Done here to preserve client restore stuffs,
    + * such is the irony of things */
    + if(np->state.status & STAT_FULLSCREEN) {
    + np->state.status &= ~STAT_FULLSCREEN;
    + SetClientFullScreen(np, 1);
    + }
    +
    return np;

    }

     
  • I think this fullscreen issue should be resolved in the current release (v2.1.0). Please reopen if this is not the case.

     
    • status: open --> closed-fixed