diff --git a/README b/README index 2993e486..cc5da6c5 100644 --- a/README +++ b/README @@ -3,10 +3,13 @@ synergy synergy: [noun] a mutually advantageous conjunction of distinct elements synergy lets you easily share a single mouse and keyboard between -multiple computers through software. it also merges each system's -clipboards into one, allowing cut-and-paste between systems. -redirecting the mouse and keyboard is as simple as moving the -mouse off the edge of your screen. +multiple computers, each with its own display, using software only. +redirecting the mouse and keyboard is as simple as moving the mouse +off the edge of your screen. synergy merges the clipboards of all +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 @@ -147,9 +150,7 @@ connected screen. if there is no connected screen in that direction then the mouse will not leave the starting screen. disconnecting a client while the mouse is on it causes the mouse -to instantly jump to the center of the server screen. note that -there's a bug in this situation where keys may be left in the -logical pressed state; see the "known bugs" section. +to instantly jump to the center of the server screen. the clipboard is automatically transferred between screens. if 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, 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 ------------------------------ @@ -217,7 +229,9 @@ linux, unix: connect to the X server until it succeeds. the DISPLAY env var should be set appropriately before starting synergy. note that 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 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 those they themselves start from connecting to the X server - for security reasons. for these display managers, synergy - should be part of the manager's screen initialization script - and synergy should be started with the --no-restart option - since the display manager will do the restarting. otherwise, - synergy should not use the --no-restart option and it can be - started at boot time (sometime after the network is started) - or when the X server is started. + during login for security reasons. for these display managers, + synergy should be part of the manager's screen initialization + script and synergy should be started with the --no-restart + option since the display manager will do the restarting. + otherwise, synergy should not use the --no-restart option and + it can be started at boot time (sometime after the network is + started) or when the X server is started. finally, some display managers (xdm and kdm, but not gdm) grab the keyboard and do not release it until the user logs @@ -325,12 +339,13 @@ server command line options -a, --address
listen for connections on the given address -c, --config read configuration from -an address has one of the following forms: +
has one of the following forms: : : is a hostname or address of a network interface on the -server system. is a port number from 1 to 65535. +server system. is a port number from 1 to 65535. +defaults to the system's hostname and defaults to 24800. client command line options @@ -339,7 +354,9 @@ client command line options --no-camp try connection to server only once
address of server -see the "server command line options" for a description of
. +see the "server command line options" for a description of
+but note that there is no default though there is a +default . release notes @@ -397,22 +414,15 @@ best server. known bugs ---------- all: - * screen savers are not handled * 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 windows: * 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. * there should be a control panel * 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: * typing into a console window can be slow @@ -424,9 +434,6 @@ windows NT family: * does not gracefully handle NoInteractiveServices being enabled 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 toggle off on the key release after the next key press. synergy doesn't handle these properly. @@ -448,3 +455,4 @@ tips and tricks * turn off mouse driven virtual desktop switching on X windows. it will interfere with synergy. use keyboard shortcuts instead. +* synergy's screensaver synchronization works best with xscreensaver. diff --git a/notes b/notes index a1ebdb65..c0ff39ba 100644 --- a/notes +++ b/notes @@ -7,6 +7,17 @@ hangup if invalid query info --> <-- 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 doxygen @@ -93,14 +104,6 @@ bug with half-duplex keys now grace starts server and is 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 saw a goofy set of screens after update @@ -123,10 +126,17 @@ Xsetup file may have to kill previous synergy not handling international characters --- -screen saver won't lock screen if on secondary screen - because synergy has mouse/keyboard grabbed - synergy will immediately release grabs when screen saver activates - but looks like xscreensaver wont map window until it grabs +xscreensaver won't start if pointer on secondary screen + unless using MIT or SGI screen saver extensions + otherwise it cannot know when to stop the screen saver + 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 @@ -142,12 +152,7 @@ not distinguishing between caps lock and shift lock currently sending all clipboards to all clients some clients may not need all clipboards add filtering mechanism - ---- -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 + setup is probably part of clipboard (format) negotiation --- not handling large motif selections @@ -167,16 +172,6 @@ inconsistencies should use pointers for any in/out parameter 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 using CBT hook to discard activation/focus messages @@ -200,7 +195,7 @@ keyboard hook problems (win32) 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 maybe KBD extension will help determine this @@ -219,6 +214,9 @@ adjust thread priorities on win32 haven't tried real-time priority a very high priority on client fixes delay when typeing into console 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: @@ -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 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) add note to README or use separate binaries for services. client 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 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 rebuild: