aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add support for Unix socketsPierre Ossman2018-05-296-4/+369
| | | | Patch originally by Dag-Erling Smørgrav for University of Oslo.
* Use abstract SocketListener classPierre Ossman2018-05-0411-36/+39
| | | | | Makes the code more general and not directly tied to specifically TCP sockets.
* Handle hexadecimal and octal parametersPierre Ossman2018-05-031-1/+1
|
* Merge pull request #638 from x11clone/fullscreen-multimon-toggleastrand2018-05-023-4/+9
|\ | | | | Update fullscreen window if changing fullScreenAllMonitors option
| * Fix windows build with -DCMAKE_BUILD_TYPE=Debug on machines with IActiveDesktopPeter Åstrand (astrand)2018-05-021-2/+2
| | | | | | | | | | Avoid that the check_c_source_compiles tests fails due to unused variables, since Debug adds -Werror.
| * Fix another compile error on Windows when not building with GnuTLSPeter Åstrand (astrand)2018-05-021-0/+2
| |
| * Update fullscreen window if changing fullScreenAllMonitors optionPeter Åstrand (astrand)2018-05-021-2/+5
|/
* Merge branch 'alr' of https://github.com/CendioOssman/tigervncPierre Ossman2018-04-2013-93/+269
|\
| * Send lossless refresh even with pending updatesPierre Ossman2018-03-283-18/+29
| | | | | | | | | | | | There might be parts of the screen that haven't changed and can therefore be refreshed. Figure which parts these are and send just those.
| * Limit lossless refresh update to safe sizePierre Ossman2018-03-289-18/+73
| | | | | | | | | | | | We don't want to waste bandwidth on the lossless refresh if we might need that bandwidth for a normal update. Try to estimate how much data we can safely send without interfering.
| * Automatic lossless refreshPierre Ossman2018-03-285-20/+128
| | | | | | | | | | | | Resend pixel perfect copies of areas that were previously sent using a lossy encoder. This is done when there is no normal update to send, and no congestion.
| * Avoid checking updates when desktop is stoppedPierre Ossman2018-03-282-11/+18
| | | | | | | | | | | | | | | | No need to run all the update machinery when there is no client connected. This commit also cleans up the stop handling a bit by moving it to its own method.
| * Remove redundant Region::copyFrom()Pierre Ossman2018-03-284-7/+2
| | | | | | | | We already have an assignment operator, so no need for this method.
| * Respect request area for cursor renderingPierre Ossman2018-03-282-39/+39
| | | | | | | | | | | | | | We cannot send updates for a cursor that is outside the requested region, so make sure we track things properly. This also has the nice side effect of just re-sending the bits needed when the cursor overlaps a changed part of the framebuffer.
* | Merge branch 'clipfocus' of https://github.com/CendioOssman/tigervncPierre Ossman2018-04-205-49/+126
|\ \
| * | Avoid clipboard updates when not focusedPierre Ossman2018-03-262-0/+52
| | | | | | | | | | | | | | | | | | | | | We don't want to surprise the user with unexpected clipboard changes when vncviewer is in the background, and it is both wasteful and possibly insecure to inform the server of every clipboard update when the user isn't interacting with it.
| * | Add focus test helper for ViewportPierre Ossman2018-03-262-17/+14
| | |
| * | Handle LED state sync entirely in ViewportPierre Ossman2018-03-263-6/+17
| | | | | | | | | | | | | | | Apply workaround for FLTK's bad focus handling so that we can let Viewport handle LED synchronisation without help from DesktopWindow.
| * | Move server cut text handler to ViewportPierre Ossman2018-03-265-26/+43
| | | | | | | | | | | | | | | That way both incoming and outgoing clipboard are both in the same place, making things clearer.
* | | Make sure we get C99Pierre Ossman2018-04-131-0/+3
| | | | | | | | | | | | | | | The compiler might default to something older, so make sure we get the features we need.
* | | Improve out-of-tree build of Xvnc/libvnc.soPierre Ossman2018-04-131-8/+8
| | | | | | | | | | | | | | | With the new unixcommon library we have things outside of common/, so make the handling of out-of-tree builds more general.
* | | Merge branch 'x0vncserver-randr' of https://github.com/x11clone/x11clonePierre Ossman2018-04-1022-556/+1872
|\ \ \
| * | | Add RandR support for x0vncserverPeter Åstrand (astrand)2018-04-097-6/+831
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | Add a tryScreenLayout functionPeter Åstrand (astrand)2018-04-097-60/+282
| | | | | | | | | | | | | | | | This can be used to test if a layout if possible.
| * | | Add debug log messagesPeter Åstrand (astrand)2018-04-091-12/+27
| | | |
| * | | Avoid disabling outputs which are already disabledPeter Åstrand (astrand)2018-04-091-0/+4
| | | | | | | | | | | | | | | | | | | | Better to avoid making unnecessary calls, but mainly we want to avoid logging false errors.
| * | | Select the correct output for new screensPeter Åstrand (astrand)2018-04-094-27/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For example, if we have earlier disabled an output because it was too large for the framebuffer, we should prefer this output when allocating new outputs. Move the code that turn off unused outputs to the end. Also, add support for checking the output connection state.
| * | | Disable outputs which are larger than the target framebuffer sizePeter Åstrand (astrand)2018-04-091-1/+21
| | | | | | | | | | | | | | | | | | | | Apparently this is not necessary when using the internal API, but a must with libXrandr.
| * | | vncRandRDisableOutput: Disable only the requested outputPeter Åstrand (astrand)2018-04-091-1/+26
| | | | | | | | | | | | | | | | | | | | This only matters when using clones, which we do not accept yet. This patch is for completeness and to avoid future surprises.
| * | | Make vncRandRGetOutputDimensions tolerant for disabled outputsPeter Åstrand (astrand)2018-04-093-10/+17
| | | | | | | | | | | | | | | | Return error if no CRTC.
| * | | Remove "screen" argument from Randr glue functionsPeter Åstrand (astrand)2018-04-099-69/+94
| | | | | | | | | | | | | | | | Screen is a Xvnc thing and not relevant for x0vncserver etc.
| * | | Removed support for building without RANDR definePeter Åstrand (astrand)2018-04-095-74/+1
| | | | | | | | | | | | | | | | | | | | RANDR is mandatory since Xorg 1.7, which is the oldest version we support.
| * | | Corrected RandR wrapper return codesPeter Åstrand (astrand)2018-04-094-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In RandR land, there's a lot of return code confusion. Our wrappers are using the same return codes as RRCrtcSet, RRScreenSizeSet: 1/TRUE for success. Fixes: * vncRandRCreateOutputs did not follow this convention * A lot of code returned -1 upon failure * vncRandRDisableOutput returned 0 for already disabled outputs
| * | | Move computeScreenLayout/setScreenLayout to unixcommon libPeter Åstrand (astrand)2018-04-0914-497/+664
| | | | | | | | | | | | | | | | | | | | | | | | These two code blocks are not specific to Xvnc/vnc.so, but useful for x0vncserver as well. RandrGlue.h defines the interface on which unixcommon depends on.
| * | | vncRandRGetOutputName: return a copy of the stringPeter Åstrand (astrand)2018-04-093-7/+14
| | | | | | | | | | | | | | | | | | | | Compatibility with libXrandr, where the name is in dynamically allocated XRROutputInfo.
| * | | Make vncRandRGetOutputId return the actual id; not a pointerPeter Åstrand (astrand)2018-04-094-7/+7
| | | | | | | | | | | | | | | | Less confusing, and compatible with libXrandr.
| * | | Indented computeScreenLayout and setScreenLayoutPeter Åstrand (astrand)2018-04-091-28/+28
|/ / / | | | | | | | | | Should use 2 spaces like the rest of the project.
* | | Remove no longer relevant license commentPierre Ossman2018-03-281-14/+0
| | |
* | | Stop abusing InputHandler class for write classPierre Ossman2018-03-284-18/+18
| | | | | | | | | | | | | | | | | | The handler is for incoming data and we should not be abusing that class for the writer class. Do proper write prototypes for the relevant functions.
* | | Add missing break for LED state checkPierre Ossman2018-03-281-0/+1
|/ / | | | | | | | | The previous code would incorrectly also add support for QEMU key events if LED state was supported.
* | Replace "frames" with "updates" in statsPierre Ossman2018-03-264-21/+21
| | | | | | | | | | | | The VNC servers aren't great at getting full frames with each update, so avoid calling it "frames per second" in the statistics as that can be misleading.
* | Set focus to password field in UserDialogBrian P. Hinz2018-03-211-3/+7
|/ | | | Fixes issue #616
* Merge branch 'altgraph' of https://github.com/CendioOssman/tigervncPierre Ossman2018-03-085-41/+131
|\
| * Update keyboard test doc for shift on WindowsPierre Ossman2018-03-081-1/+1
| | | | | | | | | | Shift key handling was improved in 30b3f92, but the test documentation wasn't updated.
| * Handle Ctrl+AltGr on WindowsPierre Ossman2018-03-084-19/+79
| | | | | | | | | | Improve AltGr detection even further on Windows so we can detect the case when Ctrl and AltGr are pressed together.
| * Better detection of AltGr on WindowsPierre Ossman2018-03-083-39/+69
| | | | | | | | | | | | Try to properly detect the fake CtrlL+AltR sequence Windows sends when pressing AltGr. This allows us to send more accurate key events over to the server.
* | Add Indonesian translationAndika Triwidada2018-03-082-0/+660
| |
* | 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.
* | VNCServerST: Allow unsetting pixel buffer.Michal Srb2018-03-071-10/+6
| | | | | | | | | | Originally calling VNCServertST::setPixelBuffer(PixelBuffer* pb_) with pb_=0 would do nothing. With this change pb will be set to 0 and deferred update timer will be stopped.