summaryrefslogtreecommitdiffstats
path: root/unix
Commit message (Collapse)AuthorAgeFilesLines
...
* Push query connect timeout back in to XvncPierre Ossman2017-10-042-5/+28
| | | | | | It was moved to the common code in f8e3b34c6, but it was unreliable because the state could sometimes get out of sync. Push it back in to Xvnc since it isn't necessarily something all servers will have.
* Don't queue a query if it is directly rejectedPierre Ossman2017-10-041-6/+6
| | | | | Otherwise we'll wedge the desktop object which expects an approval or rejection to eventually show up.
* Get rid of getFbSize()/getDesktopSize() in commonPierre Ossman2017-09-222-5/+0
| | | | It was only used by WinVNC, so push it there instead.
* Handle unknown keysyms properly in x0vncserverPierre Ossman2017-09-151-1/+1
| | | | | We would accidentally store they keycode 0 for unknown keysyms, wedging the lookup table.
* Handle XKB groups properly in x0vncserverPierre Ossman2017-09-151-2/+5
|
* Update mouse cursor position in x0vncserverPierre Ossman2017-09-151-0/+8
| | | | | This is necessary to make sure the server side rendered cursor works properly.
* Only select XFixes event oncePierre Ossman2017-09-151-11/+4
| | | | | We never un-select it, and it's not a problem if we get extra ones so register it once right away.
* Merge branch 'cursor' of https://github.com/alanc/tigervncPierre Ossman2017-09-152-2/+93
|\
| * x0vncserver: Use Xfixes to display cursors if availableAlan Coopersmith2017-08-052-12/+106
| | | | | | | | | | | | | | | | | | | | https://github.com/TigerVNC/tigervnc/issues/361 This is a simple implementation that refetches and transforms the cursor image every time it changes, and doesn't use the cursor naming functions of the XFixes extension to save & cache cursor images. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* | Merge branch 'x0vncshift' of https://github.com/CendioOssman/tigervncPierre Ossman2017-09-151-4/+52
|\ \
| * | Respect modifiers in x0vncserverPierre Ossman2017-08-211-4/+55
| |/ | | | | | | | | | | | | | | | | | | Using XKeysymToKeycode() often gives the incorrect keycode as it doesn't respect the current modifier state. Use XKB to find the proper key instead. This however also means that we need to track the mapping for all pressed keys to make sure we know the correct keycode when it is time to release the key.
* | Fix indentation bugPierre Ossman2017-09-111-1/+3
| |
* | Add support for raw key codes to Xvnc/libvnc.soPierre Ossman2017-09-117-10/+456
| |
* | x0vncserver: keyEvent(): use scancodes if availablePeter Korsgaard2017-09-115-2/+424
| | | | | | | | | | | | | | | | | | | | | | | | Use the client provided (using QEMU extendend key event) scancodes if available instead of reverse mapping the keysym. X11 unfortunately uses keyboard driver specific keycodes and provides no direct way to query this, so guess based on the keyboard mapping. Handle the two most likely keyboard drivers, the old xorgkbd and evdev. Signed-off-by: Peter Korsgaard <peter.korsgaard@barco.com>
* | Basic support for QEMU Extended Key EventsPierre Ossman2017-08-283-4/+4
| | | | | | | | | | | | This adds the basic infrastructure and handshake for the QEMU Extended Key Events extension. No viewer or server makes use of the extra functionality yet though.
* | x0vncserver: add support for led state notificationsPeter Korsgaard2017-08-281-15/+77
| | | | | | | | | | | | | | Listen for XKb XkbIndicatorStateNotify events for scroll/num/caps lock and map them to the RFB protocol. Signed-off-by: Peter Korsgaard <peter.korsgaard@barco.com>
* | Add support for lock LED state to Xvnc/libvnc.soPierre Ossman2017-08-245-1/+34
| |
* | Add server side lock key sync heuristicPierre Ossman2017-08-243-25/+0
|/ | | | Based on QEMU's behaviour.
* Merge branch 'master' of https://github.com/grulja/tigervncPierre Ossman2017-05-091-3/+7
|\
| * Make RandR callbacks optional as they were beforeJan Grulich2017-05-041-3/+7
| |
* | Remove INITARGS from xserver119.patchVishal Biswas2017-05-081-1/+1
|/
* Change development version to 1.8.80Pierre Ossman2017-04-191-1/+1
|
* Update visible copyright year to 2017Samuel Mannehed2017-03-201-1/+1
|
* Merge branch 'fps' of https://github.com/CendioOssman/tigervncPierre Ossman2017-02-242-2/+1
|\
| * Remove unused variable deferredUpdateTimerSetPierre Ossman2017-02-242-2/+1
| |
* | Change cursor API to use RGBA dataPierre Ossman2017-02-221-21/+12
| | | | | | | | | | This will allow us to use better formats that preserve the entire alpha channel.
* | Fix int <--> ptr conversionAlexander Zakharov2017-02-151-2/+2
| |
* | Fix wrapping/unwrapping of X11 hooksPierre Ossman2017-02-131-126/+118
| | | | | | | | | | | | The functions might change so we need to also make sure we grab the updated value after each call. Clean up the code to use the same style as the rest of the Xorg code.
* | spelling fixesklemens2017-01-283-3/+3
| |
* | Remove needless static qualifierPierre Ossman2017-01-191-3/+3
| |
* | Harmonise new client handlersPierre Ossman2017-01-191-0/+2
| | | | | | | | | | | | One was missing a call to register the fd with the X server, and one forgot to set it to non-blocking. One result of this was a crash when hitting the blacklist.
* | Fix -inetd not working with xserver >= 1.19Hans de Goede2017-01-101-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | xserver 1.19's OsInit will create a pollfd, followed by checking if fd 2 / stderr is writable and if it is not, replacing fd 2 with /dev/null. Since we close stderr in inetd mode to avoid xserver messages being send to the client as vnc data, the pollfd becomes fd 2, only to be replaced by /dev/null since a pollfd is not writable. This commit fixes this by opening /dev/null directly after the close(2), avoiding that the pollfd becomes fd 2. Alan Coopersmith: Change to use dup2() for atomic switch of fd Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* | Use dixChangeWindowProperty() instead of ChangeWindowProperty()Pierre Ossman2016-12-191-13/+15
|/ | | | | | ChangeWindowProperty() was removed upstream because it was redundant, and dixChangeWindowProperty() has been around since 1.5 so we can safely use that.
* Handle select() errorsPierre Ossman2016-10-051-0/+6
|
* Merge X server block handling code pathsPierre Ossman2016-10-056-403/+242
| | | | | Use the new X server API as the reference system and emulate it on the older API. Avoids a lot of code duplication.
* Add xorg-xserver 1.19 supportHans de Goede2016-10-058-4/+343
|
* Do not depends on mcookie commandKoichiro IWAO2016-10-051-2/+18
| | | | | | | | for operating systems other than GNU/Linux. mcookie is a part of util-linux. Usually only GNU/Linux systems have it. Do not die even if mcookie is not found. Use the previous pure perl code to generate cookie as fallback.
* remove trailing spaceKoichiro IWAO2016-10-031-5/+5
|
* Remove INITARGS from recent xserver patchesPierre Ossman2016-09-226-6/+6
| | | | INITARGS isn't used since Xorg 1.13, so remove it from our patches.
* Merge pull request #332 from xiaoshaaming/masterBrian Hinz2016-09-041-1/+2
|\ | | | | Added missing dependency for Complie error on RHEL7
| * Added missing dependency for Complie error on RHEL7lidm2016-07-231-1/+2
| | | | | | | | Complie error on RHEL7 for missing depency libos.
* | Merge branch 'system-wide-config' of https://github.com/jblaine/tigervncPierre Ossman2016-08-222-93/+150
|\ \
| * | Support both defaults and mandatory system config filesJeff Blaine2016-08-212-93/+150
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit introduces support for optional basic system-wide configuration of vncserver. The format and syntax of /etc/tigervnc/vncserver* match that of $HOME/.vnc/config exactly. Allows /etc/tigervnc/vncserver-config-defaults as well as /etc/tigervnc/vncserver-config-mandatory. The former is optional and sets user-overrideable vncserver settings. The latter is optional, but if it exists takes precedence over all user $HOME/.vnc/config settings of the same setting name. In the case where /etc/tigervnc/vncserver-config-mandatory overrides a setting in $HOME/.vnc/config, the user will be warned that it has happened. WARNING: Settings in /etc/tigervnc/vncserver-config-mandatory are easily subverted by passing args to vncserver on the CLI. The man page indicates this warning. This commit also introduces (should have been separate) examination of all config file settings (not just @ARGV!) when determining whether or not $HOME/.vnc/passwd needs to be created. That is, if /etc/tigervnc/vncserver* or $HOME/.vnc/config indicate that we are NOT using VNC-native authentication, then we don't need a $HOME/.vnc/passwd created. Code cleanup: $xstartup was renamed $xstartupFile for consistency with other "file" variable names. For VNC-auth checking, to determine if $HOME/.vnc/passwd needed creation, the 3-string check against lc($arg2) was in 2 places and was changed to a simple grep against the new @vncAuthStrings
* | | Proper multi-screen support in XvncPierre Ossman2016-08-181-9/+43
| | | | | | | | | | | | | | | Xvnc didn't handle multiple screens properly as it forgot to place them without overlap and didn't handle cursor movement between them.
* | | Set cursor sprite globallyPierre Ossman2016-08-183-4/+8
| | | | | | | | | | | | | | | Pointer are global, not screen specific. Hence so is also the cursor sprite.
* | | Adjust client pointer coordinates to absolutePierre Ossman2016-08-183-1/+16
| | | | | | | | | | | | | | | | | | The client is not aware of where the screen is placed so it will give us screen relative coordinates. Convert to and from these and absolute coordinates before interacting with the input layer.
* | | Convert pointer coordinates to absolutePierre Ossman2016-08-181-2/+12
| |/ |/| | | | | | | | | It is possible to set pointer coordinate using absolute numbers, but getting them back will always give us screen relative ones. Do the necessary calculations manually so we return sane values to the caller.
* | Restore UI for PRIMARY behaviourPierre Ossman2016-07-081-1/+24
| | | | | | | | | | They were lost when the mechanism moved from vncconfig in to Xvnc. Restore the UI by having them reconfigure Xvnc instead.
* | Allow control of PRIMARY behaviour by defaultPierre Ossman2016-07-082-2/+2
| | | | | | | | | | | | It was previously controlled by vncconfig which had no restrictions, so at least include the relevant settings in the default list of overrides.
* | Merge branch 'clipboard'Pierre Ossman2016-07-0814-499/+600
|\ \