aboutsummaryrefslogtreecommitdiffstats
path: root/vncviewer
Commit message (Collapse)AuthorAgeFilesLines
* Fix some inappropriate format specifiersPierre Ossman2020-06-182-7/+7
| | | | A "0x" prefix suggest hexadecimal values, not decimal.
* Use hypot(x,y) instead of sqrt(x*x + y*y)Samuel Mannehed2020-06-151-5/+3
|
* Fix typos in commentsSamuel Mannehed2020-06-051-2/+2
|
* Add proper spacing to if statementsSamuel Mannehed2020-06-041-2/+2
|
* Add constant for TWOTOUCH_TIMEOUTSamuel Mannehed2020-06-041-1/+4
|
* Don't catch exceptions by valuePierre Ossman2020-05-311-1/+1
|
* Move pgettext_aux() declaration earlierPierre Ossman2020-05-311-2/+2
| | | | Some compilers get upset if a declaration comes after the definition.
* Support touch gestures on WindowsSamuel Mannehed2020-05-294-10/+565
| | | | | | | | | | This adds the same touch gesture support for Windows as already added for Unix. Note that it uses Windows gesture detection instead of our own here though to give the user a familiar experience. Unfortunately that means we lose the three finger tap. This also raises the base requirements to Windows 7 as that's when Windows got proper touch support.
* Implement touch gesture handling on UnixAaron Sowry2020-05-298-21/+1054
| | | | | Allows the user to perform certain important mouse operations using touch gestures instead.
* Cancel AltGr timeout on mouse events as wellSamuel Mannehed2020-05-292-16/+33
| | | | | | | | | | We have a timer after Ctrl is pressed in order to see if an Alt will come right after. Ctrl + Alt is what windows sends for AltGr. If a key other than Alt was pressed we knew that we could cancel this timer, this commit extends that to mouse events too. Since this detection breaks the true order of events we want to make a decision as fast as possible.
* Implement X Input pointer handling for UnixAaron Sowry2020-05-297-19/+644
| | | | | | | | Switch from using Core events to using X Input events for pointer devices in order to differentiate between mouse events and touch events. Because FLTK doesn't understand X Input 2, we intercept these events and translate them to core events where possible.
* Ignore bogus FL_MOVE events from FLTKSamuel Mannehed2020-05-261-0/+6
|
* Fix position for click and drag with EmulateMBAlex Tanskanen2020-05-262-13/+63
| | | | | | | If you have the setting "Emulate middle mouse button" turned on, a click and drag can fail if it is done very quickly. The position of the initial click will be incorrect in such a case because the timeout will delay events.
* Open X11 display properlyPierre Ossman2020-05-261-7/+7
| | | | | | | We need to make sure everything happens in the correct order during startup for the X11 display to open correctly. Primarily it means we need to parse the arguments and open the display before anything might make any X11 calls, as we may have a -display argument.
* Remove default config alertPierre Ossman2020-05-261-2/+0
| | | | | We don't exit here, so it's not a fatal error. It's also a fairly common scenario, so remove the alert completely.
* Use exit_vncviewer() for early errorsPierre Ossman2020-05-201-12/+16
| | | | Makes things more consistent and avoids surprises.
* Merge branch 'systemd' of https://github.com/CendioOssman/tigervncPierre Ossman2020-04-024-9/+9
|\
| * Use standard install dir variable namesPierre Ossman2020-03-123-8/+8
| | | | | | | | | | This makes our builds directly compatible with most distributions without packagers/users having to specify extra flags.
| * Start sessions via PAMPierre Ossman2020-03-121-1/+1
| | | | | | | | | | | | | | | | | | This sets up a more correct session as there are key tasks that need to be performed by PAM. E.g. systemd will allocate cgroups and start base services. In order to easily handle this as a system service the mapping of displays is now done via a configuration file.
* | Do maximize more properly on macOSPierre Ossman2020-03-263-7/+9
| |
* | Don't resize viewer window when maximizedPierre Ossman2020-03-263-1/+47
|/ | | | | Most window managers won't like this, and it tends to provoke bugs in FLTK, so let's avoid it. It's probably not what the user wants anyway.
* bug fix for user is NULLJiuyang liu2020-02-101-1/+1
|
* add manJiuyang liu2020-02-101-1/+2
|
* implement username/password from env.Jiuyang liu2020-02-061-0/+13
|
* Update copyright year to 2020Pierre Ossman2020-01-162-2/+2
|
* Add emulated middle mouse buttonAlex Tanskanen2020-01-1610-17/+384
| | | | | | | | Not every mouse has three buttons e.g. laptops. Some OS might not have support for middle mouse button emulation. This commit adds emulation for middle mouse button when pressing both left and right mouse button simultaneously.
* Remove "Dismiss menu" from context menuAlex Tanskanen2020-01-091-8/+2
| | | | | This was not necessary since you could use ESC key or simply just clicking outside of the context menu to close the menu.
* Allow XK_Scroll_Lock when LED state isn't supportedPierre Ossman2020-01-031-1/+1
| | | | | Otherwise such clients cannot use Scroll Lock at all, and that is probably worse than any effects we might get from getting out of sync.
* Provide correct dimensions for XShm setupPierre Ossman2019-12-302-4/+4
| | | | | | Since 53f913a we initialize the underlying PixelBuffer with 0x0 dimensions, which means we need to keep more explicit track of what we are trying to allocate in the setup methods.
* Set initial blank cursorPierre Ossman2019-12-231-3/+6
| | | | | | | | If the server doesn't support local cursors and want to render them itself then we need to make sure the local cursor is invisible. This also makes sure we always have some cursor allocated, so we can remove the checks in some places.
* Fix maximum compress lvl in parameter listSamuel Mannehed2019-12-202-2/+2
| | | | | Commit 4e61f8dbc51f83b1d71319b763fbd4d916d13e98 fixed the GUI but forgot to change the other places in the code.
* Use the correct minimum value for compression lvlSamuel Mannehed2019-12-201-1/+1
| | | | | | There was even some confusion in the RFB protocol regarding this, but the zlib implementation confirms that accepted values for compression level is 0-9.
* Use the correct maximum value for compression lvlSamuel Mannehed2019-12-201-1/+1
| | | | The GUI incorrectly noted the max level to be 6 while it in fact is 9.
* Remove confusing note about compression levelSamuel Mannehed2019-12-201-1/+1
| | | | Even if this note is true it just adds confusion.
* Simplify color level descriptionsSamuel Mannehed2019-12-202-6/+5
| | | | | | The number of colors used isn't something the end-users should have to concern themselves with. I intentionally left the information in the man-pages.
* Merge branch 'secfix' of https://github.com/CendioOssman/tigervncPierre Ossman2019-12-201-5/+4
|\
| * Encapsulate PixelBuffer internal detailsPierre Ossman2019-11-151-5/+4
| | | | | | | | | | | | Don't allow subclasses to just override dimensions or buffer details directly and instead force them to go via methods. This allows us to do sanity checks on the new values and catch bugs and attacks.
* | Check the correct stream if there is more data pendingPierre Ossman2019-12-091-1/+1
|/ | | | | | The input stream might no longer be the raw socket, so we need to query what's currently active. That wrapping stream might have its own buffering and may have more data even if the socket is drained.
* Don't show the context menu hint when no hotkeySamuel Mannehed2019-10-251-2/+5
|
* Merge branch 'exclipboard' of https://github.com/CendioOssman/tigervncPierre Ossman2019-07-017-104/+137
|\
| * Support extended clipboard transfersPierre Ossman2019-07-011-0/+5
| | | | | | | | | | | | | | Implements support in both client and server for the extended clipboard format first seen in UltraVNC. Currently only implements text handling, but that is still an improvement as it extends the clipboard from ISO 8859-1 to full Unicode.
| * Use UTF-8 in clipboard APIPierre Ossman2019-07-011-11/+5
| | | | | | | | | | In prepartion for better clipboard extensions that can send Unicode data between the client and server.
| * Improved clipboard APIPierre Ossman2019-07-016-84/+130
| | | | | | | | | | Change the internal clipboard API to use a request based model in order to be prepared for more advanced clipboard transfers.
| * Add UTF-8 to/from ISO 8859-1 conversion routinesPierre Ossman2019-07-012-31/+15
| | | | | | | | | | We convert between UTF-8 and ISO 8859-1 (latin 1) in several places so create some common routines for this.
| * Clean up internal clipboard handlingPierre Ossman2019-07-016-13/+13
| | | | | | | | | | | | 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.
| * Make sure clipboard uses \n line endingsPierre Ossman2019-07-011-6/+10
| | | | | | | | | | | | This is required by the protocol so we should make sure it is enforced. We are tolerant of clients that violate this though and convert incoming clipboard data.
* | Properly mark overloaded methods with virtualPierre Ossman2019-06-181-3/+3
| | | | | | | | Makes it easier to see what is overloaded and what isn't.
* | Request keyboard grab ability under XwaylandPierre Ossman2019-06-182-0/+23
|/ | | | | We're usually white listed, but let's be a good citizen and formally request the keyboard grab ability from the compositor.
* Always get raw keyboard layout on macOSPierre Ossman2019-04-041-1/+1
| | | | | | | | | | Some input sources are still using input methods even though they claim to be "ASCII" input. This causes our input handling to fail since we need to query the layout to handle dead keys. Fortunately there is another API to get the raw, underlying input source that the input method uses. So let's use that and be sure that we're always getting something we can use.
* replace free with delete[]Marcel Schneider2019-04-031-2/+2
|