Re: gqview 1.5.4/1.5.5 and fullscreen mode

"Dariusz J. Garbowski" <djgarbows-/[email protected]> Sun, 09 Jan 2005 00:56:03 +0000
Newsgroups gmane.comp.gnome.apps.gqview.devel
Message-ID <[email protected]>
John Ellis wrote:
> "Dariusz J. Garbowski" wrote:
> 
>>Recently I built GQview 1.5.4 and noticed that something has changed
>>since 1.4.x in the way fullscreen is implemented.
>>
>>I'm running Fedora Core 3 with Gnome and IceWM 1.2.18 as wm.
>>
>>When I switch to fullscreen mode I have few things still left on top of
>>the image: gkrellm window, icewm panel and gnome panel.
>>
>>There is a nice feature of IceWM that you can click right mouse button
>>on "GQview full screen" in window list or on the panel and set layer for
>>the window. When I choose "on top" gkrellm is goes behind GQview. To
>>make Gnome panel go below I have to choose "dock" layer. To make IceWM
>>panel do the same the layer has to be "above dock".
> 
> 
> This is probably the only issue left for full screen in 1.5.x, the window
> layering. Right now GQview requests no specific layer, it is a standard window.
> 
> There is no real _usable_ layer designed specifically for full screen, I may
> make the full screen request to be above other windows as per NET_WM_STATE_ABOVE
> discussed in the freedesktop.org Extended Window Manager Specs outlined here:
> 
>   http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html
> 
> But that is as far you can reasonably go, requesting the full screen window be
> NET_WM_STATE_FULLSCREEN seems like it would be the way to go, but it simply
> ruins the ability to select the location of the window in a multi-head setup
> because it also takes away the application's ability to place or size the
> window. Also, in testing a few window managers the behavior for
> NET_WM_STATE_FULLSCREEN in a multi-head setup is not consistent and the spec
> itself does not really address the issue.
> 
> In the stacking order paragraph, the spec mentions that TYPE_DOCK and
> STATE_ABOVE have the same priority, apparently neither is guaranteed to be
> higher. So if I add a STATE_ABOVE request the dock may still be visible.

I see the problem now, thanks for explanations. I have IceWM-specific 
workaround for fullscreen gqview window being covered by windows on 
"higher" layers. Adding the following line to "winoptions" config file 
solves the issue (needs IceWM restart to work):

gqview.Gqview.layer: AboveDock

Luckily WM_CLASS for fulscreen window differs from gqview's main window 
by one letter (q vs. Q) :-))

And delete file dialog opens on top of fullscreen window, which is 
great! :-)

It's workaround that works with IceWM, I'm not quite sure what should be 
generic solution built-in in gqview (perhaps additional "Fullscreen 
Layer" option in advanced tab?).


>>This is not the case with GQview 1.4.x. I have seen "1.5.3 xinerama
>>problem" thread and see that you are still working on fullscreen feature.
> 
> 
> You may also see this problem with 1.4.4 and 1.4.5 - they were released
> primarily to update the full screen code to something similar to what is in
> 1.5.x but without the ability to select the window location.

I am still seeing that gqview 1.4.5 has _NET_WM_STATE set to:

_NET_WM_STATE(ATOM) = _NET_WM_STATE_FULLSCREEN

while this is not the case with 1.5.5.


>>Since I'm also running xinerama with two monitors (1: 1280x1024, 2:
>>1600x1200, Matrox G550) I can report that fullscreen window opens on
>>expected monitor for me, i.e. the one where GQview's main window is
>>open. Personally I do not quite see a need for fullscreen spanning over
>>two monitors, especially that they run in different resolution in my setup.
> 
> 
> In 1.5.x you can configure the full screen window to be a specific monitor, the
> current monitor, or all monitors. The default is current monitor, and can be
> changed in advanced options.

Thanks for the hint :-) I played with it a bit and found out that 
"Active screen" and "Screen :0.0, Full size" display picture on both 
monitors using them as one big display in IceWM. Does this mean that you 
have different experience (quote from "xinerama" thread below)?


"icewm (1.2.16): Can not span all monitors (works like metacity, below).

metacity (2.6.3): I can specify monitor 1, 2, or active monitor - but 
can not span all monitors."

Regards,
Dariusz


-- 
Dariusz J. Garbowski



-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt