]> source.dussan.org Git - tigervnc.git/log
tigervnc.git
6 years agoReplace Shift+Alt with Shift+Meta when possible
Pierre Ossman [Fri, 21 Sep 2018 10:30:54 +0000 (12:30 +0200)]
Replace Shift+Alt with Shift+Meta when possible

Most layouts on Unix generate Meta for Shift+Alt but non-Unix clients
will send XK_Alt_*. This results in us picking some other key which
can confuse some applications.

Try to detect this scenario and map XK_Alt_* to XK_Meta_*.

6 years agoUpdate NumLock comment now that we have sync
Pierre Ossman [Fri, 21 Sep 2018 10:30:36 +0000 (12:30 +0200)]
Update NumLock comment now that we have sync

6 years agoFix bad color of cursor with x0vncserver
Pierre Ossman [Tue, 18 Sep 2018 13:41:25 +0000 (15:41 +0200)]
Fix bad color of cursor with x0vncserver

We cannot assume endian-ness for the cursor we get from XFixes.
Adjust the algorithm to properly follow the specification.

6 years agoStop tracking changes for each glyph
Pierre Ossman [Thu, 13 Sep 2018 10:31:59 +0000 (12:31 +0200)]
Stop tracking changes for each glyph

We get a whole bunch of very tiny areas, which is very inefficient to
deal with. Instead create a rectangle around every "list" of connected
glyphs (usually each line).

6 years agoAvoid compiler "use of uninitialised variable" warnings
Pierre Ossman [Thu, 13 Sep 2018 10:30:30 +0000 (12:30 +0200)]
Avoid compiler "use of uninitialised variable" warnings

The compiler isn't smart enough to figure all of these out, so
restructure things a bit to avoid warnings.

6 years agoFix multi-head placement of overlay (again)
Pierre Ossman [Tue, 11 Sep 2018 12:33:20 +0000 (14:33 +0200)]
Fix multi-head placement of overlay (again)

We should be looking at the physical monitor layout, not the current
RFB layout. The latter might not be in sync with the local monitors.

6 years agoRemove dead overlay code
Pierre Ossman [Tue, 11 Sep 2018 12:23:35 +0000 (14:23 +0200)]
Remove dead overlay code

Remnants from an earlier version of the code.

6 years agoExplicitly check screen layout after change
Pierre Ossman [Tue, 11 Sep 2018 12:22:04 +0000 (14:22 +0200)]
Explicitly check screen layout after change

There are some cases where the server state will not automatically
be updated on a change. A prominent one is when only RFB attributes
were changes (e.g. the screen ID) but nothing else. In that case
there is no actual change in the X server, so it never sends any
notification about change back to us.

6 years agoAdjust cursor position according to geometry
Pierre Ossman [Mon, 10 Sep 2018 15:03:17 +0000 (17:03 +0200)]
Adjust cursor position according to geometry

x0vncserver might only be observing part of the display, so we need
to adjust any coordinates before we give them to the RFB core.

6 years ago[Java] Fix error in VeNCrypt protocol implemtation
Brian P. Hinz [Tue, 21 Aug 2018 02:59:17 +0000 (22:59 -0400)]
[Java] Fix error in VeNCrypt protocol implemtation

6 years agoMerge pull request #703 from pepijnve/patch-1
Brian Hinz [Tue, 21 Aug 2018 02:16:01 +0000 (22:16 -0400)]
Merge pull request #703 from pepijnve/patch-1

Release queueMutex using finally blocks

6 years agoRelease queueMutex using finally blocks 703/head
Pepijn Van Eeckhoudt [Mon, 20 Aug 2018 12:22:37 +0000 (14:22 +0200)]
Release queueMutex using finally blocks

Ensure queueMutex is always correctly released by using finally blocks. This is the closest approximation of AutoMutex style automatic release you can get in Java.

6 years agoGet correct GnuTLS version in travis
Pierre Ossman [Thu, 16 Aug 2018 12:08:43 +0000 (14:08 +0200)]
Get correct GnuTLS version in travis

6 years agoUse system certificate trust store
Pierre Ossman [Thu, 16 Aug 2018 11:28:37 +0000 (13:28 +0200)]
Use system certificate trust store

Makes it possible to use certificates from all popular CAs with
TigerVNC.

6 years agoCenter overlay on primary screen
Pierre Ossman [Thu, 16 Aug 2018 10:05:49 +0000 (12:05 +0200)]
Center overlay on primary screen

