On Sun, 2008-01-27 at 12:24 +0100, Johannes Weiss wrote: > Hi, > > > > Package: ion3 > > > Version: 20080103-1 > > > Severity: normal > > > > > > the fullscreen window opens shortly but closes immediately... > > > In GNOME it works. > > > > I noticed a similar problem myself on one web site, but assumed it was a > > site-specific scripting bug. If it affects Flash full-screen mode in > > general, this is probably a bug in Flash - it's very unlikely that Ion3 > > is telling the window to close. However it may be possible to configure > > a kluge-rule for Ion3 that will work around the bug. Can you point to a > > specific web site that demonstrates this problem? > > It affects the NEW (since flash 9.0.115.0) fullscreen-mode in general. > In older flashplayers it was not possible (under Linux) to switch to > fullscreen-mode on an existing window. That was very bad, because you had > to watch e.g. youtube-videos from the beginning when you wanted to switch to > fullscreen. > That is now fixed with a real flash fullscreen mode, but it does work with ion > at all. Some sample sites: > > - http://youtube.com -- choose any video and press fullscreen > - http://myvideo.de -- the same thing > - http://flowplayer.org/demo/h264 > > be sure to have installed > ii flashplugin-nonfree 9.0.115.0.1 Adobe Flash Player plugin > installer
This seems to be a bug in Flash. I was able to workaround this by
adding a nasty hack to cfg_ion.lua:
-- Flash player opens full-screen windows from Firefox with size request
-- 200x200. It closes them if they lose focus, but also if they get focus
-- too quickly. Therefore delay focus for 100 ms.
-- Note that we can't create a timer in the match function, and we can't
-- change switchto in the hook function, so we need both.
defwinprop {
class = "Firefox-bin",
match = function(prop, cwin, id)
local geom = cwin:geom()
return geom.w == 200 and geom.h == 200
end,
switchto = false,
}
ioncore.get_hook("clientwin_do_manage_alt"):add(
function(cwin, table)
local ident = cwin:get_ident()
local geom = cwin:geom()
if ident.class == "Firefox-bin" and geom.w == 200 and geom.h == 200 then
local timer = ioncore.create_timer()
timer:set(100, function() cwin:goto() end)
return true
else
return false
end
end
)
Ben.
--
Ben Hutchings
One of the nice things about standards is that there are so many of them.
signature.asc
Description: This is a digitally signed message part

