a synergy client on that OS and pointed it at a system that wasn't
listening for connections then instead of the connection attempt
failing with 'connection refused' the system would claim the
connection succeeded. A subsequent read would reveal the problem
and synergy would "disconnect" and retry, causing the CPU to spin.
The system does correctly set the socket error state so this
workaround checks for socket errors when connecting whether or not
select reports an error state.
Also, sometimes the system doesn't claim success but doesn't report
an error. Synergy eventually times out these attempts.
detect synergy hotkeys but a design flaw in X11 makes it problematic
with many applications. We'll have to fall back to the more
traditional XGrabKey when the time comes.
return 0 when O_NDELAY is set and there is nothing to read. We
want the O_NONBLOCK behavior where read returns -1 and sets
errno to EAGAIN when there is nothing to read.
available and, if it's not, synergy won't start. Users may have
to use an IP server address instead of a hostname since the
service may start before the service that resolves hostnames.
If I knew what that service was I'd depend on it instead.
that to the client. If it did then the user could see the effect of
ctrl+alt+del on both the server and client which we never want. The
user can use ctrl+alt+pause to emulate ctrl+alt+del on the client.
the X11 display connection. The only problematic method was
CXWindowsEventQueueBuffer::addEvent given that the other event queue
methods are only called from the main thread.
on a secondary screen when there's no physical mouse attached to
the system. Kinda flaky when a mouse is attached or detached but
seems to work well enough when the device is not attached to start
with and not attached while running synergy.
and on a secondary screen and locked to the screen (via scroll lock)
mouse motion is sent as motion deltas. When true and scroll lock
is toggled off the mouse is warped to the secondary screen's center
so the server knows where it is. This option is intended to support
games and other programs that repeatedly warp the mouse to the center
of the screen. This change adds general and X11 support but not
win32. The option name is "relativeMouseMoves".