With Gnome 3.0 being released I had some time to spend on the broadway Gtk+ backend.
I managed to get rid of all roundtrips, which should make remote access snappier. I also fixed a bunch of bugs and added some missing features (including in-process cut and paste).
All that stuff is nice, but not really all that interesting to show off.
However, I also implemented a cool idea I’ve had for a while about using chromeless browser windows with a canvas inside to get real toplevel windows. It turns out that this works pretty well. Although you have to disable the dom.disable_window_feature_open.location config option to get rid of the location bar at the top of each window.
Here is a short video showing how this looks: (original webm source here)
[vimeo width=”512″ height=”384″]http://vimeo.com/22092069[/vimeo]
Cool, eh? Its all in git, go play with it.
PS: I have no idea why google thinks I’m in france…
awesome work! I didn’t get the second part – that was a browser running there? firefox? i.e. that location bar less window was showing a browser running locally exported with gtk3+ broadway backend?
Alon: yes it was a gtkwebkit browser running in a firefox window.
When you open the file menu because that window is so small, if the menu were any longer it would reach past the bottom of the window. But because you can’t have separate windows for popup menus it would just disappear past the bottom of Firefox’s window right?
Is there anything that can be done for menus that are larger than their containing window?
Laszlo: I don’t think there is anything to do about that unfortunately. There are also other issues with browser windows like popup blockers, so broadway will support both modes.
Awesome!
A little nitpicking:
The Broadway HTTP-server sends “Content-Type: text/html”, but the doctype is set to xhtml 1.0 transitional. Since you are using html5, you should replace the doctype with “” and remove the xmlns-attribute from the -tag.
Great work, thanks for working on this!
I laughed pretty hard imagining you using Google in French and having no idea why. “Sacrebleu, I live in America! What is this?!”
Perhaps the shadowy Vincent Untz has something to do with it.
Arnie: I live in sweden actually.
really awesome stuff, when can we have it by default in gtk
Will it be possible to use the gtk+ apps over the internet?
What kind of protocol is used?
Great work!
I try to compile gtk from git and I want to ask : should I recompile anything else??
Since I compile it and it works ok on X11 but not in browser :
[f0rud@elbit gtk3-git]$ GDK_BACKEND=broadway gtk3-demo
(gtk3-demo:1559): GLib-GObject-WARNING **: invalid cast from `GdkBroadwayDisplay’ to `GdkX11Display’
Segmentation fault
Don’t need to rebuild anything else. Allthough if you build in a separate prefix you might want to build any theme engine you need in the same prefix.
FzerorubigD:
Did you install the gtk build? And, if you built it in a different prefix than /usr, did you set LD_LIBRARY_PATH or equivalent to pick up the library?
thanks for your reply.
I use archlinux and just modified gtk3 package from official arch repository (with the abs system) and just change the source (using git instead of gnome ftp) and add the two option to config (enable broad way and x11).
and the prefix is /usr (arch default)
So every thing is correct.
Hi
is there a chance that you can publish a how to on the HTML5 backend?
i really want to test it out on my comp..
Will it be possible to eventually switch between backends on the fly without restarting the app?