Commit Graph

288 Commits

Author SHA1 Message Date
crs cec075cb60 fixed bug introduced by previous checkin. calling XCheckIfEvent()
multiple times is *not* the same as calling XIfEvent() because the
former will re-encounter events that it didn't process previously.
to make things simple it now pulls events off the queue and saves
them if not processed for selection transfer and puts them back
afterwards.
2002-06-20 16:27:49 +00:00
crs 2423dc662d speeded up clipboard transfer by avoiding a selection request
when it wasn't necessary.  (in particular, we were getting the
clipboard update time from the owner then emptying the clipboard,
so we didn't need to get the time.  worse, most owners don't
support getting the time and we often timed out.)

also fixed a multithread bug using the X display.  we were using
a CThread to send an event after a timeout while we were waiting
in XIfEvent().  this necessarily involved two threads calling
into Xlib at once, which is not allowed.  now using polling to
do the timeout because Xlib doesn't have a function to get
events with a timeout.
2002-06-20 14:01:44 +00:00
crs 3d27de39bb checkpoint. trying to fix a delay when sending clipboards on X. 2002-06-20 13:35:28 +00:00
crs c4fea1c32b added workaround for bug windows 98 (Me?) and multiple displays:
absolute mouse_event() moves don't work except for primary
display.
2002-06-20 11:13:37 +00:00
crs 4f418e015e work around for bug with mouse driver on lombard powerbook. 2002-06-20 09:19:55 +00:00
crs a16e7217ce fixed bugs in mouse motion. wasn't taking care to capture all
motion events relative to the previous mouse position.  for
example, if two mouse events arrive, the first at x+1,y and
the second at x+2,y, we used to compute deltas of 1,0 and 2,0
instead of 1,0 and 1,0.  that's fixed.  also worked around a
bug (probably) in windows that caused a motion event after a
SetCursorPos() to be lost or reported one pixel off from the
correct position.  now using mouse_event() which doesn't
have that problem.  also fixed calculation of normalized
coordinates for mouse_event() when there are multiple
displays.
2002-06-19 20:24:35 +00:00
crs bebb63ac53 checkpoint. initial support for multiple displays on win32. 2002-06-19 17:03:29 +00:00
crs 29c90a3b6c fixed addition of X11 -L and -l options on link lines. 2002-06-19 14:45:22 +00:00
crs c4f1dbdae4 checkpoint. automake changes for wait(). 2002-06-19 12:21:26 +00:00
crs 8a103ce63c checkpoint. automake changes for reentrant functions. 2002-06-19 11:58:48 +00:00
crs 9c7e863d77 checkpoint. more conversion to automake. 2002-06-19 11:23:49 +00:00
crs f85457c49f moved auxillary automake files into config directory. 2002-06-19 08:23:08 +00:00
crs eabfcb9e16 added automake required tools. 2002-06-18 19:47:52 +00:00
crs 1c604ecc3d started to convert to autoconf/automake. 2002-06-18 19:44:34 +00:00
crs fadc73d348 now checking vsnprintf result against < 0 instead of == -1
for portability.
2002-06-18 18:34:55 +00:00
crs 32713d0cfb added FIXME to commented out code. 2002-06-18 18:33:59 +00:00
crs 68740da942 made command line parsing a little more sane with respect to
windows NT services.
2002-06-17 15:44:45 +00:00
crs a81f573666 updates 2002-06-17 14:10:25 +00:00
crs fe16546a1d formatting changes. 2002-06-17 13:31:21 +00:00
crs 57fb87ad10 refactored ISocket into IDataSocket. the latter and IListenSocket
now derive from ISocket.
2002-06-17 12:02:26 +00:00
crs e3dcf7febf performance fixes on win32 plus clean up of some warnings. also
improved error messages when uninstalling service.
2002-06-14 18:08:20 +00:00
crs 21af7b2f17 added a blurb about synrgyhk.dll and that the service manager
will look for the binary wherever it was when --install was
used.
2002-06-11 20:10:49 +00:00
crs 2b07c8091c windows fixes needed for formatting changes. 2002-06-11 20:09:59 +00:00
crs c54d92b78f commented out half-duplex flags that should never have been
uncommented.
2002-06-11 18:33:03 +00:00
crs 88490de5a2 fixed bug with switching screens on primary when there's no
link in that direction (it would assert).  introduced bug
when adding support for wrapping.  now ignores attempts to
move in a direction with no link.
2002-06-11 18:31:06 +00:00
crs fba8063c17 added missing #include <signal.h>. 2002-06-11 18:30:08 +00:00
crs 62519b19fe indentation and other formatting changes. also cleaned up
#includes.
2002-06-10 22:06:45 +00:00
crs 68940e58f3 win32 changes. now including windows.h with WIN32_LEAN_AND_MEAN
to avoid including some stuff we don't want (like winsock).
2002-06-10 16:49:46 +00:00
crs 500990b153 fixes. 2002-06-10 11:09:02 +00:00
crs cf0805c93a updates. 2002-06-10 11:08:02 +00:00
crs afc8d6a9e7 added example files and a README. 2002-06-10 11:00:55 +00:00
crs 172fc7e5b3 now allowing a screen to be its own neighbor to allow wrapping.
also no longer warping mouse to 0,0 when setting server screen
info.  that was causing the mouse to jump if the server screen
had itself as its left or top neighbor (directly or indirectly)
once a screen could be its own neighbor.
2002-06-10 10:08:36 +00:00
crs 2ea3d66112 fixed stripping of comments from configuration streams. 2002-06-10 09:49:21 +00:00
crs 2e931a4fd9 changed "permitted" to "supported" in error messages. 2002-06-10 09:49:03 +00:00
crs 0a2f8547fc no longer camps if the server sends an error message. 2002-06-09 23:08:18 +00:00
crs 28afcddf62 added support for camping, i.e. repeatly trying to connect to the
server until we succeed.
2002-06-09 22:20:28 +00:00
crs 30a6a8b837 CTimerThread now allows zero and negative timeouts. a negative
timeout never times out and CTimerThread is a no-op.
2002-06-09 22:20:01 +00:00
crs db8165db09 now using ":0.0" as the display if DISPLAY isn't set. 2002-06-09 18:03:32 +00:00
crs e94be94a50 checkpoint. 2002-06-09 18:00:03 +00:00
crs 7ca4804667 added command line option to choose the screen name. also now
using the hostname as the default name.  this is on both client
and server.
2002-06-09 17:59:32 +00:00
crs c357180530 added FIXME comment. 2002-06-09 17:35:28 +00:00
crs 255e46017e fixed problem with setConfig(). if the new config didn't
include a screen that was already connected under an alias
then that screen wouldn't be disconnected and removed from
the screen list until the screen voluntarily disconnected.
at that time removeConnection() would assert because the
screen name would not be found.  now using the canonical
name in the protocol object as well as CServer.  this
allows setConfig() to always detect removed screens and
disconnect them.
2002-06-09 17:21:33 +00:00
crs a9910041b3 now exits instead of restarting if child dies due to an
unexpected signal.
2002-06-09 16:53:57 +00:00
crs 555aa19eb2 added command line and configuration file arguments to choose
the address and port to listen on or connect to.  changed the
default port and put it in ProtocolTypes.h.  the HTTP port is
now no longer opened unless the --http argument is supplied
or the config file includes it.
2002-06-09 16:53:25 +00:00
crs 8b2a282eb5 added aliases to configuration. an alias is another name for
a screen.  it's expected that the server will want to accept
a given client under several names (e.g. the hostname and the
FQDN).
2002-06-08 23:24:40 +00:00
crs 562e3aebb5 checkpoint. 2002-06-08 21:48:16 +00:00
crs 4b28ffc5b2 win32 changes. changed names of binaries. added support for
running as (and installing/installing) a service.  added
support for multiple desktops (NT only, 95 doesn't support
multiple desktops).
2002-06-08 21:48:00 +00:00
crs 5709d8ddef refactored some common platform dependent stuff into a new
library:  platform.  also removed test.cpp.
2002-06-04 12:26:23 +00:00
crs c3649df304 added command line parsing, restartability, and daemonizing to
client.  broke win32 stuff though.  also moved version and
copyright constants into a new file and renamed protocol
version constants.
2002-06-04 11:06:26 +00:00
crs e409c83ef9 fixed delete bug in printt -- when skipping file and line the
deleted pointer was wrong.
2002-06-04 11:03:34 +00:00