summaryrefslogtreecommitdiffstats
path: root/unix/x0vncserver
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'unix' of https://github.com/CendioOssman/tigervncPierre Ossman2018-05-292-6/+23
|\
| * Unix socket support in x0vncserverPierre Ossman2018-05-292-2/+19
| |
| * Use abstract SocketListener classPierre Ossman2018-05-041-4/+4
| | | | | | | | | | Makes the code more general and not directly tied to specifically TCP sockets.
* | x0vncserver: Make sure rotation for new outputs is set to RR_Rotate_0Peter Åstrand (astrand)2018-05-081-0/+1
|/ | | | | The Xserver (at least Xorg 1.19) rejects RRSetCrtcConfig requests if rotation is zero.
* Add RandR support for x0vncserverPeter Åstrand (astrand)2018-04-096-6/+828
| | | | | | | | Change Xserver screen through libXrandr. For complex configurations, all outputs must have corresponding size modes. As a special case, if the client requests a single screen with an odd size (for example when adjusting the size of a non-fullscreen vncviewer), find a smaller suitable mode, and reduce the framebuffer size as well.
* Fix indentation in XDesktop.cxxPierre Ossman2018-03-071-257/+257
| | | | | It wasn't properly updated in 3112f50 when it was split off from x0vncserver.cxx.
* Unset pixel buffer when x0vncserver client disconnects.Michal Srb2018-03-071-1/+5
| | | | | | In XDesktop::start() we allocate pixel buffer and set it as the backend to the given VNCServer. In XDesktop::stop() we deallocate the buffer, so we must unset it from the VNCServer as well. Otherwise the VNCServer could try to access it and crash, for example in deferred update.
* Check for TrueColor support in x0vncserverPierre Ossman2018-02-273-9/+12
| | | | | Colour map support was removed in b6b4dc6, but x0vncserver didn't properly check if the X server required it.
* Add overlooked parameters to Xvnc and x0vncserver man pagesPierre Ossman2018-02-051-0/+20
| | | | | | There were a bunch of parameters that weren't properly added to the man pages when the features were added. Make sure everything is properly in sync.
* Sync x0vncserver and Xvnc man pagesPierre Ossman2018-02-051-67/+82
| | | | | They share a lot of settings, so make sure the documentation is identical in those cases.
* Remove DeferUpdate from man pagesPierre Ossman2018-02-051-16/+0
| | | | | The funcationality was removed in 6e49e95, so let's also clean up the documentation referring to it.
* Use XShmGetImage for large readsPeter Åstrand (astrand)2018-01-151-2/+7
| | | | | XShmGetImage is much faster. On my machine, this reduces the CPU usage of a fullscreen Youtube video playback from 40% to 25%.
* Move XDesktop specific parameters in to same filePierre Ossman2017-11-082-7/+5
|
* x0vncserver does not support SetDesktopSize; remove -AcceptSetDesktopSizePeter Åstrand (astrand)2017-11-081-0/+3
| | | | Add a Configuration::removeParam to support such cases.
* Removed IRIX/Solaris overlay supportPeter Åstrand (astrand)2017-11-085-289/+4
| | | | Legacy systems.
* Remove support for Lynx/OSPeter Åstrand (astrand)2017-11-082-10/+0
|
* Added my/Cendio copyright where relevantPeter Åstrand (astrand)2017-11-082-0/+2
|
* Set the correct cursor when startingPeter Åstrand (astrand)2017-11-082-6/+16
| | | | | XFixes only reports cursor changes. We must manually call XFixesGetCursorImage() when starting.
* Move XDesktop to separate filePeter Åstrand (astrand)2017-11-084-419/+499
| | | | Define ledNames in XDesktop.cxx, rename N_LEDS to XDESKTOP_N_LEDS
* Using namespace rfb in header files is a bad ideaPeter Åstrand (astrand)2017-11-075-17/+15
|
* Build with support for MIT-SHMPeter Åstrand (astrand)2017-11-072-11/+1
| | | | No need for ifdefs; we can assume MITSHM. Already done in vncviewer.
* Get rid of getFbSize()/getDesktopSize() in commonPierre Ossman2017-09-221-4/+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.
* | 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-281-2/+2
| | | | | | | | | | | | 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>
* spelling fixesklemens2017-01-281-1/+1
|
* Use non-blocking sockets in x0vnserverPierre Ossman2016-04-291-2/+9
|
* Fix timeout handling in x0vncserverPierre Ossman2016-04-291-10/+11
| | | | | We need to proper respect the timeouts set up by the core RFB code and not just the polling scheduler.
* Move socket write event handling in to the RFB corePierre Ossman2016-04-291-1/+1
| | | | | | What to do when a socket is writeable should be handled in the RFB core code as there may be other events we want to fire off when this happens.
* Return TcpListener pointers rather than objectsPierre Ossman2015-09-291-8/+8
| | | | | | It is easier to control object life time and avoid magical socket duplication by having a single TcpListener object to pass around. We have to be more careful about deleting the object though.
* Change netmask to prefix in ACL documentationPierre Ossman2015-08-101-6/+5
| | | | | | The IPv6 additions deprecated support for netmasks in the access control lists. Unfortunately some documentation was not updated to reflect this fact.
* Fixed IPv6 support.Tim Waugh2015-03-131-9/+22
| | | | | | | | | | | | The TcpListener constructor now takes a 'struct sockaddr*' instead of a string, and the createTcpListeners function creates TcpListener instances for an address based on the results from getaddrinfo(). The XserverDesktop class now takes a list of TcpListener instances for each of the RFB and HTTP sockets. The TcpListener::closeFd member variable is not used and has been removed.
* Handler still needs to return something even with XDamagePierre Ossman2015-03-031-0/+2
|
* Link basic X11 libraries lastPierre Ossman2014-10-171-1/+3
| | | | | The extension libraries might depend on libXext or libX11, so make sure they come last on the link line.
* Correct naming convention for some parametersPierre Ossman2014-09-171-4/+4
|
* Remove unused VideoArea parameterPierre Ossman2014-09-173-49/+0
|
* Avoid extra spacing in the generated man pagesPierre Ossman2014-09-171-0/+46
|
* Update server man pages to reflect current list of optionsPierre Ossman2014-09-171-29/+49
|
* Remove the date from man pagesPierre Ossman2014-09-171-1/+1
| | | | It's not something we're keeping up to date anyway.
* Clean up the authors section of the man pagesPierre Ossman2014-09-171-1/+7
|
* Get rid of getStride()Pierre Ossman2014-07-072-9/+2
| | | | | | It was confusing and not properly used everywhere. Callers should use the stride they get when they get the buffer pointer.
* Remove full support for colour mapsPierre Ossman2014-07-073-20/+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.