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

Re: [E-devel] _ecore_evas_x_fullscreen_set

On Thu, 10 Aug 2006 23:55:46 +0200 Kim Woelders <kim@woelders.dk> babbled:

> Hi,
> _ecore_evas_x_fullscreen_set has IMO some ICCCM non-compliance and other
> evilness. You can see the effects of this e.g. when toggling fullscreen
> state in entice (key f) in many WM's, including e17 and e16.
> 1) _ecore_evas_x_fullscreen_set starts with ecore_x_window_hide. This is
> a window withdrawal (ICCCM). When a client withdraws itself by unmapping
> the application window it should wait for the WM to reparent the window
> to root or change/remove the WM_STATE hint before proceeding to mess
> around with the window.
> This is not done and causes problems for many WM's.

yeah - this is dubious. i changed the levels of parents - before it created an
override-redirect container and the canvas was always a subwindow. i reduced
windowing levels by 1 so its only 1 window and thus this all changed to the
above :)

> 2) When entering fullscreen mode the window is changed to
> override-redirect type to override WM control of borders, sizes, 
> stacking etc.
> This is in my opinion a very unusual and dubious use of the
> override-redirect attribute.
> I think that the whole fullscreen/unfullscreen thing should be left to
> the WM, i.e. send an ECORE_X_WINDOW_STATE_FULLSCREEN client message to 
> the root window and let the WM do whatever it does when fullscreening.
> This will of course only work with EWMH compliant WM's, but do we
> care about non-EWMH compliant ones?
> If yes, I think _ecore_evas_x_fullscreen_set should detect this and fall 
> back to the only other sane way to enter/leave fullscreen mode, i.e. use 
> the standard mechanisms to resize/reposition the window and set/unset 
> the borderless attribute (_MOTIF_WM_HINTS).

which is what we do now :) well we use the netwm fullscreen mojo - no fallback
though :)

> 3) _ecore_evas_x_fullscreen_set messes with focus. IMO clients should
> hardly ever do that (maybe except by requesting the WM) but again leave 
> it to the WM. In this case I guess it was a hack required to get the 
> override-redirect thing kind of working.

yup - it was.

> If there are no objections I will commit attached patch.

no objections :)

> /Kim

------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    raster@rasterman.com
Tokyo, Japan (東京 日本)