Re: supporting all X (not only gtk+) applications in browser

On 01/09/13 00:21, Yuhao Zhu wrote:
Hi All,

I am not sure if this is the right place to post this.  But I saw this
in this mailing list.  It is about rendering gtk+ applications in firefox.

I think it is a good idea to run desktop applications in web browsers,
which basically acts as a container.  The caveats of the Chrome OS is
that users can't use real full version of all sorts of fancy software,
but have to suffer the trimmed online version.  Imagine we can really
have a "Browser OS" where the browser is the only software, which could
do conventional browsing, as well as (remotely) run desktop applications.

That patch in gtk+ sorts of does this, but as per my understanding
(please correct me if wrong), it transfers pure pictures/pixels, and
only deals with gtk+ applications.  However, why can't we just intercept
the communication between X clients and servers, and render in the
browser.  All we have to do is to ask X server to render the client in
the browser tab (probably in a canvas) instead of as a standalone
application.  In this way, we don't have to transfer pictures -- we are
just re-routing the X rendering to the browser.  Supporting Wayland is
also possible, and probably better.

Imagine that we can host all sorts of fancy desktop software in central
servers in the cloud, and users just have to open the browser, get
access to remote server, and they can use them!  In this way, all data
is stored on the cloud, rather than constantly synch-ing with the server!


gtk-devel-list mailing list
gtk-devel-list gnome org

Yes, great idea but I'd advice you to google strongly first, since you can find this in GTK+3 documentation:

"Using GTK+ with HTML5

The GDK Broadway backend provides support for displaying GTK+ applications using HTML5 and Web sockets. To run your application in this way, select the Broadway backend by setting GDK_BACKEND=broadway. Then you can make your application appear in a web browser by pointing it at Note that you need to enable web sockets in your web browser."

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]