Fix regression that omitted support for client redirect.
Also, delay showing DesktopWindow until first valid rect has been
recieved. This allows for a ClientRedirect to take place before
any data rects have been received.
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.
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.
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.
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.
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.
95f39a5 introduced a regression whereby an exception would be thrown
when a PEM encoded CA certificate file containing one or more blank
lines was read in under Apple Java 6. Additionally, CA certs were
being appended to the ~/.vnc/x509_savedcerts.pem file even if they
were already included in it. Also fixes a possible FileNotFoundException
if the x509_savedcerts.pem file didn't exist.
Fixes #193 and also adds automatic certificate saving feature like
the Fltk viewer. Also pulls in CA certificates from all trusted
authorities known to the JRE for the case when the server is using
a certificate from a top-level authority.
Add multiple monitor spanning feature to java viewer
Adds support for spanning multiple monitors in "Extended" mode
to the Java viewer. Allows for spanning when maximizing in
addition to just full-screen mode. Seems a bit unpredictable on
MS Windows 7 (ie: depends on window placement, which screen is
set as primary, etc.), but this appears to be the behavior of
the OS itself.