Makes sure it is readable in a multi screen configuration, as otherwise
it might end up crossing multiple screens.

6 years agoMerge branch 'master' of https://github.com/daa/tigervnc
Pierre Ossman [Thu, 16 Aug 2018 08:20:23 +0000 (10:20 +0200)]
Merge branch 'master' of https://github.com/daa/tigervnc

6 years agoIncrease maximum vnc server name length 700/head
Alexander Duryagin [Wed, 15 Aug 2018 16:25:54 +0000 (19:25 +0300)]
Increase maximum vnc server name length

6 years agoDo not perform endianness check on Windows and Apple 694/head
Jan Grulich [Wed, 8 Aug 2018 13:33:23 +0000 (15:33 +0200)]
Do not perform endianness check on Windows and Apple

6 years agoCheck endianness when constructing PlatformPixelBuffer()
Jan Grulich [Wed, 8 Aug 2018 13:29:23 +0000 (15:29 +0200)]
Check endianness when constructing PlatformPixelBuffer()

6 years agoIgnore buttons in mouse leave events
Pierre Ossman [Tue, 31 Jul 2018 14:06:59 +0000 (16:06 +0200)]
Ignore buttons in mouse leave events

For KDE we can sometimes get a bunch of stray FL_LEAVE events before
gaining focus. Sending their included button information gets things
in the incorrect order with regard to other synchronisation we do on
focus. So just ignore buttons as the only information we want out of
the leave information is a position update.

6 years agoAvoid integer overflows in pixel size calculations
Pierre Ossman [Wed, 25 Jul 2018 18:44:32 +0000 (20:44 +0200)]
Avoid integer overflows in pixel size calculations

6 years agoUpdate Swedish translation
Göran Uddeborg [Mon, 23 Jul 2018 17:27:00 +0000 (19:27 +0200)]
Update Swedish translation

6 years agoUpdate Bulgarian translation
Alexander Shopov [Sun, 22 Jul 2018 20:34:00 +0000 (22:34 +0200)]
Update Bulgarian translation

6 years agoAdd debug output for x0vncserver key events
Pierre Ossman [Wed, 25 Jul 2018 18:02:20 +0000 (20:02 +0200)]
Add debug output for x0vncserver key events

6 years agoHandle Shift+Tab (ISO_Left_Tab) in x0vncserver
Pierre Ossman [Wed, 25 Jul 2018 18:02:02 +0000 (20:02 +0200)]
Handle Shift+Tab (ISO_Left_Tab) in x0vncserver

6 years agoUpdate static library dependencies for rpm/deb packages
Brian P. Hinz [Tue, 24 Jul 2018 01:38:46 +0000 (21:38 -0400)]
Update static library dependencies for rpm/deb packages

6 years agoReduce size of context menu hint
Pierre Ossman [Thu, 19 Jul 2018 11:10:08 +0000 (13:10 +0200)]
Reduce size of context menu hint

It can get a bit intrusive for experienced users, so try to reduce
the impact of it.

6 years agoFix bad type on congestion ETA variable
Pierre Ossman [Tue, 17 Jul 2018 13:01:53 +0000 (15:01 +0200)]
Fix bad type on congestion ETA variable

6 years agoUpdate Swedish translation
Göran Uddeborg [Sat, 14 Jul 2018 13:41:00 +0000 (15:41 +0200)]
Update Swedish translation

6 years agoFix .gitignore for vncviewer/ and tests/
Pierre Ossman [Wed, 11 Jul 2018 12:00:37 +0000 (14:00 +0200)]
Fix .gitignore for vncviewer/ and tests/

We had partial coverage for vncviewer/ already, but fix up the last
pieces.

6 years agoMerge branch 'gitignore' of https://github.com/clbr/tigervnc
Pierre Ossman [Wed, 11 Jul 2018 12:02:02 +0000 (14:02 +0200)]
Merge branch 'gitignore' of https://github.com/clbr/tigervnc

6 years agoAdd a basic gitignore 676/head
Lauri Kasanen [Tue, 10 Jul 2018 10:48:14 +0000 (13:48 +0300)]
Add a basic gitignore

6 years agoFix try/catch for flushPendingClipboard()
Pierre Ossman [Wed, 11 Jul 2018 11:05:11 +0000 (13:05 +0200)]
Fix try/catch for flushPendingClipboard()

We put the try/catch as close as possible to the writes in all
other case, so make sure this code also follows that pattern.

