On Thu, Aug 19, 2010 at 11:12:50AM -0400, John J. Foerch wrote:
> On Thu, Aug 19, 2010 at 11:07:36AM +0200, Vitaly S. wrote:
> >
> > Ok, I got it.
> >
> > The problem was with these lines in my conkeror:
> >
> > function my_zoom_set (buffer) {
> > browser_zoom_set(buffer, false, 125);
> > }
> > add_hook('create_buffer_hook', my_zoom_set);
> >
> > The steps are:
> >
> > 1) cokeror -q
> >
> > 2) eval the code above.
> >
> > 3) eval:
> >
> > function test(I){
> > I.window.open("http://www.google.com")
> > };
> > interactive("test", "blabla", test);
> >
> > 4) M-x test
>
>
> Okay, I was able to reproduce the problem with these steps. Thanks for
> narrowing it down so well. I will see what I can find.
>
It turned out to be a timing issue with the creation of the first buffer
in a not-fully-initialized window.. When window.open is used to make a new
window (instead of conkeror's window creation api) create_buffer_hook gets
called before the browser is fully initialized. This caused
browser_zoom_set to fail, which in turn caused other things in that hook
to fail, such as mode-line initialization. For illustration sake only,
you can see that the problem is worked around in this alternative version
of my_zoom_set:
function my_zoom_set (buffer) {
call_after_timeout(function () {
browser_zoom_set(buffer, false, 125);
}, 0);
}
add_hook('create_buffer_hook', my_zoom_set);
However, instead of using that workaround, for now use the methods I
talked about in my earlier post to create new windows, rather than
window.open. I'll take a more detailed look at window.open some time
later, because even though it's not conkeror's official way to open
windows, ideally it should at still work.
--
John Foerch
_______________________________________________
Conkeror mailing list
[email protected]
https://www.mozdev.org/mailman/listinfo/conkeror