Lots of _NET_WM_STATE_FULLSCREEN issues ...



  Hi,

I've recently implemented _NET_WM_STATE_FULLSCREEN in xawtv (tv watching
app).  According to Havoc Pennington basically all I have to do is to
send the _NET_WM_STATE_FULLSCREEN message to the window manager and be
done with it.  Well, the users are not very happy with the result.  It
does basically work, but there are a number of details which don't work
that great ...

xawtv does alot of magic when entering and leaving to fullscreen mode,
some of this is gone now.  Just from reading the spec it isn't clear
what exactly _NET_WM_STATE_FULLSCREEN is supported to do and what
happens in certain situations.  Here is a (hopefully complete) list
of these problems:

 (1) How should I enter fullscreen mode with another physical
     resolution?  Background: depending on the hardware and/or
     drivers scaling the TV to fullscreen doesn't work, thats
     why xawtv can switch to another physical resolution (i.e.
     1024x768 => 640x480) to avoid having black borders around
     the TV image.

     old way:  xawtv can switch via VidMode extention.
     _NET_WM:  ???

 (2) Somehow related to (1).  What happens if you enter fullscreen
     mode with a virtual screen larger than the physical screen?

     old way:  xawtv can check what the phyical screen size is,
               again using the VidMode extention, then make the
               window size match the physical screen.
     _NET_WM:  ???

 (3) What happens in xinerama mode?

     old way:  xawtv figures which real screens exist (there is a
               X extention for that too) and moves/resizes the window
               to cover one real screen (i.e. you can watch TV at
               one screen and work at the other in parallel).
     _NET_WM:  ???

 (4) According to Havoc Pennington _NET_WM_STATE_FULLSCREEN implies
     _NET_WM_STATE_ABOVE.  Is that true?  The specs don't say something
     about this, and it seems not to work.  At least I get complains
     from users that the gnome panel is still visible in fullscreen
     mode ...

  Gerd




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