6 years agoMerge branch 'ctrl-alt-focus' of https://github.com/martinetd/tigervnc
Pierre Ossman [Wed, 11 Jul 2018 11:03:11 +0000 (13:03 +0200)]
Merge branch 'ctrl-alt-focus' of https://github.com/martinetd/tigervnc

6 years agoMerge branch 'oldserver' of https://github.com/clbr/tigervnc
Pierre Ossman [Wed, 11 Jul 2018 09:24:30 +0000 (11:24 +0200)]
Merge branch 'oldserver' of https://github.com/clbr/tigervnc

6 years agoUpdate Ukrainian translation
Yuri Chornoivan [Mon, 9 Jul 2018 21:27:00 +0000 (23:27 +0200)]
Update Ukrainian translation

6 years agoAdd Czech translation
Petr Pisar [Thu, 5 Jul 2018 09:07:00 +0000 (11:07 +0200)]
Add Czech translation

6 years agoUpdate Russian translation
Yuri Kozlov [Wed, 4 Jul 2018 15:57:00 +0000 (18:57 +0300)]
Update Russian translation

6 years agoUpdate Brazilian Portuguese translation
Rafael Fontenelle [Wed, 4 Jul 2018 08:50:00 +0000 (06:50 -0200)]
Update Brazilian Portuguese translation

6 years agoUpdate Vietnamese translation
Trần Ngọc Quân [Wed, 4 Jul 2018 07:52:00 +0000 (14:52 +0700)]
Update Vietnamese translation

6 years agoCompile fixes for Xserver 1.9 675/head
Lauri Kasanen [Mon, 9 Jul 2018 16:34:55 +0000 (19:34 +0300)]
Compile fixes for Xserver 1.9

6 years agoviewer: reset ctrl / alt to menu state on focus 674/head
Dominique Martinet [Sat, 7 Jul 2018 17:15:43 +0000 (02:15 +0900)]
viewer: reset ctrl / alt to menu state on focus

Setting Ctrl or Alt key on menu only sends the key press, and the
state is lost when focus is lost and recovered.
This checks the menu variable and sends the keys again if needed.

6 years agoAvoid error/warning about implicit function declaration
Jan Grulich [Wed, 27 Jun 2018 11:13:46 +0000 (13:13 +0200)]
Avoid error/warning about implicit function declaration

Function xorgGlxCreateVendor() is defined in glx_extinit.h, if this header is
not included, we might get either error or warning. This header also need to
be included after scrninststr.h header as it defines some structures used
in glx_extinit.h

6 years agoChange development version to 1.9.80
Pierre Ossman [Wed, 13 Jun 2018 14:27:53 +0000 (16:27 +0200)]
Change development version to 1.9.80

6 years agoUpdate translation template file
Pierre Ossman [Wed, 13 Jun 2018 14:26:10 +0000 (16:26 +0200)]
Update translation template file

6 years agoMerge branch 'grab' of https://github.com/CendioOssman/tigervnc
Pierre Ossman [Wed, 13 Jun 2018 14:04:03 +0000 (16:04 +0200)]
Merge branch 'grab' of https://github.com/CendioOssman/tigervnc

6 years agoBetter string handling of default server name
Pierre Ossman [Wed, 13 Jun 2018 10:58:59 +0000 (12:58 +0200)]
Better string handling of default server name

We might not get one from the default configuration (we might not have
a default configuration at all), so make things more robust.

6 years agoIgnore fake focus events from XGrabKeyboard() 661/head
Pierre Ossman [Tue, 12 Jun 2018 13:58:34 +0000 (15:58 +0200)]
Ignore fake focus events from XGrabKeyboard()

Grabbing (and ungrabbing) the keyboard generates fake focus events
with modern versions of Xorg. This causes an infinite loop since we
update the grab status on focus events.

Work around this by ignoring these fake events.

6 years agoUpdate comment about keyboard grab on focus changes
Pierre Ossman [Tue, 12 Jun 2018 13:57:27 +0000 (15:57 +0200)]
Update comment about keyboard grab on focus changes

It is no longer a workaround but rather intended behaviour.

6 years agoAdd support for X server 1.20.0. 658/head
Michal Srb [Wed, 6 Jun 2018 11:33:37 +0000 (13:33 +0200)]
Add support for X server 1.20.0.

In-server GLVND requires xorgGlxCreateVendor call from InitOutput.
DPMS functions were moved to another location and no longer need to be faked.
xserver120.patch is a copy of xserver119.patch with refreshed contexts.

