checkpoint.
This commit is contained in:
parent
e267d1dc1c
commit
350cd7e2ca
66
README
66
README
|
@ -3,10 +3,13 @@ synergy
|
||||||
synergy: [noun] a mutually advantageous conjunction of distinct elements
|
synergy: [noun] a mutually advantageous conjunction of distinct elements
|
||||||
|
|
||||||
synergy lets you easily share a single mouse and keyboard between
|
synergy lets you easily share a single mouse and keyboard between
|
||||||
multiple computers through software. it also merges each system's
|
multiple computers, each with its own display, using software only.
|
||||||
clipboards into one, allowing cut-and-paste between systems.
|
redirecting the mouse and keyboard is as simple as moving the mouse
|
||||||
redirecting the mouse and keyboard is as simple as moving the
|
off the edge of your screen. synergy merges the clipboards of all
|
||||||
mouse off the edge of your screen.
|
the systems into one, allowing cut-and-paste between systems. it
|
||||||
|
also synchronizes screensavers so they all start and stop together
|
||||||
|
and, if screen locking is enabled, only one screen requires a
|
||||||
|
password to unlock them all.
|
||||||
|
|
||||||
|
|
||||||
system requirements
|
system requirements
|
||||||
|
@ -147,9 +150,7 @@ connected screen. if there is no connected screen in that
|
||||||
direction then the mouse will not leave the starting screen.
|
direction then the mouse will not leave the starting screen.
|
||||||
|
|
||||||
disconnecting a client while the mouse is on it causes the mouse
|
disconnecting a client while the mouse is on it causes the mouse
|
||||||
to instantly jump to the center of the server screen. note that
|
to instantly jump to the center of the server screen.
|
||||||
there's a bug in this situation where keys may be left in the
|
|
||||||
logical pressed state; see the "known bugs" section.
|
|
||||||
|
|
||||||
the clipboard is automatically transferred between screens. if
|
the clipboard is automatically transferred between screens. if
|
||||||
you copy on one screen you just switch to another screen and paste.
|
you copy on one screen you just switch to another screen and paste.
|
||||||
|
@ -161,6 +162,17 @@ clipboard. whichever X clipboard was changed last becomes the
|
||||||
Windows clipboard. end-of-line sequences (LF on linux and unix,
|
Windows clipboard. end-of-line sequences (LF on linux and unix,
|
||||||
CRLF on Windows) are automatically converted as necessary.
|
CRLF on Windows) are automatically converted as necessary.
|
||||||
|
|
||||||
|
synergy synchronizes screensavers. the screensavers on client
|
||||||
|
screens are disabled when they connect to the server. when the
|
||||||
|
primary screen's screensaver starts, the screensaver on each
|
||||||
|
secondary screen starts too. all the secondary screensavers are
|
||||||
|
stopped when the primary screensaver stops. moving the mouse or
|
||||||
|
pressing a key will stop the primary screensaver, regardless of
|
||||||
|
which screen the mouse was on when the screensavers started. if
|
||||||
|
the primary screensaver requires a password to unlock then the
|
||||||
|
user is prevented from switching to the secondary screens until
|
||||||
|
the primary screen is unlocked.
|
||||||
|
|
||||||
|
|
||||||
installing as a daemon/service
|
installing as a daemon/service
|
||||||
------------------------------
|
------------------------------
|
||||||
|
@ -217,7 +229,9 @@ linux, unix:
|
||||||
connect to the X server until it succeeds. the DISPLAY env var
|
connect to the X server until it succeeds. the DISPLAY env var
|
||||||
should be set appropriately before starting synergy. note that
|
should be set appropriately before starting synergy. note that
|
||||||
it probably will not be set when running startup scripts so you
|
it probably will not be set when running startup scripts so you
|
||||||
have to set it yourself (probably to ":0").
|
have to set it yourself (probably to ":0"). if it's not set
|
||||||
|
then synergy will use the default ":0.0" which is correct in
|
||||||
|
most cases.
|
||||||
|
|
||||||
if the X server goes down then all the clients connected to it
|
if the X server goes down then all the clients connected to it
|
||||||
must terminate. synergy has to deal with this because some
|
must terminate. synergy has to deal with this because some
|
||||||
|
@ -228,13 +242,13 @@ linux, unix:
|
||||||
|
|
||||||
some display managers also prevent any X client other than
|
some display managers also prevent any X client other than
|
||||||
those they themselves start from connecting to the X server
|
those they themselves start from connecting to the X server
|
||||||
for security reasons. for these display managers, synergy
|
during login for security reasons. for these display managers,
|
||||||
should be part of the manager's screen initialization script
|
synergy should be part of the manager's screen initialization
|
||||||
and synergy should be started with the --no-restart option
|
script and synergy should be started with the --no-restart
|
||||||
since the display manager will do the restarting. otherwise,
|
option since the display manager will do the restarting.
|
||||||
synergy should not use the --no-restart option and it can be
|
otherwise, synergy should not use the --no-restart option and
|
||||||
started at boot time (sometime after the network is started)
|
it can be started at boot time (sometime after the network is
|
||||||
or when the X server is started.
|
started) or when the X server is started.
|
||||||
|
|
||||||
finally, some display managers (xdm and kdm, but not gdm)
|
finally, some display managers (xdm and kdm, but not gdm)
|
||||||
grab the keyboard and do not release it until the user logs
|
grab the keyboard and do not release it until the user logs
|
||||||
|
@ -325,12 +339,13 @@ server command line options
|
||||||
-a, --address <address> listen for connections on the given address
|
-a, --address <address> listen for connections on the given address
|
||||||
-c, --config <pathname> read configuration from <pathname>
|
-c, --config <pathname> read configuration from <pathname>
|
||||||
|
|
||||||
an address has one of the following forms:
|
<address> has one of the following forms:
|
||||||
<hostname>
|
<hostname>
|
||||||
:<port>
|
:<port>
|
||||||
<hostname>:<port>
|
<hostname>:<port>
|
||||||
<hostname> is a hostname or address of a network interface on the
|
<hostname> is a hostname or address of a network interface on the
|
||||||
server system. <port> is a port number from 1 to 65535.
|
server system. <port> is a port number from 1 to 65535. <hostname>
|
||||||
|
defaults to the system's hostname and <port> defaults to 24800.
|
||||||
|
|
||||||
|
|
||||||
client command line options
|
client command line options
|
||||||
|
@ -339,7 +354,9 @@ client command line options
|
||||||
--no-camp try connection to server only once
|
--no-camp try connection to server only once
|
||||||
<address> address of server
|
<address> address of server
|
||||||
|
|
||||||
see the "server command line options" for a description of <address>.
|
see the "server command line options" for a description of <address>
|
||||||
|
but note that there is no default <hostname> though there is a
|
||||||
|
default <port>.
|
||||||
|
|
||||||
|
|
||||||
release notes
|
release notes
|
||||||
|
@ -397,22 +414,15 @@ best server.
|
||||||
known bugs
|
known bugs
|
||||||
----------
|
----------
|
||||||
all:
|
all:
|
||||||
* screen savers are not handled
|
|
||||||
* non-ASCII characters are not supported
|
* non-ASCII characters are not supported
|
||||||
* keys may be left in the logical pressed state on a client if it
|
|
||||||
terminates while the mouse is on that client. physically pressing
|
|
||||||
and releasing the key fixes the problem.
|
|
||||||
* plain text is the only supported clipboard format
|
* plain text is the only supported clipboard format
|
||||||
|
|
||||||
windows:
|
windows:
|
||||||
* screen flashes when entering the screen
|
* screen flashes when entering the screen
|
||||||
* synergy may interfere with desktop switcher programs, however
|
* synergy may interfere with desktop switcher programs. however,
|
||||||
synergy understands and handles multiple desktops.
|
synergy understands and handles multiple desktops.
|
||||||
* there should be a control panel
|
* there should be a control panel
|
||||||
* there should be a taskbar icon
|
* there should be a taskbar icon
|
||||||
* hook DLL sometimes not properly shutdown. this is usually only
|
|
||||||
a problem when forcibly killing the synergy server then trying
|
|
||||||
to restart it. logging off and on should fix it.
|
|
||||||
|
|
||||||
windows 95 family:
|
windows 95 family:
|
||||||
* typing into a console window can be slow
|
* typing into a console window can be slow
|
||||||
|
@ -424,9 +434,6 @@ windows NT family:
|
||||||
* does not gracefully handle NoInteractiveServices being enabled
|
* does not gracefully handle NoInteractiveServices being enabled
|
||||||
|
|
||||||
linux:
|
linux:
|
||||||
* one thread may linger if the application crashes.
|
|
||||||
use kill or killall to terminate this process (threads are
|
|
||||||
processes under linux) before restarting.
|
|
||||||
* some keyboards have toggle keys that toggle on on key press and
|
* some keyboards have toggle keys that toggle on on key press and
|
||||||
toggle off on the key release after the next key press. synergy
|
toggle off on the key release after the next key press. synergy
|
||||||
doesn't handle these properly.
|
doesn't handle these properly.
|
||||||
|
@ -448,3 +455,4 @@ tips and tricks
|
||||||
* turn off mouse driven virtual desktop switching on X windows. it
|
* turn off mouse driven virtual desktop switching on X windows. it
|
||||||
will interfere with synergy. use keyboard shortcuts instead.
|
will interfere with synergy. use keyboard shortcuts instead.
|
||||||
|
|
||||||
|
* synergy's screensaver synchronization works best with xscreensaver.
|
||||||
|
|
79
notes
79
notes
|
@ -7,6 +7,17 @@ hangup if invalid
|
||||||
query info -->
|
query info -->
|
||||||
<-- info (size)
|
<-- info (size)
|
||||||
|
|
||||||
|
---
|
||||||
|
enable heartbeat disconnection or remove heartbeat sending in client
|
||||||
|
should either ship with it fully enabled or fully disabled
|
||||||
|
possibly make it part of startup negotiation
|
||||||
|
|
||||||
|
---
|
||||||
|
sometimes jumping too far into secondary screen
|
||||||
|
probably bogus delta (adding in center pixel coords into delta?)
|
||||||
|
this is with an X primary and secondary
|
||||||
|
don't know which matters but probably X primary
|
||||||
|
|
||||||
---
|
---
|
||||||
use automake
|
use automake
|
||||||
use doxygen
|
use doxygen
|
||||||
|
@ -93,14 +104,6 @@ bug with half-duplex keys
|
||||||
now grace starts server and is locked to screen
|
now grace starts server and is locked to screen
|
||||||
grace should ignore half duplex keys when seeing if locked to screen
|
grace should ignore half duplex keys when seeing if locked to screen
|
||||||
|
|
||||||
---
|
|
||||||
must send up key events when leaving screen for keys still down
|
|
||||||
some key combos get eaten and the key ups aren't sent
|
|
||||||
e.g. ctrl+alt+del on win2k to grace
|
|
||||||
mouse is forced back to to win2k
|
|
||||||
ctrl and alt up not sent to grace
|
|
||||||
grace thinks ctrl and alt are down 'til user physically press/releases them
|
|
||||||
|
|
||||||
---
|
---
|
||||||
bug in updating screens
|
bug in updating screens
|
||||||
saw a goofy set of screens after update
|
saw a goofy set of screens after update
|
||||||
|
@ -123,10 +126,17 @@ Xsetup file may have to kill previous synergy
|
||||||
not handling international characters
|
not handling international characters
|
||||||
|
|
||||||
---
|
---
|
||||||
screen saver won't lock screen if on secondary screen
|
xscreensaver won't start if pointer on secondary screen
|
||||||
because synergy has mouse/keyboard grabbed
|
unless using MIT or SGI screen saver extensions
|
||||||
synergy will immediately release grabs when screen saver activates
|
otherwise it cannot know when to stop the screen saver
|
||||||
but looks like xscreensaver wont map window until it grabs
|
cos it can't grab mouse and keyboard
|
||||||
|
---
|
||||||
|
all screensavers hidden when showing win32 screensaver lock window
|
||||||
|
win32 kills the screen saver and shows the lock window
|
||||||
|
synergy thinks the screen saver is dead (cos the process is)
|
||||||
|
deactivates secondary screen screen savers
|
||||||
|
user is constrained to locked display, though
|
||||||
|
also, we don't detect screen saver restarting if user doesn't unlock screen
|
||||||
|
|
||||||
---
|
---
|
||||||
not distinguishing between caps lock and shift lock
|
not distinguishing between caps lock and shift lock
|
||||||
|
@ -142,12 +152,7 @@ not distinguishing between caps lock and shift lock
|
||||||
currently sending all clipboards to all clients
|
currently sending all clipboards to all clients
|
||||||
some clients may not need all clipboards
|
some clients may not need all clipboards
|
||||||
add filtering mechanism
|
add filtering mechanism
|
||||||
|
setup is probably part of clipboard (format) negotiation
|
||||||
---
|
|
||||||
sometimes jumping too far into secondary screen
|
|
||||||
probably bogus delta (adding in center pixel coords into delta?)
|
|
||||||
this is with an X primary and secondary
|
|
||||||
don't know which matters but probably X primary
|
|
||||||
|
|
||||||
---
|
---
|
||||||
not handling large motif selections
|
not handling large motif selections
|
||||||
|
@ -167,16 +172,6 @@ inconsistencies
|
||||||
should use pointers for any in/out parameter
|
should use pointers for any in/out parameter
|
||||||
but using references in some places
|
but using references in some places
|
||||||
|
|
||||||
---
|
|
||||||
win32 hook DLL sometimes not unloaded when server is killed?
|
|
||||||
will get assertion on restart as if DLL was still loaded.
|
|
||||||
can tell because all DLL copies share data segment.
|
|
||||||
should prevent multiple copies from loading (or initializing)
|
|
||||||
replace asserts with (multithread locked) check of variables
|
|
||||||
return 0 if busy
|
|
||||||
server must handle failure
|
|
||||||
try to figure out why it's not unloading
|
|
||||||
|
|
||||||
---
|
---
|
||||||
avoid fullscreen transparent window on win32
|
avoid fullscreen transparent window on win32
|
||||||
using CBT hook to discard activation/focus messages
|
using CBT hook to discard activation/focus messages
|
||||||
|
@ -200,7 +195,7 @@ keyboard hook problems (win32)
|
||||||
thinks the key is always down.
|
thinks the key is always down.
|
||||||
|
|
||||||
---
|
---
|
||||||
try to determine keyboard quirks automatically
|
try to determine X11 keyboard quirks automatically
|
||||||
in particular, set the half-duplex flags
|
in particular, set the half-duplex flags
|
||||||
maybe KBD extension will help determine this
|
maybe KBD extension will help determine this
|
||||||
|
|
||||||
|
@ -219,6 +214,9 @@ adjust thread priorities on win32
|
||||||
haven't tried real-time priority
|
haven't tried real-time priority
|
||||||
a very high priority on client fixes delay when typeing into console
|
a very high priority on client fixes delay when typeing into console
|
||||||
is it the output console causing the slowness?
|
is it the output console causing the slowness?
|
||||||
|
mouse motion compression seems to handle slow dragging on grace
|
||||||
|
pretty sure nothing else was wrong on grace
|
||||||
|
maybe same problem and solution on win32
|
||||||
|
|
||||||
---
|
---
|
||||||
results:
|
results:
|
||||||
|
@ -371,11 +369,6 @@ send all toggle states instead of (individual) toggle ups/downs (gspencer)
|
||||||
and turn it off on the master (and all other clients) too, but I think
|
and turn it off on the master (and all other clients) too, but I think
|
||||||
that's probably too complicated to implement.
|
that's probably too complicated to implement.
|
||||||
|
|
||||||
dragging windows is too slow
|
|
||||||
grace (as client) exhibits this
|
|
||||||
dunno if it happens with audrey2 as the client
|
|
||||||
liz says her windows laptop does it too
|
|
||||||
|
|
||||||
double clicking NT binaries fails (liz)
|
double clicking NT binaries fails (liz)
|
||||||
add note to README or use separate binaries for services. client
|
add note to README or use separate binaries for services. client
|
||||||
would also need a dialog to query options. server would probably
|
would also need a dialog to query options. server would probably
|
||||||
|
@ -396,6 +389,24 @@ non-functional on ctrl+alt+del screen in win2k (kurt)
|
||||||
i suppose it must be when win2k is the client. mouse input wasn't
|
i suppose it must be when win2k is the client. mouse input wasn't
|
||||||
working. keyboard probably didn't work either.
|
working. keyboard probably didn't work either.
|
||||||
|
|
||||||
|
gspencer:
|
||||||
|
OK, I've narrowed it down a little -- it seems to happen if you have any
|
||||||
|
key down (I tried the shift key and the letter 's' key) when you cross
|
||||||
|
over from master to client, which would make me suspect the "capture"
|
||||||
|
code, since if you have a key down you aren't supposed to be able to
|
||||||
|
cross over...
|
||||||
|
|
||||||
|
|
||||||
|
== fixed? ===
|
||||||
|
dragging windows is too slow
|
||||||
|
grace (as client) exhibits this
|
||||||
|
dunno if it happens with audrey2 as the client
|
||||||
|
liz says her windows laptop does it too
|
||||||
|
also closing/iconifying has a delay
|
||||||
|
dragging multiple files also sluggish
|
||||||
|
|
||||||
|
liz seems to still be seeing sluggish cursor updates
|
||||||
|
|
||||||
---
|
---
|
||||||
automake stuff
|
automake stuff
|
||||||
rebuild:
|
rebuild:
|
||||||
|
|
Loading…
Reference in New Issue