Re: "full screen" windows



Am 17.08.01, 13:25:24, schrieb Bj|rn Englund <d4bjorn dtek chalmers se> zum 
Thema Re: "full screen" windows:

> The application I'm working on displays video in a normal window.
> When the user so wishes he should be able to make the window fullscreen.

> In the fullscreen mode he can bring up a menu or a control/preferences
> window on top of the fullscreen window. (If he's running a panel
>  it should be possible to configure the wm to put the panel
> (temporarily) on top if the user so wishes)

> When deciding to go back from fullscreen to normal window_type/_state
> the window should still be in the same position as before fullscreen
> as if the window had been maximized.

> It should be possible to have a maximized window and go to fullscreen
> and back to the maximized window and further back to the unmaximized
> state.

> At the moment I use motif hints to get rid of the decorations
> (doesn't work on all wms) and I have to do  unmap ; set motif hint ;map
> to change them when switching betwen fullscreen<->normal.
> The application must keep track of where the normal
> window should be positioned, but I can't reposition it on same
> place as before fullscreen because the wm (can/will) override that.

Ooo has the same problem with presentation mode. Currently we use an 
override redirect fullscreen window, because that works on all WMs but 
this has the disadvantage that dialogues that want to be in front of the 
presentation window also have to be override redirect, because many WMs 
raise override redirect windows above all else.


> In v1.1 of EWMH spec the part about _NET_WINDOW_TYPE says:
> "This SHOULD be set by the Client before mapping"
>       ^^^^^^
> How is this to be interpreted?
> 1. The property must be set before mapping if it is to be set
> or
> 2. The property should be set before mapping but can be set after too.

I think it is clear: set it before mapping. If you set it afterwards and 
a WM really reacted on that (didn't try) he would have to redecorate it 
which will lead to undesirable flickering.

> My guess is that it must be set before mapping and  makes it
> impossible to change window_type without doing a unmap/map ?

> _NET_WM_STATE
>  This property can be changed when the window is mapped.
>  Is this where there should be a FULLSCREEN_STATE ?

I think it depends on how you see it: is FULLSCREEN simply maximized with 
decorations outside the screen or is FULLSCREEN a window type with no 
decoration and maximum size ? The FULLSCREEN state would be more flexible 
i think.

Regards, Philipp




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]