aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update Serbian translationHEADmasterМирослав Николић6 hours1-283/+403
|
* Fix menu focus bug for entire windowPierre Ossman6 hours1-2/+2
| | | | | The window also needs to be aware of the focus changes (to manage keyboard grab), not just the viewport widget.
* Merge branch 'eventtap' of github.com:CendioOssman/tigervncPierre Ossman7 days5-108/+199
|\
| * Fix access dialog z order bugPierre Ossman2025-04-242-2/+64
| | | | | | | | | | | | For some reason the macOS authentication dialog is shown behind our windows, which makes it very easy to miss. Try to manually find it and switch to it.
| * Ask user for keyboard access when neededPierre Ossman2025-04-245-2/+33
| | | | | | | | | | | | The user needs to authorize vncviewer in order to get the access needed to grab the keyboard. Show this dialog at suitable times to make sure there are no surprises why the keyboard grab isn't working.
| * Remove macOS full screen level workaroundPierre Ossman2025-04-243-32/+1
| | | | | | | | | | | | | | | | This allows us to fully be free from level fiddling now that we've switched the keyboard grab to use event taps. This will require users to build the macOS version of TigerVNC with a reasonably okay version of FLTK (1.3.9 or newer).
| * Use event taps for keyboard grab on macOSPierre Ossman2025-04-243-81/+110
| | | | | | | | | | | | | | | | | | | | These are the slightly more proper way to grab the keyboard and macOS and is what similar applications do. It avoids a lot of issues we have, e.g., problems with multiple monitors. Unfortunately we need to have the user explicitly approve this (which really is a good thing, security wise), and Apple have chosen to mark this feature as only for accessibility.
* | Override Dialog::onCommand() more properlyPierre Ossman7 days2-4/+4
| | | | | | | | The compiler will flag this as a likely mistake otherwise.
* | Merge branch 'cleanrelease' of github.com:CendioOssman/tigervncPierre Ossman2025-05-0525-83/+68
|\ \ | |/ |/|
| * Refer to the viewer as just "TigerVNC"Pierre Ossman2025-03-1316-32/+32
| | | | | | | | | | | | | | | | | | Most users will not care that there is also server components in our project, so the "viewer" or "client" qualifier is just unnecessary noise. As an added bonus, it reduces the number of places that need to be translated.
| * Be consistent in copyright and team descriptionPierre Ossman2025-03-138-10/+10
| |
| * Remove version from macOS bundle namePierre Ossman2025-03-131-1/+1
| | | | | | | | | | Other applications don't include the version number in the application name, so it's just confusing that we do.
| * Stop renaming macOS binary filenamePierre Ossman2025-03-132-2/+2
| | | | | | | | | | The user never sees this, so let's keep the original filename for consistency.
| * Use add_custom_command() for installersPierre Ossman2025-03-131-13/+18
| | | | | | | | | | | | We generate files in these targets, so let's use the proper CMake constructs for it. If nothing else, it let's CMake properly track when they need to be rebuilt or not.
| * Don't change working dir in makemacappPierre Ossman2025-03-132-6/+4
| | | | | | | | Make it more robust by having it work anywhere.
| * Remove servertarball make targetPierre Ossman2025-03-133-21/+3
| | | | | | | | | | It didn't really work anyway as it made a bunch of assumptions on how you had built Xvnc and mesa.
* | Link nettle for hogweed in static buildsPierre Ossman2025-04-241-1/+1
| | | | | | | | | | It is a requirement from hogweed, and we've apparently been lucky up until now that the ordering was correct.
* | Don't print Xvnc banner before parsing argsPierre Ossman2025-04-081-4/+5
| | | | | | | | | | | | | | If we'll be running in inetd mode, then stdout and stderr will be a client socket and not an appropriate place for logging. Mimic what Xorg does instead.
* | Avoid build type check with better variablesPierre Ossman2025-04-031-7/+4
| | | | | | | | | | | | There already exists variables for having different compile flags depending on the build type. Let's use them instead of doing conditional checks.
* | Enable mild optimizations for debug buildsPierre Ossman2025-04-031-0/+4
| | | | | | | | | | | | Primarily because _FORTIFY_SOURCE throws warnings without any optimizations enabled. But this should also make the development experience a bit nicer.
* | Silence false positive uninitilized variablePierre Ossman2025-04-031-0/+3
| | | | | | | | | | | | The compiler sometimes fails to see the symmetry between the case statement and if statement and complains about "delta" being used uninitialized.
* | Use std::string for formatting window titlePierre Ossman2025-04-031-22/+20
| | | | | | | | | | | | The compiler keeps getting confused by our manual code to avoid overflowing the buffer and throwing false warnings. Side step the issue by using std::string instead.
* | Stop saving server pixel formatPierre Ossman2025-03-306-18/+6
| | | | | | | | We haven't used that information in a decade.
* | Get desktop name from ServerParamsPierre Ossman2025-03-303-7/+10
| | | | | | | | Avoid passing arguments around more than we actually need.
* | Move colour map check to CConnectionPierre Ossman2025-03-304-9/+10
| | | | | | | | | | This is a generic thing, not specific to the FLTK viewer. It belongs in the core code.
* | Don't force everyone to implement setCursorPos()Pierre Ossman2025-03-304-10/+5
| | | | | | | | | | You need to activate the feature by setting supportsCursorPosition, so there is no point in forcing everyone to implement the handler.
* | Properly store cursor in ServerParams objectPierre Ossman2025-03-309-23/+31
| | | | | | | | | | | | We already had a field in the ServerParams structure, but we never actually stored anything in it. Let's fix that so the cursor behaves like other state we get from the server.
* | Fix accidental old style functionPierre Ossman2025-03-301-1/+1
| |
* | Avoid mixing declarations and codePierre Ossman2025-03-301-2/+3
| | | | | | | | Keep the compiler happy and get rid of noise.
* | Exclude old Xorg stuff when not neededPierre Ossman2025-03-301-0/+6
| | | | | | | | | | These things have been removed or moved to common code in Xorg 21.1, so let's avoid it in our code to get rid of warnings.
* | Remove unused CConnection/SConnection callbacksPierre Ossman2025-03-294-19/+0
| | | | | | | | These have never been used for anything and just clutter up the API.
* | Move global server checks to VNCServerSTPierre Ossman2025-03-292-10/+30
| | | | | | | | | | These are not per-client settings, so let's move the enforcement to the common server object as much as possible.
* | Move access checks to SConnectionPierre Ossman2025-03-292-6/+22
| | | | | | | | | | | | Access bits are part of SConnection, so let it handle all the basic checks as well. This allows us to reduce the complexity of VNCSConnectionST a bit.
* | Make CMsgHandler/SMsgHandler pure interfacesPierre Ossman2025-03-2912-482/+239
| | | | | | | | | | | | It's a bit confusing that some handling is done in CMsgHandler/SMsgHandler, and some handling is done in CConnection/SConnection.
* | Mark internal connection callbacks as protectedPierre Ossman2025-03-294-140/+141
| | | | | | | | | | | | These are just for interactions internally within the connection objects and their sub classes. Mark them as protected to make the API more clear, and to avoid accidental use.
* | Don't modify user settings in auto modePierre Ossman2025-03-293-19/+32
| | | | | | | | | | Only override the actively used values, not the user values that are stored and displayed in the options dialog.
* | Merge encoding changing functionsPierre Ossman2025-03-292-72/+66
| | | | | | | | Let's coordinate the logic in a single place for clarity.
* | Don't do no-op pixel format changesPierre Ossman2025-03-291-4/+6
| | | | | | | | That is just useless noise and churn.
* | Better fix for fake focus grab eventsPierre Ossman2025-03-287-71/+56
| | | | | | | | | | The fake ones have a special mode, so we can simply filter them before they are passed on as FLTK events.
* | Log invalid screen layoutPierre Ossman2025-03-282-3/+21
| | | | | | | | | | | | | | To be able to debug exactly what is wrong with the layout. Unfortunately we don't know what log level is used for actual "invalid layout" message, or if it is even logged as all, since that happens elsewhere. So let's be cautious and use a debug log level here.
* | Update Russian translationYuri Kozlov2025-03-271-289/+442
| |
* | Always build with _FORTIFY_SOURCEPierre Ossman2025-03-211-0/+1
| | | | | | | | | | This is already enabled in Ubuntu and RPM builds, so we might as well enable it everywhere so all developers and users see the same behaviour.
* | Merge branch 'phd-build-warnings-fix' of github.com:phd/tigervncPierre Ossman2025-03-212-4/+10
|\ \
| * | Fixed build warnings: ignoring return valuePiotr Henryk Dabrowski2025-03-202-4/+10
| | |
* | | Always build in verbose cmake modePierre Ossman2025-03-204-3/+11
|/ / | | | | | | Make sure we get the details in the logs, if we need to debug things.
* | Refresh screen on pixel format changePierre Ossman2025-03-203-0/+10
| | | | | | | | | | | | | | | | | | | | Make sure everything on screen has a consistent look when the client switches between different pixel formats. Use the lossless refresh mechanism to make sure this doesn't interfere with more important updates. Based on a suggestion by Piotr Henryk Dabrowski.
* | Don't wrap exceptions from readRect()Pierre Ossman2025-03-131-6/+2
| | | | | | | | | | | | | | | | This is a revert of 0ce9fef. The object slicing is causing issues, e.g. when we get a completely expected end_of_stream exception. It's unclear what exceptions we needed this wrapping for. We'll just have to remove it and see what problems we encounter.
* | Use std::exception_ptr to store exceptionsPierre Ossman2025-03-136-52/+36
| | | | | | | | This is much more robust and flexible than what we came up with.
* | Handle very early connection errorsPierre Ossman2025-03-131-3/+9
| | | | | | | | | | | | It's rare, but there are some things that can go wrong in the constructor for a new client object. Make sure we handle these and properly close the socket, rather than leave it dangling.
* | Fix bad logic in security types handlingPierre Ossman2025-03-131-1/+1
| | | | | | | | Broken in 4ff02ae.