Broadway update 3

This week saw some new updates of the broadway backend. We now have a in-browser window manager for the non-toplevel window mode, and the backend now support a bunch more features.

I don’t want to bore you with technical mumbo jumbo though. Lets see some video instead! (Original source availible here)

[youtube width=”512″ height=”384″]http://www.youtube.com/watch?v=AO-qca9ddqg[/youtube]
This will be the last update in a while, as I need to spend time on other things. The code is in a pretty good shape though. There are still things to do, but most things work.

Update: Tested this with safari on OSX, and it worked too. Also we now have nicer browser-side window decorations.

40 thoughts on “Broadway update 3”

  1. While I’m not convinced running applications inside a web browser (well, painting applications, actually) is a good idea, you really deserve tons of recognition for the incredible feat you’ve achieved.

    Like the idea or not, it’s just amazing from the purely technical point of view. I take my hat off to you.

  2. Is this the beginning of the end of good’ol vnc?
    Anyhow – Thanks for this, gnome has a bright bright future thanks to devs like yourself

  3. Cairo and Canvas seem to have very similar APIs it would be cool if cairo stuff could tunnel through and be rendered using canvas in the broiwser.

    1. Leif: The WM decoration CSS was based on some existing css that looked like vista. I just landed a new adwaita-based look from one of the gnome designers (lapo).

  4. Have you tried if it runs firefox? (I herd you like browsers, so I put a browser in your html so you can browse html while you browse html)

    1. David: Firefox isn’t gtk 3, and it has a bunch of X specific code, so it doesn’t work. There is a gtk 3 port going on though, so it might be possible soon.

  5. So, if you combined this with emscripten, you could translate the C code to JavaScript and run that in the browser too, drop the web server, and directly execute an entire GTK+ application in the browser.

  6. alexl: I see what you did there!

    [WORDPRESS HASHCASH] The poster sent us ‘0 which is not a hashcash value.

  7. When I heard rumors that X may eventually die because no one cares about a “network transparent” window manager part of me died. Despite its performance issues and hiccups it was one of my favorite “to use in a pinch” linux features. You’ve just filled me with hope and got me excited for the future again. This is brilliant. Thank you!

    I’ll have to go back and read to see what this is all about, but great stuff! Does this mean we’ll be able to forward our GTK apps to our remote browsers one day?

  8. Can we use this to easily port our gtk applications to android? Could we just run them in google-chrome?

    1. Browser windows still work (append ?toplevel to uri to enable), but it has various issues that are hard to fix. The primary problem being that popups (like menus) can’t extend outside the window.

  9. ahhh, thanks for both. developing this and information;) and since it was long ago since i last used any menu in my application, this is best news i could possibly hope for.

  10. Hi,

    is it possible to launch the app from within browser, but run it outside the browser? (somewhat like a special browser session with no menu/bar and stretchable borders)

    Also, this thing needs to be done -just right- to succeed. otherwise it may end up as an interesting computer science project.

    it has immense potential (if done right).

    I want to try on my home server. is it(broadway) available for public download?

    thank you.
    Rajeev

  11. I want to see the Totem video player running with the GTK broadway backend. You should be able to put an HTML5 video on top of the canvas and use javascript to controll it.

  12. alexl:
    If I build gtk3 with broadway backend enabled and try to start a gtk binary I will get a segfault with a warning:
    $ GDK_BACKEND=broadway gnome-calculator
    (gnome-calculator:19736): GLib-GObject-WARNING **: invalid cast from `GdkBroadwayDisplay’ to `GdkX11Display’
    Segmentation fault

    I’ve modified the latest gtk3 package from ubuntu (added –enable-x11-backend –enable-broadway-backend to configure parameters) and build it on https://launchpad.net/~dnjl/+archive/experimental.
    Do I need something else?

  13. @dnjl:
    I’ve tested your broadway enabled gtk3 libs but I get this error:

    $ GDK_BACKEND=broadway /usr/bin/gtk3-demo

    Gdk-ERROR **: Unsupported GDK backend: broadway
    aborting…

    What is my mistake?
    Gigi

  14. Looks cool, but wait! What about the security? I always thouhgt GTK+/Glib/… was not considered secure enough to be used “over the Internet”.

Leave a Reply

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