| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| | |
With the 1.20.x releases there has been features and API changes even on
patch level versions, so we need to update our macros to handle these as
well.
|
| |
| |
| |
| |
| | |
This is a pointless remnant of Xvfb. We never print the id of the shared
memory, so no other application can access this memory anyway.
|
| |
| |
| |
| |
| | |
This hasn't been supported or used in many years, so clean out the final
remnants.
|
| |
| |
| |
| | |
This hasn't been used since xorg-server 1.1 so get rid of it.
|
| |
| |
| |
| | |
This is consistent with other ddx behaviour.
|
| |
| |
| |
| |
| | |
This is what all the other ddx variants use, so do the same in Xvnc to
be consistent.
|
| |
| |
| |
| |
| | |
Makes it easier to compare with upstream files as the formatting will be
the same.
|
| |
| |
| |
| |
| | |
RENDER has been mandatory since xorg-server 1.9, so remove these
checks.
|
| |
| |
| |
| |
| | |
This should only be in the ddx parts of an X server, and Input.c is used
by libvnc.so as well and can cause conflicts there.
|
| | |
|
|/
|
|
|
| |
Is a lot more useful default than the previous "x11", or "x0vncserver".
At the same time give x0vncserver a parameter to change the name.
|
|
|
|
|
|
| |
Trying to dynamically track the DPI did not really work as we'd
start accumulating errors and eventually the DPI would start to
drift. Instead maintain a fixed, sensible DPI at all times.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change adds support for the VMware Mouse Position
pseudo-encoding[1], which is used to notify VNC clients when X11 clients
call `XWarpPointer()`[2]. This function is called by SDL (and other
similar libraries) when they detect that the server does not support
native relative motion, like some RFB clients.
With this, RFB clients can choose to adjust the local cursor position
under certain circumstances to match what the server has set. For
instance, if pointer lock has been enabled on the client's machine and
the cursor is not being drawn locally, the local position of the cursor
is irrelevant, so the RFB client can use what the server sends as the
canonical absolute position of the cursor. This ultimately enables the
possibility of games (especially FPS games) to behave how users expect
(if the clients implement the corresponding change).
Part of: #619
1: https://github.com/rfbproto/rfbproto/blob/master/rfbproto.rst#vmware-cursor-position-pseudo-encoding
2: https://tronche.com/gui/x/xlib/input/XWarpPointer.html
3: https://hg.libsdl.org/SDL/file/28e3b60e2131/src/events/SDL_mouse.c#l804
|
|
|
|
|
| |
Otherwise we might end up owners of something we cannot deliver data on,
which can hang applications.
|
|\ |
|
| |
| |
| |
| | |
Setting `rfbport` to `-1` disables TCP port listening.
|
|/ |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Major restructuring of how streams work. Neither input nor output
streams are now blocking. This avoids stalling the rest of the client or
server when a peer is slow or unresponsive.
Note that this puts an extra burden on users of streams to make sure
they are allowed to do their work once the underlying transports are
ready (e.g. monitoring fds).
|
| |
| |
| |
| |
| | |
External callers don't need to know the exact details, only if there is
data that needs to be flushed or not.
|
| |
| |
| |
| | |
Mainly fixes for Japanese and Korean keyboard layouts.
|
| |
| |
| |
| |
| |
| | |
This is needed by vncserver which doesn't know which parameters are
boolean, and it cannot use the -Param=Value form as that isn't tolerated
by the Xorg code.
|
| | |
|
|\ \ |
|
| | |
| | |
| | |
| | | |
Might as well make these explicit so the cost is apparent.
|
| | |
| | |
| | |
| | |
| | | |
This is the current upstream so let's make use of it to get the latest
in features and fixes.
|
| | |
| | |
| | |
| | |
| | | |
It creates an invalid region if given an empty rect. Fortunately
RegionInitBoxes() handles that just fine, so use that instead.
|
| |/
| |
| |
| |
| | |
We no longer support such old X servers so start using the current
functions.
|
| | |
|
|/
|
|
|
| |
It expects the callers to include this, so make sure we're consistently
providing one.
|
|
|
|
|
|
| |
It seems like many of the X11 operations can end up with no pixels
actually changing. So instead of discovering and adding workarounds for
each individually we'll just check very region added if it's empty.
|
|
|
|
|
| |
We now require at least 1.16, so remove all code that handled older
versions than that.
|
|
|
|
|
| |
We removed support in the code ages ago, but overlooked this part of the
documentation. Also remove some dead code in Xvnc on the same theme.
|
|
|
|
|
|
|
|
|
| |
This sets up a more correct session as there are key tasks that
need to be performed by PAM. E.g. systemd will allocate cgroups
and start base services.
In order to easily handle this as a system service the mapping of
displays is now done via a configuration file.
|
|
|
|
|
|
|
|
| |
This allows Xvnc to build with xorg-server 1.20.7, which requires OS
layers to implement a ddxInputThreadInit function when configured with
--enable-input-thread (the default).
relevant xorg-server commit: e3f26605d85d987da434640f52646d728f1fe919
|
| |
|
|
|
|
|
|
| |
Don't allow subclasses to just override dimensions or buffer details
directly and instead force them to go via methods. This allows us
to do sanity checks on the new values and catch bugs and attacks.
|
| |
|
|
|
|
|
| |
In prepartion for better clipboard extensions that can send Unicode
data between the client and server.
|
|
|
|
|
| |
Change the internal clipboard API to use a request based model in
order to be prepared for more advanced clipboard transfers.
|
|
|
|
|
| |
We convert between UTF-8 and ISO 8859-1 (latin 1) in several places
so create some common routines for this.
|
|
|
|
|
|
| |
We now filter incoming data, which means we can start assuming the
clipboard data is always null terminated. This allows us to clean
up a lot of the internal handling.
|
|
|
|
|
|
| |
This is required by the protocol so we should make sure it is
enforced. We are tolerant of clients that violate this though and
convert incoming clipboard data.
|
|
|
|
|
|
| |
There might be multiple clients using a single IP (e.g. NAT), which
can make the blacklist do more harm than good. So add a setting to
disable it if needed.
|
| |
|
|
|
|
|
|
|
|
| |
This is where to install headers to, not where to find headers to
build against. Toolchains should know where to locate their system
headers while non-system headers should be found using
pkg-config. Users with bizarre setups where the toolchain really
cannot find the system headers should set CPPFLAGS.
|
|
|
|
|
|
|
| |
There is a range of key codes that are never sent by a real keyboard
and are therefore used by layouts to hide "fake" mappings. Make sure
to only use these as a fallback as some applications get confused
when they see these codes.
|
|\ |
|
| | |
|
| | |
|