6 years agoProperly sync LED state on connect
Pierre Ossman [Thu, 7 Jun 2018 07:16:02 +0000 (09:16 +0200)]
Properly sync LED state on connect

We should start by getting the remote end in sync with the actual
keyboard state. This would work randomly before depending on if we
got the first LED state message before or after we got focus.

6 years agoMerge branch 'unix' of https://github.com/CendioOssman/tigervnc
Pierre Ossman [Tue, 29 May 2018 14:46:19 +0000 (16:46 +0200)]
Merge branch 'unix' of https://github.com/CendioOssman/tigervnc

6 years agoUnix socket support in x0vncserver 639/head
Pierre Ossman [Fri, 4 May 2018 13:40:22 +0000 (15:40 +0200)]
Unix socket support in x0vncserver

6 years agoProper cleanup on termination of Xvnc/libvnc.so
Pierre Ossman [Fri, 4 May 2018 12:58:01 +0000 (14:58 +0200)]
Proper cleanup on termination of Xvnc/libvnc.so

6 years agoMerge common socket code
Pierre Ossman [Fri, 4 May 2018 10:44:31 +0000 (12:44 +0200)]
Merge common socket code

6 years agoDon't require server name in config file
Pierre Ossman [Tue, 29 May 2018 14:37:54 +0000 (16:37 +0200)]
Don't require server name in config file

The user might just want to load a bunch of settings and not
initiate a connection.

6 years agoMerge branch 'config_as_an_argument' of https://github.com/Kypert/tigervnc
Pierre Ossman [Tue, 29 May 2018 14:07:07 +0000 (16:07 +0200)]
Merge branch 'config_as_an_argument' of https://github.com/Kypert/tigervnc

6 years agoStop treating "\\\\" as a special case
Pierre Ossman [Tue, 29 May 2018 13:51:42 +0000 (15:51 +0200)]
Stop treating "\\\\" as a special case

Make the code simpler by handling it just like any escaped character.

6 years agoFix parameter escape sequence parsing
Pierre Ossman [Tue, 29 May 2018 13:51:03 +0000 (15:51 +0200)]
Fix parameter escape sequence parsing

We decoded "\\n" as "n" rather than "\n".

6 years agoCatch exceptions by reference
Pierre Ossman [Tue, 29 May 2018 13:50:08 +0000 (15:50 +0200)]
Catch exceptions by reference

We use polymorphic exception objects, so catching by value invokes
the copy constructor and stuff that we don't really want.

6 years agoFix bad reference in TLSException initialiser
Pierre Ossman [Tue, 29 May 2018 13:49:26 +0000 (15:49 +0200)]
Fix bad reference in TLSException initialiser

6 years agoRemove unused code from socket classes
Pierre Ossman [Mon, 21 May 2018 10:06:47 +0000 (12:06 +0200)]
Remove unused code from socket classes

6 years agoAdd support for Unix sockets
Pierre Ossman [Thu, 3 May 2018 12:04:38 +0000 (14:04 +0200)]
Add support for Unix sockets

Patch originally by Dag-Erling Smørgrav for University of Oslo.

6 years agoAvoid assert crash after bytestream position wrap around
Peter Åstrand (astrand) [Tue, 29 May 2018 08:04:53 +0000 (10:04 +0200)]
Avoid assert crash after bytestream position wrap around

Fixes #652.

6 years agoAccept a cfg as an argument as an alt way to start the viewer 632/head
Mathias Jonsson [Sun, 22 Apr 2018 17:10:30 +0000 (19:10 +0200)]
Accept a cfg as an argument as an alt way to start the viewer

The user can specify a tigervnc configuration file as an argument to the
viewer. Previously the viewer assumed this to be a server, but now we
will first check if there is any file matching the given argument. If
so, try to load the content of that file, like we normally do.

Fixes issue #38.

6 years agoUpdate Esperanto translation
Felipe Castro [Tue, 15 May 2018 00:23:00 +0000 (21:23 -0300)]
Update Esperanto translation

6 years agox0vncserver: Make sure rotation for new outputs is set to RR_Rotate_0
Peter Åstrand (astrand) [Tue, 8 May 2018 11:54:22 +0000 (13:54 +0200)]
x0vncserver: Make sure rotation for new outputs is set to RR_Rotate_0

The Xserver (at least Xorg 1.19) rejects RRSetCrtcConfig requests if
rotation is zero.

6 years agoHandle view only password in vncpasswd filter mode
Pierre Ossman [Mon, 7 May 2018 14:03:45 +0000 (16:03 +0200)]
Handle view only password in vncpasswd filter mode

