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: