Broadway update 2

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″][/vimeo]

Cool, eh? Its all in git, go play with it.

PS: I have no idea why google thinks I’m in france…

16 thoughts on “Broadway update 2”

  1. 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?

  2. 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?

    1. 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.

  3. 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.

  4. 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.

  5. 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

    1. 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.

    2. 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?

  6. 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.

  7. 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..

Leave a Reply

Your email address will not be published. Required fields are marked *