summaryrefslogtreecommitdiffstats
path: root/vncviewer/CConn.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Improved clipboard APIPierre Ossman2019-07-011-5/+15
| | | | | Change the internal clipboard API to use a request based model in order to be prepared for more advanced clipboard transfers.
* Clean up internal clipboard handlingPierre Ossman2019-07-011-2/+2
| | | | | | We now filter incoming data, which means we can start assuming the clipboard data is always null terminated. This allows us to clean up a lot of the internal handling.
* Move client attributes out of ServerParamsPierre Ossman2018-11-011-12/+10
| | | | | | ServerParams should contain the server state and not information about client settings or capabilities. Move those things up a level to the CConnection object.
* Merge client resize capabilitiesPierre Ossman2018-11-011-1/+0
| | | | | | No need to have one setting for each extension. All the client code needs to indicate is if it supports resize. The common code can then map this to relevant extensions.
* Remove unused flags from ServerParamsPierre Ossman2018-11-011-1/+0
| | | | These were either completely unused, or always true.
* Move update request handling in to CConnectionPierre Ossman2018-11-011-180/+34
| | | | | It's a generic client thing, so abstract it in to the common library. Makes it easier to integrate with other common code.
* Let CMsgHandler::serverInit() handle initial set upPierre Ossman2018-11-011-5/+1
| | | | | | | Avoid using the callbacks used for runtime changes for the initial setup. They weren't really useful anyway as you could not allocate a framebuffer without also knowing the pixel format. So make things more clear by letting serverInit() get the initial settings.
* Stop requiring CConnection::serverInit() to be overriddenPierre Ossman2018-11-011-4/+2
| | | | | Add an explicit callback for subclasses to do their startup in. This makes it easier to do proper ordering, and avoids mistakes.
* Stop using fences for pixel format switchPierre Ossman2018-11-011-54/+44
| | | | | This method was only really useful when continuous updates was active, so let's rely on a single extension rather than two.
* Split out ServerParams from ConnParamsPierre Ossman2018-11-011-34/+38
| | | | | | We need to track different things in the server and client, so separate things to two independent structures to keep things more clear.
* Encapsulate screen layout storage in ConnParamsPierre Ossman2018-11-011-6/+9
| | | | | | | Avoid direct access to the screen dimensions and layout so that we can make sure it stays sane. This also makes sure the layout is properly updated when we only get the screen dimensions from the server.
* Adjust some strings so they are easier to translatePierre Ossman2018-10-251-5/+8
|
* Add support for Unix socketsPierre Ossman2018-05-291-3/+15
| | | | Patch originally by Dag-Erling Smørgrav for University of Oslo.
* Move server cut text handler to ViewportPierre Ossman2018-03-261-26/+1
| | | | | That way both incoming and outgoing clipboard are both in the same place, making things clearer.
* Replace "frames" with "updates" in statsPierre Ossman2018-03-261-4/+4
| | | | | | The VNC servers aren't great at getting full frames with each update, so avoid calling it "frames per second" in the statistics as that can be misleading.
* Add client support for LED state syncPierre Ossman2017-08-241-0/+9
|
* Allow removal of GUI prompt on fatal errorsDr. David Alan Gilbert2017-07-191-1/+2
| | | | | | | | | | | | | | | | | | | | Add a new parameter 'alertOnFatalError' which guards the displaying of the GUI alert on fatal errors, and thus when false just gives the textual error. Now I can do: while true do vncviewer alertOnFatalError=false vm:0 sleep 1 done and it'll reappear when my VM appears without me getting error dialogs. Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> --
* Display performance statistics in viewerPierre Ossman2017-02-241-1/+20
| | | | | | Adds an optional graph to the viewer to display current frame rate, pixel rate and network bandwidth. Makes it easier to debug and test performance related issues.
* Change cursor API to use RGBA dataPierre Ossman2017-02-221-2/+2
| | | | | This will allow us to use better formats that preserve the entire alpha channel.
* Do explict sync after XShmPutImage()Pierre Ossman2017-01-111-19/+0
| | | | | The complex logic waiting for events didn't result in any added performance, so use the simpler approach.
* More robust event and close handlingPierre Ossman2017-01-031-5/+9
| | | | | | There were still some circumstances where we could get stuck reading data and not respect close events properly. Move that logic to a more central place in order to make it more reliable.
* Add option to set primary selection for cut textPierre Ossman2016-03-291-1/+2
| | | | | | 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.
* Throttle overlapping screen updatesPierre Ossman2015-11-271-0/+20
| | | | | We need to make sure the display server has finished reading our previous update before we overwrite the buffer with the next update.
* Consolidate how to run the FLTK loop in one placePierre Ossman2015-11-271-7/+1
|
* Let CConnection intercept more callbacksPierre Ossman2015-11-271-0/+4
| | | | | We need more callbacks for correct operation of multi-threaded rect decoding.
* Delegate decoder object management to a separate classPierre Ossman2015-11-271-21/+1
| | | | | | | | | Done in preparation for multi-core decoding. Keeps the complexity out of the other classes. This also moves ownership of the framebuffer in to CConnection. It's the CConnection object that is aware of the threads and how to synchronise with them. Therefore the ownership of the framebuffer must also be there to make sure it isn't deleted whilst threads are working.
* Clean out unused dependencies from CConnection.hPierre Ossman2015-11-091-0/+2
|
* Terminate the viewer even when waiting for dataPierre Ossman2015-09-231-1/+7
| | | | | It should be possible to exit the viewer even if the network has stalled in the middle of a transfer.
* Display partial updates on slow transfersPierre Ossman2015-09-231-0/+16
| | | | | | | Normally we only display screen changes once we have the updates for the entire screen. This may give the impression that the viewer is hung though. So display the partial data if the update is taking to long to arrive.
* Fix mismatches between format string and argumentsPierre Ossman2015-03-031-1/+1
|
* Switch to unsigned parameters for ExtendedDesktopSize handlerPierre Ossman2015-03-031-2/+2
| | | | | The constants used here are unsigned so it makes more sense that the parameters are as well.
* Fix bad signed/unsigned comparisonsPierre Ossman2015-03-031-1/+1
| | | | | Either by casting, or switching to a more appropriate type for the variable.
* Improve some error messagesPierre Ossman2014-12-031-4/+4
|
* Add comments for translators where requestedPierre Ossman2014-12-031-0/+4
|
* Make sure user visible strings are translatedPierre Ossman2014-09-221-5/+5
|
* Split up the info stringPierre Ossman2014-09-221-22/+56
| | | | | Avoids having to translate the entire thing if just part of it changes.
* Use PixelBuffer objects as the interface for encoders and decodersPierre Ossman2014-07-141-26/+1
| | | | | | | This avoid a lot of unnecessary middle men. This also pushes the responsibility for pixel format conversion into the encoders and decoders. The new bufferFromBuffer() is used for direct conversion, rather than PixelTransformer/TransImageGetter.
* Provide a better R/W base PixelBuffer classPierre Ossman2014-07-071-1/+1
| | | | | Clearly separates the read API from the write API and also from actual implementation.
* Encoders/decoders should track the connection objectPierre Ossman2014-07-071-1/+1
| | | | | | The connection object is a much more appropriate object for the decoders and encoders to keep track of. Besides the streams, it also contains state like connection parameters.
* Push encoder and decoder handling down into the connection objectsPierre Ossman2014-07-071-9/+23
| | | | | This keeps the reader and writer objects clean and simple protocol decoders/encoders.
* Remove full support for colour mapsPierre Ossman2014-07-071-3/+4
| | | | | | | | | Gets rid of a loooot of code and complexity. Colour map clients are still supported through an automatically generated map, but we lose the ability to develop a client or server that uses colour maps internally.
* Remove magic JPEG variables from ConnParamsPierre Ossman2014-07-071-9/+16
| | | | | | Custom compression level and JPEG on/off are not inherent parts of the protocol negotiation so they do not belong in ConnParams. Let the UI frontend handle such things instead.
* Remove some premature optimisationPierre Ossman2014-07-071-0/+1
| | | | Reduces header dependencies.
* Add some missing whitespacePierre Ossman2014-07-071-0/+3
|
* Be more consistent in referring to pixel byte streams as buffersPierre Ossman2014-07-071-3/+3
|
* Printing the clipboard data is very annoying as it couldPierre Ossman2013-09-051-1/+1
| | | | | | | | include line breaks, things with the wrong character encoding and god knows what. Just print the size of the data instead. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5133 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Forgot to respect the AcceptClipboard option in thePierre Ossman2013-05-241-0/+3
| | | | | | | new FLTK based viewer. Patch by Matt McCutchen. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5112 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Fix build on 32-bit and 64-bit WindowsDRC2013-02-261-1/+1
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5051 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Reimplement -listen in the new FLTK vncviewer. Work done byPierre Ossman2013-02-151-12/+15
| | | | | | | Justina Mickonyte for Cendio. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5041 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Make it possible to dynamically resize the size of the session, when resizingPierre Ossman2012-07-041-32/+0
| | | | | | | | the viewer window, or when entering or leaving fullscreen mode. Initial work done by Arthur Huillet and clohr. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4924 3789f03b-4d11-0410-bbf8-ca57d06f2519