aboutsummaryrefslogtreecommitdiffstats
path: root/vncviewer
Commit message (Collapse)AuthorAgeFilesLines
* Capitalize even more logging and exceptionsPierre Ossman2024-11-221-1/+1
|
* Merge branch 'master' of https://github.com/madnicendio/tigervncPierre Ossman2024-11-228-19/+19
|\
| * Capitalize first letter in log, exception & errorMadeleine Nilsson2024-11-212-2/+2
| | | | | | | | The reason for this is to keep a consistency through out the project.
| * Standardize on sentence case in titlesMadeleine (ThinLinc team)2024-11-117-17/+17
| | | | | | | | The reason for this is to keep a consistency through out the project.
* | Update gettext.h to latest versionPierre Ossman2024-11-181-16/+23
| |
* | Make sure LC_MESSAGES is defined without ENABLE_NLSPierre Ossman2024-11-181-0/+12
| | | | | | | | | | This is missing on Windows by default, and will cause the build to fail if ENABLE_NLS is disabled.
* | Use (void) to mark unused arguments in gettext.hPierre Ossman2024-11-181-3/+3
| | | | | | | | | | Some compilers don't consider (const char*) enough of a marker and will complain.
* | Use std::string for connection infoPierre Ossman2024-11-183-55/+37
| | | | | | | | Avoid truncation problems with the fixed size buffers.
* | Make arguments as unused without GnuTLSPierre Ossman2024-11-181-0/+5
| |
* | Merge branch 'mouse-button-support' of https://github.com/CendioHalim/tigervncPierre Ossman2024-11-184-22/+38
|\ \
| * | vncviewer: support for back/forward mouse buttonsAdam Halim2024-10-224-15/+31
| | | | | | | | | | | | | | | | | | | | | | | | This commit implements the pseudo-encoding ExtendedMouseButtons which makes it possible to use the back/forward mouse buttons. This commit contains work originally done by PixelSmith <manny33@frontbuffer.com>.
| * | Use bit shifts for mouse buttonMaskAdam Halim2024-10-221-7/+7
| | | | | | | | | | | | | | | It makes more sense to use bit shifts instead of decimals for each button.
* | | Merge branch 'stdexcept' of github.com:CendioOssman/tigervncPierre Ossman2024-11-0714-173/+186
|\ \ \ | |_|/ |/| |
| * | Use standard library naming for exceptionsPierre Ossman2024-11-066-36/+36
| | | | | | | | | | | | | | | This makes things more consistent since we mix with the standard library exceptions so often.
| * | Replace base exception class with standard libraryPierre Ossman2024-11-064-2/+10
| | | | | | | | | | | | | | | There is no point to having our own generic exception class. Let's use the one provided by the standard C++ library.
| * | Use standard exception classesPierre Ossman2024-11-069-64/+72
| | | | | | | | | | | | | | | Use the more specific already included exception classes for common errors to keep things more understandable.
| * | Subclass exceptions from std::exceptionPierre Ossman2024-11-067-35/+30
| | | | | | | | | | | | | | | Make sure our exceptions are part of the standard exception class hierarchy.
| * | Use what() to access exception descriptionPierre Ossman2024-11-066-41/+41
| | | | | | | | | | | | Harmonize with the standard C++ exceptions.
| * | Use static string for exceptionsPierre Ossman2024-11-062-20/+22
| | | | | | | | | | | | | | | In preparation for using the built in C++ exception classes, which do not accept a format string.
* | | Keep saved username/password between connectsPierre Ossman2024-11-042-2/+5
|/ / | | | | | | | | | | The UserDialog object is now only created for a single connection at a time, which means we need to make sure the cached username and password survive until the subsequent object.
* | Use getHostAndPort() to handle -viaPierre Ossman2024-10-171-43/+15
| | | | | | | | | | | | Avoid duplicating this parsing as that will just increase the risk for bugs. And in fact, this duplicated code already does not handle all cases properly.
* | Merge branch 'errno' of github.com:CendioOssman/tigervncPierre Ossman2024-10-095-32/+32
|\ \
| * | Split SystemException to handle WindowsPierre Ossman2024-10-094-31/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Windows has (at least) two error namespaces, both errno and GetLastResult(). These overlap, so it is important we keep track of which one we are dealing with. To make things extra problematic, the BSD socket API normally uses errno, but on Windows it has been mapped in to the GetLastResult() namespace. Try to keep better control of this by using separate classes for the namespaces.
| * | Consistently use SocketException for socket errorsPierre Ossman2024-10-091-1/+1
| |/ | | | | | | | | | | The behaviour is not consistent as Windows doesn't use errno for socket errors, but Unix systems do. Always use the same exception to keep things somewhat sane.
* | Clear clipboard state when its not plain textSamuel Mannehed2024-10-021-0/+3
| | | | | | | | | | | | | | | | | | | | Commit 8a80c906b9f7c08b1c664569a97d327d62c6d8ae added a check to prevent announcing clipboard when it's not plain text data. When this check triggers and we want to ignore the non-plain text clipboard, we should reset the state by no longer indicating pending clipboard, and by asking the server to clear its clipboard. This ensures we don't end up in a state where the server thinks the viewer has useful clipboard data, but it doesn't.
* | Only announce clipboard for plain text dataSamuel Mannehed2024-10-011-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | FLTK has support for both image and plain text clipboard data, we don't. This means we only send plain text clipboard from the viewer to the server. Some applications can get confused when we announce that clipboard is available and later don't send anything. An example of such an application is QGIS, in the remote session it froze when an image was copied on the client side. This fix means we only call announceClipboard() when the clipboard contains plain text. That means TigerVNC is now more robust and doesn't trigger freezes in buggy applications.
* | Explicitly clean up grabs on disconnectPierre Ossman2024-09-231-0/+5
|/ | | | | They are not automatically cleaned up with the window on Windows, and we might want to reconnect so we cannot rely on the process cleanup either.
* Filter duplicate server history entriesPierre Ossman2024-09-061-4/+42
| | | | | | | | A server can be specified in many different ways, so it is easy to get multiple entries in the history for the same thing. Get rid of these by parsing each entry and comparing with existing entries.
* Move recent server to top of historyPierre Ossman2024-09-061-6/+5
| | | | | It's easier for the user if the most recently used entries are at the top.
* Use std::list for server historyPierre Ossman2024-09-064-18/+25
| | | | | We don't need random access to the entries, so a list fits just as well. It also has better accessors we need.
* Handle server history with '/' in entriesPierre Ossman2024-09-061-1/+3
| | | | This happens if you've connected to a server using a Unix socket.
* Add more usage of SystemExceptionPierre Ossman2024-09-043-15/+22
| | | | | Prefer this exception for failures involving errno as it gives a better error description.
* Merge branch 'master' of https://github.com/0-wiz-0/tigervncPierre Ossman2024-08-301-0/+2
|\
| * vncviewer: add missing include for struct timevalThomas Klausner2024-08-301-0/+2
| |
* | Only read first password from filePierre Ossman2024-08-301-1/+1
| | | | | | | | | | | | | | | | Read just the first password and ignore anything else in the password file. This allows you to reuse a password file from the server that also includes a view-only password. This fixes a regression introduced in b99daad.
* | Move getUserPasswd()/showMsgBox() to CConnectionKang Lin2024-08-306-23/+36
| | | | | | | | | | Problems with the original code: A process can only establish one connection. After modification, multiple connections can be supported.
* | Improve error messages for base directory creationPierre Ossman2024-08-293-7/+10
| |
* | Handle failure getting VNC directoriesPierre Ossman2024-08-291-6/+25
| | | | | | | | | | Although rare, there are cases where we might fail to determine our base directories. Make sure the code can handle it.
* | Move base directory creation to helper functionPierre Ossman2024-08-291-25/+31
| | | | | | | | This is non-trivial now, so let's modularize this a bit.
* | Add FIXME comment regarding macOS minimise fixLinn Mattsson2024-08-271-0/+2
|/ | | | | | | | | An issue with minimise not working when in fullscreen on macOS was workaround in Pull Request #1813. The underlaying issue is currently unknown. macOS native fullscreen mode was looked into, but no clear answer was given. See #1813 for details.
* Apple only: exit FL_Window fullscreen if active in order to minimize.Rudimar Ronsoni Jr2024-08-191-0/+4
|
* Fix typosAndrew Kreimer2024-08-121-2/+2
|
* Don't adjust manually sized windowPierre Ossman2024-08-121-7/+0
| | | | | | | It's unclear why this code was ever added, and it can be very confusing that the window partially adjusts itself. The code is also in conflict with the earlier comment that states we'll leave the window size alone if it didn't perfectly match before the resize.
* Better type for pointer button maskPierre Ossman2024-08-124-15/+15
| | | | | This is a very limited bit field, so use an 8 bit type to clearly show how many bits are available.
* Don't ask for login data when reconnectingJohannes2024-08-075-2/+57
|
* Better error message for authentication failurePierre Ossman2024-08-071-0/+4
|
* Correctly handle cancelled authenticationPierre Ossman2024-08-072-1/+5
| | | | | We should not be throwing up error messages, or asking to reconnect, if the user has actively cancelled the authentication attempt.
* Avoid shadowing variablesPierre Ossman2024-06-2414-98/+114
| | | | | It's a source of confusion and possibly bugs to reuse the same variable name for multiple things.
* Use "static" for helper functionsPierre Ossman2024-06-242-3/+3
| | | | | These functions act only on the input parameters, so let's make them static to more clearly indicate that they do not act upon any object.
* Simplify code using range-based for loopsPierre Ossman2024-06-244-42/+32
| | | | | | | | | These are often more readable as they avoid a lot of the boilerplate of iterating over fixed arrays or STL containers. Note that this change is very conservative to avoid noise in "git blame". Only loops where this is a clear improvement have been converted.