6 years agoAvoid creating unused thread on single CPU machines
Peter Åstrand (astrand) [Mon, 7 May 2018 12:59:57 +0000 (14:59 +0200)]
Avoid creating unused thread on single CPU machines

6 years agoFlush pending changes when desktop starts
Pierre Ossman [Mon, 7 May 2018 12:24:56 +0000 (14:24 +0200)]
Flush pending changes when desktop starts

The system to avoid processing changes for a stopped desktop was a
bit overly aggressive and resulted in those changes getting stuck even
when the desktop started again (yet another change was needed to get
things rolling again).

Make sure we flush out anything pending once the desktop is back up and
running. We don't use the frame timer here as we no longer know how
old these changes are, so we're not really rate limiting any application.

6 years agoComparing ScreenSet:s should be done without considering order
Peter Åstrand (astrand) [Mon, 7 May 2018 07:58:59 +0000 (09:58 +0200)]
Comparing ScreenSet:s should be done without considering order

Avoids that a viewer connected to Xvnc sometimes disconnects with
"Desktop configured a different screen layout than requested" when
screens are changing.

6 years agoUse abstract SocketListener class
Pierre Ossman [Thu, 3 May 2018 12:03:55 +0000 (14:03 +0200)]
Use abstract SocketListener class

Makes the code more general and not directly tied to specifically
TCP sockets.

6 years agoHandle hexadecimal and octal parameters
Pierre Ossman [Thu, 3 May 2018 12:00:31 +0000 (14:00 +0200)]
Handle hexadecimal and octal parameters

6 years agoMerge pull request #638 from x11clone/fullscreen-multimon-toggle
astrand [Wed, 2 May 2018 14:00:00 +0000 (16:00 +0200)]
Merge pull request #638 from x11clone/fullscreen-multimon-toggle

Update fullscreen window if changing fullScreenAllMonitors option

6 years agoFix windows build with -DCMAKE_BUILD_TYPE=Debug on machines with IActiveDesktop 638/head
Peter Åstrand (astrand) [Mon, 23 Apr 2018 08:30:30 +0000 (10:30 +0200)]
Fix windows build with -DCMAKE_BUILD_TYPE=Debug on machines with IActiveDesktop

Avoid that the check_c_source_compiles tests fails due to unused
variables, since Debug adds -Werror.

6 years agoFix another compile error on Windows when not building with GnuTLS
Peter Åstrand (astrand) [Mon, 23 Apr 2018 08:00:35 +0000 (10:00 +0200)]
Fix another compile error on Windows when not building with GnuTLS

6 years agoUpdate fullscreen window if changing fullScreenAllMonitors option
Peter Åstrand (astrand) [Wed, 18 Apr 2018 19:49:41 +0000 (21:49 +0200)]
Update fullscreen window if changing fullScreenAllMonitors option

6 years agoMerge branch 'alr' of https://github.com/CendioOssman/tigervnc
Pierre Ossman [Fri, 20 Apr 2018 11:57:41 +0000 (13:57 +0200)]
Merge branch 'alr' of https://github.com/CendioOssman/tigervnc

6 years agoMerge branch 'clipfocus' of https://github.com/CendioOssman/tigervnc
Pierre Ossman [Fri, 20 Apr 2018 11:45:07 +0000 (13:45 +0200)]
Merge branch 'clipfocus' of https://github.com/CendioOssman/tigervnc

6 years agoMake sure we get C99
Pierre Ossman [Fri, 13 Apr 2018 11:49:43 +0000 (13:49 +0200)]
Make sure we get C99

The compiler might default to something older, so make sure we get
the features we need.

6 years agoImprove out-of-tree build of Xvnc/libvnc.so
Pierre Ossman [Fri, 13 Apr 2018 11:39:16 +0000 (13:39 +0200)]
Improve out-of-tree build of Xvnc/libvnc.so

With the new unixcommon library we have things outside of common/,
so make the handling of out-of-tree builds more general.

6 years agoMerge branch 'x0vncserver-randr' of https://github.com/x11clone/x11clone
Pierre Ossman [Tue, 10 Apr 2018 06:11:46 +0000 (08:11 +0200)]
Merge branch 'x0vncserver-randr' of https://github.com/x11clone/x11clone

6 years agoAdd RandR support for x0vncserver 621/head
Peter Åstrand (astrand) [Wed, 7 Mar 2018 12:00:47 +0000 (13:00 +0100)]
Add RandR support for x0vncserver

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.

