Brian P. Hinz [Sat, 27 Aug 2016 21:33:04 +0000 (17:33 -0400)]
Make all viewer parameters static. Viewer instances are isolated from each other by spawning a completely new process for each viewer, rather than simply starting a new thread. All dialogs were redesigned to better match the look of the native viewer, and also to be more tolerant of sizing differences between platforms.
Brian P. Hinz [Sun, 7 Aug 2016 12:44:46 +0000 (08:44 -0400)]
Major overhaul of java viewer.
This is the first of several large commits intended to resolve a
number of problems and add new capabilities to the java viewer.
Among the most significant changes are a complete re-design of
the options dialog, which has been converted to a callback style
interface. The look & feel of all dialogs are now similar to
the style of the native viewer now. Also, the process by which
new viewers are spawned has changed and each viewer is a completely
separate process, allowing for runtime arguments to be handled
statically.
Pierre Ossman [Fri, 13 May 2016 14:11:34 +0000 (16:11 +0200)]
Avoid symbol clash for Xregion functions
We might be linking our Xregion and libX11 into the same binary,
causing a clash between the symbols. In theory they should be
compatible, but that's not guaranteed. Avoid the issue by adding
a "vnc" prefix to our version.
Brian P. Hinz [Thu, 12 May 2016 01:55:56 +0000 (21:55 -0400)]
Fix to workaround non-default libtool on debian
Debian patches libtool so that the default value of
link_all_deplibs is set to 'no' rather than 'unknown',
causing transitive dependencies in shared objects to
be lost.
Pierre Ossman [Wed, 4 May 2016 15:51:19 +0000 (17:51 +0200)]
Be more paranoid about ShmCompletion events
Unfortunately HP ships a buggy X server on their thin clients
that send out extra, bogus ShmCompletion events. This screws up our
logic so we need to filter them out. Fortunately they are sent with
an invalid drawable id, so simply verify that.
Pierre Ossman [Fri, 29 Apr 2016 13:35:56 +0000 (15:35 +0200)]
Asynchronously retry update on congestion
We now get notifications when the output buffer empties, and we
already caught incoming RTT pongs, meaning we can now react at the
proper time to retry a congested update rather than use a timer.
contrib: Add ubuntu-xenial debian source package to build on xenial.
The package is based on the contrib ubuntu-trusty debian package. The
following modifications have been made:
The current tigervnc sources can be used unmodified as the .orig
tarball for the debian package, so get-orig-source.sh is gone.
The ubuntu xorg-server-sources package provides the xorg sources used
to build tigervnc. The two small patches which where in the trusty
quilt series are now applied to the xorg sources after they have been
extracted. There is no quilt series anymore at this point.
Fltk 1.3.3 is available in the xenial repositories and it is used to build
xtigervncviewer. No need to get the fltk sources. patch_fltk.sh is gone.
Fixed some dependencies to reflect changes between trusty and xenial.
Removed configure options not recognized by configure.
The install target is not called a second time for the viewer package,
but the viewer files are moved from the server installation. (Eliminate
file conflicts during binary package installation.)
Note: Some dependencies (including libfltk1.3 and xorg-server-source) are
found in the xenial universe repository only.
Brian P. Hinz [Thu, 31 Mar 2016 03:25:46 +0000 (23:25 -0400)]
Overhaul of SSH tunneling features in Java viewer
Fixes numerous problems with the SSH tunneling implementation
on the java viewer and adds many significant new SSH-related
features. SSH tunneling is now highly configurable via the
both the command line and GUI. The embedded client can parse
openssh config files. An external client may be specified,
along with a custom arguments template.
Pierre Ossman [Tue, 29 Mar 2016 12:15:38 +0000 (14:15 +0200)]
Add option to set primary selection for cut text
Previously the incoming clipboard was unconditionally set to both
the PRIMARY and CLIPBOARD selection. This isn't always what the
user want, so make it configurable.
Scott Roland [Thu, 31 Dec 2015 15:15:57 +0000 (15:15 +0000)]
Split out setPrimaryCB option in UNIX vncconfig
This is the simplest approach, with setPrimaryCB having the same
relationship to acceptClipboard as sendPrimaryCB has to
sendClipboard. This does not change vncviewer, which should probably
have something similar on UNIX platforms only.
Pierre Ossman [Tue, 29 Mar 2016 11:32:22 +0000 (13:32 +0200)]
Silence CMake link interface warning
We don't modify the link interface directly so these warnings are
just useless noise. We could in theory use the new naming instead,
but at least CMake 2.8.12 is buggy and screws up the link when that
policy is active.
Brian P. Hinz [Fri, 18 Mar 2016 02:34:52 +0000 (22:34 -0400)]
Various fixes to Java viewer UI
Significant improvements to the Java viewer UI to
make it more robust and tolerant of new tabs, fonts,
etc. TextFields and editable ComboBoxes that are
specific to integer values now only accept integer
input.
Brian P. Hinz [Tue, 1 Mar 2016 01:57:06 +0000 (20:57 -0500)]
Link libX11 dynamically
Building libX11 statically causes problems with libpthread, however
the version of libX11 that ships with el5 is too old to build libXext.
So we have to build a dynamic version of libX11 and link against that
while building. The resulting binary will actually be linked against
the system libX11, which should be ABI compatible as far as Xvnc is
concerned.
Brian P. Hinz [Thu, 11 Feb 2016 04:23:02 +0000 (23:23 -0500)]
Regression fix for Java window size
6262bac introduced a regression that resulted in a 1 pixel border
around the window on some platforms. The underlying issue was
actually caused by overriding the getPreferredSize() method in
DesktopWindow and returning the scaled width & height, which
might not have been set to valid values.
Pierre Ossman [Tue, 12 Jan 2016 09:13:17 +0000 (10:13 +0100)]
Provide description for services
The argument named "desc" was not actually the description, but
rather the short "display name". Add handling for the actual
description to reduce confusion.
Pierre Ossman [Mon, 11 Jan 2016 15:06:26 +0000 (16:06 +0100)]
Better check for on screen visibility
The check for visible drawables didn't account for compositing
which can place a window off-screen. Put all of these checks in
a common place and make sure it detects things properly.
Fix race problem with detecting listening inetd sockets
The previous detection would fail if the socket closed before we
had time to inspect it, which got us stuck in a loop as we would
try (and fail) to do accept() on a non-listening socket.