Discussion:
Youtube fullscreen not working
Timandahaf
2009-11-22 20:10:34 UTC
Permalink
When I hit the fullscreen button inside a youtube video in firefox, the
video just disappears, and I'm left with the browser without the video.
There's no new full-screen workspace created. Pressing either alt-tab or
Escape has the same effect: the video comes back into its original
position embedded inside the browser. I don't think I've ever had this
work correctly in the past either.

Any idea why this is happening/how to fix this?

Using ion3-2009-0110. The issue is probably similar/same as the issue in
[1].


[1] http://thread.gmane.org/gmane.comp.window-managers.ion.general/8699/focus=8699
Ben Hutchings
2009-11-22 22:47:47 UTC
Permalink
Post by Timandahaf
When I hit the fullscreen button inside a youtube video in firefox, the
video just disappears, and I'm left with the browser without the video.
There's no new full-screen workspace created. Pressing either alt-tab or
Escape has the same effect: the video comes back into its original
position embedded inside the browser. I don't think I've ever had this
work correctly in the past either.
Any idea why this is happening/how to fix this?
Flash seems to do stupid things with window focus. I had a workaround
for an earlier version of Flash[1] but it no longer works.
Ben.
[1] http://git.decadent.org.uk/gitweb?p=ion3.git;a=blob;f=debian/cfg_kludge_flash.lua
It seems that Flash no longer sets the initial window size to 200x200
sizes but to the current screen size. So changing:

match = function(prop, cwin, id)
local geom = cwin:geom()
return is_fullscreen(cwin) and geom.w == 200 and geom.h == 200
end,

to:

match = function(prop, cwin, id) return is_fullscreen(cwin); end,

makes it behave, though this might have false positives.

Ben.
--
Ben Hutchings
Unix is many things to many people,
but it's never been everything to anybody.
Timandahaf
2009-11-27 05:54:11 UTC
Permalink
Post by Ben Hutchings
It seems that Flash no longer sets the initial window size to 200x200
makes it behave, though this might have false positives.
Thanks for your response and for the pointer to your kludge!

I tried to do this, but I still have the exact same problem. I see what
your kludge is doing, but it doesn't seem to fix the problem. Regardless
of whether or not I use your script, when I press the full-screen button
inside the youtube player, the video disappears, and the browser window
gets surrounded by a thin read line (which I assume is the video
window). Any clue what else the problem could be?


(BTW, running ion's window info on firefox tells me its class is
"Firefox", and not "Firefox-bin", so I tried changing it to that, to no
avail).
Tuomo Valkonen
2009-11-27 08:57:42 UTC
Permalink
Post by Timandahaf
I tried to do this, but I still have the exact same problem. I see what
your kludge is doing, but it doesn't seem to fix the problem. Regardless
of whether or not I use your script, when I press the full-screen button
inside the youtube player, the video disappears, and the browser window
gets surrounded by a thin read line (which I assume is the video
window). Any clue what else the problem could be?
The red line is probably Ion's marker for the source frame of a detached
window. You can detach/reattach windows with Mod1+K D, but "too big"
transients also get detached automatically... is flash purporting its
fullscreen document window to be a "transient" now? And then it somehow
fails when Ion's detach code keeps moving the window around? Maybe it
even gives the window size hints that force it to be a single pixel,
and hence basically invisible with the minimal transient decorations.
(Ion always applies size hints; modern idiot-applications often request
sizes that do not fall into the range of their size hints.)

You may be able to find the window id with xprop -tree -root or
something, if it sets any identifying information at all (probably
won't, being modern crapware), and then find the size hints and
the TRANSIENT_FOR property with xprop -id the_id.

I'm not running Linux or even X anymore, so that's all I can help.
--
Tuomo
Canaan Hadley-Voth
2009-12-06 02:34:10 UTC
Permalink
[1] http://git.decadent.org.uk/gitweb?p=ion3.git;a=blob;f=debian/
cfg_kludge_flash.lua
Your script works for me, thanks for solving that. I was actually fine when
this thread started, then Ubuntu 9.10 came along and flash windows would try to
fullscreen themselves and quickly fail.

For others with the same problem, these are the classes and instances I find
for that flash window that disappears too fast, for use in the above script:

defwinprop {
class = "Operapluginwrapper-ia32-linux",
instance = "operapluginwrapper-ia32-linux",
match = function(prop, cwin, id) return is_fullscreen(cwin); end,
switchto = false,
flash_fullscreen = true,
}
defwinprop {
class = "Firefox",
instance = "firefox",
name = "Firefox",
match = function(prop, cwin, id) return is_fullscreen(cwin); end,
switchto = false,
flash_fullscreen = true,
}
defwinprop {
class = "Prism",
instance = "prism",
match = function(prop, cwin, id) return is_fullscreen(cwin); end,
switchto = false,
flash_fullscreen = true,
}
defwinprop {
class = "Exe", -- google chrome
instance = "exe",
name = "exe",
match = function(prop, cwin, id) return is_fullscreen(cwin); end,
switchto = false,
flash_fullscreen = true,
}


I understand they vary by distro, so here is a hook to figure out the rest:

ioncore.get_hook('clientwin_do_manage_alt'):add(
function(cwin, table)
ioncore.write_savefile("windowinfos", cwin:get_ident())
end)

Then restart ion, fullscreen a flash video and see what got written to ~/.ion3/
default-session--0/windowinfos.lua
Timandahaf
2009-12-06 22:58:36 UTC
Permalink
Post by Canaan Hadley-Voth
[...]
Then restart ion, fullscreen a flash video and see what got written to ~/.ion3/
default-session--0/windowinfos.lua
Ah, thank you very much for this hook! I finally got youtube fullscreen
working perfectly well!

My class,instance for the misbehaving youtube window was
"Npviewer.bin","npviewer.bin". This is why the original kludge wouldn't
work (I'd previously used ion3's windowinfo to setup my kludge, but I
guess this gave me only the parent's info).

Ben Hutchings
2009-11-22 22:16:41 UTC
Permalink
Post by Timandahaf
When I hit the fullscreen button inside a youtube video in firefox, the
video just disappears, and I'm left with the browser without the video.
There's no new full-screen workspace created. Pressing either alt-tab or
Escape has the same effect: the video comes back into its original
position embedded inside the browser. I don't think I've ever had this
work correctly in the past either.
Any idea why this is happening/how to fix this?
Flash seems to do stupid things with window focus. I had a workaround
for an earlier version of Flash[1] but it no longer works.

Ben.

[1] http://git.decadent.org.uk/gitweb?p=ion3.git;a=blob;f=debian/cfg_kludge_flash.lua
--
Ben Hutchings
Unix is many things to many people,
but it's never been everything to anybody.
Loading...