Pierre Ossman [Wed, 17 Oct 2012 07:59:20 +0000 (07:59 +0000)]
Starting in full screen was misbehaving because we were waiting
for a FL_FULLSCREEN event to set things up properly, and FLTK
doesn't emit this for a hidden window.
Pierre Ossman [Wed, 3 Oct 2012 12:21:54 +0000 (12:21 +0000)]
XFCE's window manager did not interact well with the code that avoided
accidental legacy full screen requests. Seems we need to sort that
FIXME out sooner rather than later.
Pierre Ossman [Tue, 2 Oct 2012 14:45:10 +0000 (14:45 +0000)]
Using maximize and full screen at the same time on OS X would misbehave
as we would first create a full screen window, then resize it to a
maximized site. Reorganise things a bit so that we get sensible
behaviour.
Brian Hinz [Sat, 1 Sep 2012 19:24:26 +0000 (19:24 +0000)]
Forces all dialogs except for the clipboard to be modal. Fixes cases where dialogs are not brought to the front while in fullscreen mode. Corrects a few corner cases where viewer did not exit properly.
Brian Hinz [Sun, 26 Aug 2012 21:19:19 +0000 (21:19 +0000)]
The x509ca and x509crl parameters were being set to the value of the button text. The parameter values are already set by the jfilechooser called from the options dialog, so no need to set them again anyway.
Brian Hinz [Sun, 26 Aug 2012 21:17:00 +0000 (21:17 +0000)]
Make the window actually occupy the full screen in full-screen mode (without this, other windows, such as the taskbar on Linux, will display in front of it.). Additional fixes for various full-screen mode issues (Setting FullScreen checkbox in options menu had no effect, null pointer, etc. When fullScreen and scaling options are changed simultaneously in the dialog, collapse the viewport changes into a single operation. There is still a modality issue on OS-X that will be addressed in a later patch.
Brian Hinz [Sun, 26 Aug 2012 21:02:22 +0000 (21:02 +0000)]
Make sure we send a full FBUR whenever forceNonincremental=true (which it is during the initial FBUR.) This specifically fixes an issue whereby a black screen would be displayed when initially connecting to the OS X built-in VNC server.
Brian Hinz [Sun, 26 Aug 2012 18:24:15 +0000 (18:24 +0000)]
Refactor the handshake code from first principles to remove code that was borrowed from Netty, which is released under an incompatible license (Apache v2.) Since our SSLEngineManager class was loosely inspired by, but no code was actually borrowed from, the Oracle JSSE examples, it is my opinion that it was incorrect to attribute copyright to Oracle, so that message has been removed (their examples are released under a BSD-style license, anyhow, so it's a non-issue.)
Brian Hinz [Sun, 26 Aug 2012 18:22:24 +0000 (18:22 +0000)]
Remove the AWTPixelBuffer class. After switching to using rasters in BIPixelBuffer, we can no longer find a case in which AWTPixelBuffer performs faster.
Brian Hinz [Sun, 26 Aug 2012 18:20:15 +0000 (18:20 +0000)]
Significantly improve performance by eliminating the intermediary MemoryImageSource and instead directly modifying the pixels in the BufferedImage. Supposedly, doing this causes the BufferedImage to become unmanaged. At one time, unmanaged images weren't hardware-accelerated on some platforms, but that doesn't seem to be the case with Java 1.5 and later.
Pierre Ossman [Thu, 23 Aug 2012 14:53:36 +0000 (14:53 +0000)]
X11 window managers are very buggy when it comes to having a window start
in full screen mode. So we'll resort to creating a normal window, and then
switching to full screen once it is mapped. Unfortunately it means we need
to handle delaying some resize handling.
Peter Åstrand [Thu, 9 Aug 2012 07:33:08 +0000 (07:33 +0000)]
Remove the in-tree versin of FLTK. Maintaining such a copy is way too
much work, and it's constantly out of sync. Let's document what the
main developers (ie Cendio) are using instead.
Peter Åstrand [Wed, 8 Aug 2012 11:49:01 +0000 (11:49 +0000)]
Make it possible to load and save configuration files. Also, when
connecting, the options are saved as default settings. This patch
fixes SF bugs 3481470 and 3499216.
Pierre Ossman [Fri, 20 Jul 2012 10:47:00 +0000 (10:47 +0000)]
We were not handling the "sync next" fence properly as we sent the response
right after we got the request (instead of waiting for the next command).
This created a race where we could lose pixel format sync between the client
and the server.
Pierre Ossman [Thu, 19 Jul 2012 08:40:48 +0000 (08:40 +0000)]
Implicit drawing operations (like window borders) are done by accessing
the screen pixmap directly. That means that hooking windows is insufficient.
The code now assumes that the drawable is a visible window, or the screen
pixmap (IOW, that all coordinates are screen relative). Had to restructure
some code that only worked on windows to get this working.
Pierre Ossman [Fri, 13 Jul 2012 11:22:55 +0000 (11:22 +0000)]
Implement client side multi-head support. Requires a FLTK patched to support
fullscreen over multiple monitors. Will properly report screen configuration
to the server, provided the server supports it.
Pierre Ossman [Fri, 13 Jul 2012 10:29:15 +0000 (10:29 +0000)]
Add back support for letting the client reconfigure the screen, this time
with all the RandR 1.2 multi-head goodness. Tested with Xvnc, but should
also work with libvnc.so, although it will only work for simpler cases
there.
Pierre Ossman [Thu, 12 Jul 2012 11:31:42 +0000 (11:31 +0000)]
Redo the RandR code in Xvnc/libvnc to use the modern 1.2 API. The old
stuff was a bit buggy, and it didn't really allow us to move forward.
This commit temporarily removes the ability for the client to resize the
session. It will be readded for Xvnc in a later commit. libvnc will be
without that functionality for now, as it is very difficult to get right
there.
Pierre Ossman [Wed, 4 Jul 2012 11:37:10 +0000 (11:37 +0000)]
Add menu entry to have the local window match the size of the remote desktop.
This is useful now that we no longer have size restrictions on the window.
Pierre Ossman [Wed, 4 Jul 2012 11:27:47 +0000 (11:27 +0000)]
Make it possible to dynamically resize the size of the session, when resizing
the viewer window, or when entering or leaving fullscreen mode. Initial
work done by Arthur Huillet and clohr.
Pierre Ossman [Tue, 3 Jul 2012 14:52:26 +0000 (14:52 +0000)]
GnuTLS 3.x has removed gnutls_transport_set_global_errno() in favour of
gnutls_transport_set_errno(). Make sure we call the right errno function
depending on which GnuTLS we're using.
Brian Hinz [Wed, 23 May 2012 03:40:07 +0000 (03:40 +0000)]
Shortened SSH tunneling System property names, fixed problem with parsing of '-via' cmd line option, fixed intermittent problem with SSH password dialog.
Brian Hinz [Sat, 19 May 2012 13:28:43 +0000 (13:28 +0000)]
Fixes what appears to be a Java bug on Linux. Graphics2D.copyArea corrupts the screen image when areas are shifted to the left. Benchmarking show no measurable performance impact from this change, and it seems to mitigate the problem.
Brian Hinz [Mon, 14 May 2012 02:19:41 +0000 (02:19 +0000)]
Implemented rfb/Configuration similar to the native client methods. Added equivalent cmd line options for all native client options except "-menuKey", which needs a little more work on the GUI side before it can be added.
Brian Hinz [Sun, 6 May 2012 19:18:05 +0000 (19:18 +0000)]
Re-implemented SSH tunneling features in Java viewer based on TurboVNC native client method. Adds support for string substitutions of via command, as well as a '-tunnel' option for tunneling directly to VNC server host (also support string substitutions). This implementation requires the vncServerName to be the last argument specified to the viewer, however this is consistent with the behavior of the native client and does not appear to cause any problems when using the viewer in standalone, applet, or jnlp modes.
Pierre Ossman [Thu, 26 Apr 2012 14:27:52 +0000 (14:27 +0000)]
The old Windows viewer was capable of logging to file. This is essential
on Windows as stdout/stderr don't work well there. Make sure the new
viewer also has this functionality.
Pierre Ossman [Thu, 26 Apr 2012 09:18:19 +0000 (09:18 +0000)]
Windows has a bit of a peculiarity in that winsock2.h must be included
before windows.h for correct winsock behaviour. mingw-w64 also enforces
this order, so to avoid compile errors we must include windows.h late in
all files.