6 years agoAdd a tryScreenLayout function
Peter Åstrand (astrand) [Tue, 27 Mar 2018 07:14:38 +0000 (09:14 +0200)]
Add a tryScreenLayout function

This can be used to test if a layout if possible.

6 years agoAdd debug log messages
Peter Åstrand (astrand) [Mon, 19 Mar 2018 10:07:32 +0000 (11:07 +0100)]
Add debug log messages

6 years agoAvoid disabling outputs which are already disabled
Peter Åstrand (astrand) [Tue, 20 Mar 2018 09:26:40 +0000 (10:26 +0100)]
Avoid disabling outputs which are already disabled

Better to avoid making unnecessary calls, but mainly we want to avoid
logging false errors.

6 years agoSelect the correct output for new screens
Peter Åstrand (astrand) [Tue, 20 Mar 2018 07:15:41 +0000 (08:15 +0100)]
Select the correct output for new screens

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.

6 years agoDisable outputs which are larger than the target framebuffer size
Peter Åstrand (astrand) [Tue, 20 Mar 2018 07:10:12 +0000 (08:10 +0100)]
Disable outputs which are larger than the target framebuffer size

Apparently this is not necessary when using the internal API, but a
must with libXrandr.

6 years agovncRandRDisableOutput: Disable only the requested output
Peter Åstrand (astrand) [Tue, 27 Mar 2018 07:25:02 +0000 (09:25 +0200)]
vncRandRDisableOutput: Disable only the requested output

This only matters when using clones, which we do not accept yet. This
patch is for completeness and to avoid future surprises.

6 years agoMake vncRandRGetOutputDimensions tolerant for disabled outputs
Peter Åstrand (astrand) [Mon, 19 Mar 2018 09:47:40 +0000 (10:47 +0100)]
Make vncRandRGetOutputDimensions tolerant for disabled outputs

Return error if no CRTC.

6 years agoRemove "screen" argument from Randr glue functions
Peter Åstrand (astrand) [Mon, 2 Apr 2018 20:15:47 +0000 (22:15 +0200)]
Remove "screen" argument from Randr glue functions

Screen is a Xvnc thing and not relevant for x0vncserver etc.

6 years agoRemoved support for building without RANDR define
Peter Åstrand (astrand) [Wed, 7 Mar 2018 11:54:44 +0000 (12:54 +0100)]
Removed support for building without RANDR define

RANDR is mandatory since Xorg 1.7, which is the oldest version we
support.

6 years agoCorrected RandR wrapper return codes
Peter Åstrand (astrand) [Wed, 7 Mar 2018 11:32:30 +0000 (12:32 +0100)]
Corrected RandR wrapper return codes

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

6 years agoMove computeScreenLayout/setScreenLayout to unixcommon lib
Peter Åstrand (astrand) [Wed, 7 Mar 2018 08:29:00 +0000 (09:29 +0100)]
Move computeScreenLayout/setScreenLayout to unixcommon lib

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.

6 years agovncRandRGetOutputName: return a copy of the string
Peter Åstrand (astrand) [Wed, 7 Mar 2018 07:35:03 +0000 (08:35 +0100)]
vncRandRGetOutputName: return a copy of the string

Compatibility with libXrandr, where the name is in dynamically
allocated XRROutputInfo.

6 years agoMake vncRandRGetOutputId return the actual id; not a pointer
Peter Åstrand (astrand) [Wed, 7 Mar 2018 07:21:42 +0000 (08:21 +0100)]
Make vncRandRGetOutputId return the actual id; not a pointer

Less confusing, and compatible with libXrandr.

6 years agoIndented computeScreenLayout and setScreenLayout
Peter Åstrand (astrand) [Wed, 7 Mar 2018 07:10:21 +0000 (08:10 +0100)]
Indented computeScreenLayout and setScreenLayout

Should use 2 spaces like the rest of the project.

6 years agoSend lossless refresh even with pending updates 622/head
Pierre Ossman [Fri, 23 Mar 2018 10:45:51 +0000 (11:45 +0100)]
Send lossless refresh even with pending updates

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.

6 years agoLimit lossless refresh update to safe size
Pierre Ossman [Fri, 23 Mar 2018 08:30:09 +0000 (09:30 +0100)]
Limit lossless refresh update to safe size

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.

6 years agoAutomatic lossless refresh
Pierre Ossman [Wed, 30 Nov 2016 07:03:35 +0000 (08:03 +0100)]
Automatic lossless refresh

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.