It would be nice if tvtime had a switch to select
between fullscreen modes. That kind of switch is in
mplayer (-fstype, formelly -icelayer) and you can find
it's code in main/libvo/x11_common.c. Look for the
function vo_x11_setlayer and vo_x11_get_fs_type in that
file.
From mplayer manual page:
&#8722;fstype <type1,type2,...>
Specify a priority list of fullscreen layer
setting modes to be
used.
The default order is
"layer,stays_on_top,above,fullscreen". It
will be used as a fallback in case of
specifying incorrect or
unsupported modes.
If you experience problems with fullscreen
window being covered
by other windows try using a different order.
And from -fstype help we get the list of types:
none don't set fullscreen window layer
layer use _WIN_LAYER hint with default layer
layer=<0..15> use _WIN_LAYER hint with a given
layer number
above use _NETWM_STATE_ABOVE hint if available
below use _NETWM_STATE_BELOW hint if vailable
fullscreen use _NETWM_STATE_FULLSCREEN hint if
availale
stays_on_top use _NETWM_STATE_STAYS_ON_TOP hint if
available
Note that I don't recomend any change at the defaults
for tvtime, I want just an option :)
Logged In: YES
user_id=153320
Well, I think your description is a bit wrong. I mean,
_NET_WM_STATE_FULLSCREEN, by definition, means that
other windows will not obscure the fullscreen window.
Otherwise, there is a bug in the window manager, not in
tvtime. Regarding STATE_STAYS_ON_TOP. Why not have
an explicit tvtime 'always on top' option? Sounds like that
might be more appropriate.
I don't understand the point of ABOVE and BELOW, what do
they mean exactly?
The LAYER hint sounds somewhat useful, but it's still
unclear to me what. Is the intent that all X applications will
have a -layer command line option, or are applications
supposed to remember their layer across sessions? Maybe
we should ask about this on the wm-spec-list before
implementing.
Logged In: YES
user_id=571330
You can think BELOW as a class consisting of the windows
that have that attribute and who are always below all the
other windows which don't have that attribute set. Generally
it is a useful option if you want to have tv in the
background without it getting the root window. (ABOVE I'm
not sure what it means)
STAYS_ON_TOP is a nice option, but not so useful. I haven't
ever used it for xawtv. Anyway, it's always nice to have an
option :)
The FULLSCREEN currently set by tvtime I think it's wrong.
Most times someone doesn't want to completely consentrate in
TV viewing, he wants to switch to an other app while
watching tv and then get back to the TV, and so on. That is
my use of the tv at least... Current default for xawtv is
just a fullscreen window with no hints for layer placement
and I believe that this is the best. (maybe add a button (t
in xawtv) for on the fly switch on placement (t in xawtv
cycles between: ON_TOP, BELOW and normal).
Maybe I should note that I use my 19" monitor at 1600x1200
so I want to do/fit many things at the same time in there...
Logged In: YES
user_id=153320
I don't understand your comment against fullscreen at all.
tvtime is a high quality video processor first, and a tv
viewing application second. The intention is that tvtime is
fullscreen most of the time, but you can drop out of
fullscreen mode if you need to go do something.
Regarding states like below and always on top, aren't these
things that belong in the window manager options for the
window, like a right click on the title bar? I'm going to
post a question about this to wm-spec because I'm really
confused about what they intend applications to do here.
Sorry I haven't given this thread enough attention.
Logged In: YES
user_id=153320
The layer command line option you proposed seems silly.
When I first read it, I thought it meant that there were 15
possible layers for windows in the window manager and we got
to pick one. In the spec, things look a little different:
http://developer.gnome.org/doc/standards/wm/c44.html
The layers are actually names which have specific meanings,
it seems: desktop, below, normal, ontop, dock, above_dock,
and menu.
Clearly some of these should not be allowed. We're not a
dock, and we should not exist at the dock level. We're also
not a menu, and if someone did a menu it should appear above
tvtime, so we shouldn't use that layer. Furthermore, I do
think we should handle tvtime-on-the-desktop and
tvtime-fullscreen separately, like we do. We have a
fullscreen mode, and that's the only mode that makes sense
for using the above-dock layer. I also think our desktop
mode should be special.
So maybe this would be more correct:
tvtime -layer [below, normal, ontop]
And use that for how we should start up, but I think
keys/commands inside tvtime to change the layer between
those three might be silly, since it should be a window
manager thing you set in a menu from the title bar, at
least, that's how you set always_on_top in KDE and it makes
sense to me.
Logged In: YES
user_id=153320
Thread started here:
http://mail.gnome.org/archives/wm-spec-list/2003-June/msg00007.html
Logged In: YES
user_id=153320
Ok, so here's what happened with this thread and with the
bug report. WIN_LAYER is deprecated, there's no point in
supporting that. ABOVE and BELOW aren't really intended for
applications to just let people go to, they're really meant
to be used when the app has good reason. We came up with
some reasonable arguments about when it would be above and
below, and you can see this in the thread.
However, while all that was going on, Steve and I had this
big discussion on IRC about what he actually wanted. He
really doesn't want to change the stacking order of tvtime
at all, he really wants to be able to keep tvtime at normal
stacking order, but have it 'fill the screen', and then go
from that to fullscreen. That is, the window should be able
to be positioned and resized to 0,0 and width,height.
Steve, please tell me if I am wrong here.
I did some research into this, and thought well hell, tvtime
right now supports predefined 'modes' (our small window
mode), once we have support for window positioning, we'll be
done. I have now added support for window positioning in
tvtime. You can now do this in your tvtime.xml file:
<mode name="FakeFullscreen">
<option name="UseWindowPosition" value="1"/>
<option name="WindowX" value="0"/>
<option name="WindowY" value="0"/>
<option name="OutputHeight" value="768"/>
</mode>
There's a catch: the decorations are still active. I can do
something to send MWM hints to say 'no decorations', but
AFAICT those hints are deprecated by EWMH. Besides, I think
you should be able to tell your window manager not to
decorate tvtime if that's what you want.
So Steve, is this acceptable, or should we pursue the
decorations route?
Logged In: YES
user_id=571330
> He really doesn't want to change the stacking order of tvtime
> at all, he really wants to be able to keep tvtime at normal
> stacking order, but have it 'fill the screen', and then go
> from that to fullscreen.
That's exactly what I want :)
> So Steve, is this acceptable, or should we pursue the
> decorations route?
I can say to my window manager to never decorate tvtime,
but that's not what I want. I would like to have wm
decorations in the 'window' mode but not for the
'(fake)fullscreen'. That doesn't mean I don't want them to
exist, I just don't want them to be seen.
I saw that mplayer just positions the window to (0,-24)
when using fullscreen and it still has the decorations (but
they are out of the viewable area and not seen). I don't
know how it finds the value for the y offset (the -24)
though... (same applies to xawtv also)
Also, the 'OutputHeight' option doesn't seem right to me.
Shouldn't that be dynamic? I for example run my desktop most
of the times at 1600x1200.
Logged In: YES
user_id=153320
I'm not sure what you're talking about with the -24.
mplayer just moves to 0,0 when it goes fullscreen from what
I can see in the source code. What is this magic mode in
mplayer that you're referring to?
You refer to xawtv too and again I am confused. Does xawtv
support this 'fake fullscreen' mode you want? It makes no
sense to me.
The OutputHeight + X,Y lets you build your own mode, I think
I have given you sufficient tools. To do anything more
(dynamically determining height) just seems too specific for
this feature, since it's just for you and not for anyone else.
Logged In: YES
user_id=153320
Based on our conversations on IRC, and looking through the
mplayer source, the trick to positioning a window so that
the decorations are not visible is by using StaticGravity.
After a lengthy debate, it became clear that this fullscreen
mode should be treated as something special.
So, here is my new proposal:
tvtime --height=full
Will start tvtime such that it resizes to fullscreen, but is
still in windowed mode. Furthermore, you can define a mode
(and use our mode switching code) which uses this too:
<mode name="FullscreenWindow">
<option name="OutputHeight" value="Full"/>
</mode>
That will let you switch to this mode by hitting '*'. We
can debate whether this should exist in the default config,
but I'm thinking it probably should.
Does this sound reasonable?
Logged In: YES
user_id=153320
I'm going to close this bug. The height=full thing is
really nasty, not discoverable, and not really useful. This
is really a window manager feature request and outside the
domain of applications.