Bug 38

Summary: Solitary X11 applications: VNC seamless windows
Product: ThinLinc Reporter: Anders Subotic <subotic@cendio.se>
Component: VNCAssignee: Peter Åstrand <astrand@cendio.se>
Status: NEW QA Contact: Bugzilla mail exporter <bugzilla-qa@cendio.se>
Severity: Enhancement    
Priority: P2    
Version: 1.1   
Target Milestone: LowPrio   
Hardware: PC   
OS: Linux   
Acceptance Criteria:
Bug Depends on: 4465, 4466    
Bug Blocks:    

Description From cendio 2002-06-12 16:24:51
Enstaka X11-applikationer (seamless windows): Undersöka möjligheter att dela ut
enstaka X11-applikation. TightVNC stödjer numera storleksändring av
framebufferten, men ej i X11-servern. Undersök ifall det går att använda
tekniken på något sätt. Dock måste vi nog   kunna köra flera frambuffers
samtidigt, för dialogrutor etc. Titta på libvncserver:

Solitary X11 application (seamless windows): Investigate if and how solitary
applications can be published. TightVNC now supports changing the size of the
frame buffer, but not in the X11 server. Investigate if the TichtVNC techinque
can be utilised in some way. Probably we will have to run several frame buffers
in parallell in order to manage dialogues etc. Look at libvncserver:
------- Comment #1 From cendio 2003-10-31 14:33:40 -------
It seems like "Citrix Metaframe presentation server for UNIX" actually are
*one* Xserver for all applications, but with a special window manager. This is
probably the way to go. 

Re-targeting to 1.4. 
------- Comment #2 From cendio 2004-04-02 13:32:01 -------
Should implemented RDP seamless windows first. This means that VNC seamless
windows have to wait until 1.5/2.0. 
------- Comment #3 From cendio 2004-06-29 08:58:08 -------
This project might be useful:

------- Comment #4 From cendio 2005-04-25 10:57:19 -------
The preliminary target milestone is 1.5. We should start with the Windows
client.  Decision from produktråd 2005-04-21. 

This is a large bug. Many customers and partners are interested. 
------- Comment #5 From cendio 2006-01-31 07:35:21 -------
Another link: http://www.karlrunge.com/x11vnc/
------- Comment #6 From cendio 2006-06-02 16:29:25 -------
Today I gave a presentation about Seamless Windows to Peo, Henrik and Johan.
presentation is available as /home/peter/thin/workshop-seamless.odp. My main
points were:

* Seamless Windows for Windows-to-Windows is a crowded market, with several
products (Windows Longhorn, 2X ApplicationServer etc)

* ThinLinc is by nature sub-optimal for Windows-to-Windows application
publishing, mainly because TL is a Linux-based product. 

* Implementing a full application publishing/SW solution requires many things
that we do not present have, such as local drive access, PDA access, clip board
support for all formats etc. 

See the presentation for details. In the end, all agreed on that we should
implement a full-blown seamless windows mechanism now. We could however, make
small enhancements that will also be beneficial to non-seamless customers. This

* Support for changing session size dynamically (bug 2043)

* Support for multiple sessions per user (bug 715)

* Support for passing a command to execute from the client (bug 2044)

Some or all of these enhancements could be consider for the next release
------- Comment #8 From cendio 2007-01-02 13:55:40 -------
Note: Some Novell guy is working on single-app mode in TightVNC. See
------- Comment #10 From cendio 2007-03-30 14:53:32 -------
The time estimation is just a sum of bug 2043, 715, and bug 2044.
------- Comment #11 From cendio 2007-11-20 09:08:04 -------
This was requested at the user conference.
------- Comment #12 From cendio 2011-11-01 14:43:24 -------
The Matchbox WM seems to work great for this use case. 
------- Comment #13 From cendio 2012-09-05 14:48:07 -------
I've tried Matchbox now. Bad news:

The documentation is lagging behind. The Freecode data is not updated. The
download page is blank (https://matchbox-project.org/sources.1.html). The
"older releases" link is broken. yumdownloader cannot find a source package.
The link to the Bugzilla (http://bugzilla.openedhand.com/) only leads to a page
which says 
"Intel acquires OpenedHand". The Subversion repository is broken as well. 

However, on the positive side: It seems to be a quite small and nice window
manager. It is available by default in Fedora, CentOS and RHEL6, probably in
others as well. Not in RHEL5 though. 

I've tried it with ThinLinc by entering this Start Command into the client:

matchbox-window-manager & firefox

It works very well! Especially in conjunction with the dynamic resize.
Basically, there's only one problem:

* In the default configuration, even main the main window has a title bar. It
has a X button for closing the app, as well as a "window meny" which becomes
active if you have more than one application. It allows you to switch between
apps. The only problem is that this gives you "double" title bars, since you
have the tlclient title bar as well. 

* You can use the option "-use_titlebar no" to avoid the problem above.
However, you cannot close the app easily, and there's no way to switch between
windows (especially since Firefox has apparently removed the Window menu). 

I guess the ideal solution would be to have a small title bar with a "X"
button, to allow closing the app, but without any title. Instead, transfer the
title to the VNC viewer by changing the VNC "desktop name". Could be a nice
hack, shouldn't be too hard when we have mended vncconfig. 

In general, I'm somewhat keen on introducing some command such as "tl-appwm"
which could be a wrapper for whatever WM and settings we find most suitable for
publishing Unix applications. Or, perhaps a command which starts the WM and
then runs the specified commands. We could even start shipping MatchBox without
any modifications.
------- Comment #14 From cendio 2012-09-05 16:36:16 -------
My plan is to create a single app profile on the demo system. However, there
seems to be some kind of incompatibility with that Firefox version and Matchbox
1.2. Need to check.
------- Comment #15 From cendio 2012-09-10 12:03:01 -------
(In reply to comment #14)
> My plan is to create a single app profile on the demo system. However, there
> seems to be some kind of incompatibility with that Firefox version and Matchbox
> 1.2. Need to check.

A Firefox profile was added to usdemo last week. 

The problem with eudemo is reported here: 

I've managed to work around it by building MatchBox as a 32 bit application. A
profile to eudemo has been added as well.
------- Comment #16 From cendio 2012-09-10 12:05:46 -------
(In reply to comment #15)

> I've managed to work around it by building MatchBox as a 32 bit application. A
> profile to eudemo has been added as well.

Btw, I was building Matchbox in conjunction with libmatchbox, like this:

# cd libmatchbox-1.9
# ./configure --disable-xft --enable-pango --enable-shared=no --enable-jpeg
# make
# make install

# cd matchbox-window-manager-1.2
# export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
# ./configure CFLAGS="-m32
# make
# make install
------- Comment #17 From cendio 2012-11-29 16:26:22 -------
Note: On Ubuntu 11.04, Matchbox+Firefox seems to be fundamentally borked. 

On Ubuntu 12.04, it works if you override the broken default Ubuntu theme, like

matchbox-window-manager -theme MBOpus

Relevant versions:

11.04: matchbox-window-manager    1.2-3ubuntu2
12.04: matchbox-window-manager    1.2-7ubuntu1
------- Comment #18 From cendio 2015-01-29 21:03:13 -------

------- Comment #19 From cendio 2016-06-01 12:23:16 -------
(In reply to comment #5)
> Another link: http://www.karlrunge.com/x11vnc/