diff --git a/INSTALL b/INSTALL index 5bf35641..0fb1a205 100644 --- a/INSTALL +++ b/INSTALL @@ -100,7 +100,7 @@ Running on Windows ------------------ Double click `synergy' on the server computer. The server is the -computer who's mouse and keyboard will be shared. This brings up a +computer that shares its mouse and keyboard. This brings up a dialog that lets you configure the server then test out the configuration or start the server. @@ -127,6 +127,12 @@ First configure the server. Click the `Server' radio button * Click `OK' * Click `Test' +Note that when you link screens together you must explictly link in both +directions. For instance, if you have computer A on the left of B then +you must indicate A is to the left of B *and* that B is to the right of +A. If you don't do both then you'll find you're unable to leave one of +the screens. + The server will start and you'll see a console window with log messages telling you about synergy's progress. If an error occurs you'll get one or more dialog boxes telling you what the errors are; read the errors @@ -251,6 +257,28 @@ to create the configuration file. the windows client to map meta to alt (using `meta = alt'). + * aliases + is a list of screen names just like in the `screens' + section except each screen is followed by a list of aliases, + one per line *not* followed by a colon. An alias is a + screen name and must be unique. During screen name lookup + each alias is equivalent to the screen name it aliases. So + a client can connect using its canonical screen name or any + of its aliases. + + Example: + + section: aliases + larry: + larry.stooges.com + curly: + shemp + end + + Screen `larry' is also known as `larry.stooges.com' and can + connect as either name. Screen `curly' is also known as + `shemp'. (Hey, it's just an example.) + * links is a list of screen names just like in the `screens' section except each screen is followed by a list of links, @@ -280,28 +308,6 @@ to create the configuration file. not have to be symmetrical; moving up from moe then down from curly lands the cursor on larry. - * aliases - is a list of screen names just like in the `screens' - section except each screen is followed by a list of aliases, - one per line *not* followed by a colon. An alias is a - screen name and must be unique. During screen name lookup - each alias is equivalent to the screen name it aliases. So - a client can connect using its canonical screen name or any - of its aliases. - - Example: - - section: aliases - larry: - larry.stooges.com - curly: - shemp - end - - Screen `larry' is also known as `larry.stooges.com' and can - connect as either name. Screen `curly' is also known as - `shemp'. (Hey, it's just an example.) - * options is a list of lines of the form `name = value'. These set the global options. @@ -485,30 +491,66 @@ the necessary (probably root) permission to modify the display manager configuration files. If you don't have that permission you can start synergy after logging in via the .xsession file. -To have the display manager start synergy, edit the Xsetup script. -The location of this file depends on your installation. It might -be /etc/X11/xdm/Xsetup. Near the end of the file but before -anyplace the script calls exit, start the client with something -like: +Typically, you need to edit three script files. The first file +will start synergy before a user logs in, the second will kill +that copy of synergy, and the third will start it again after +the user logs in. + +The contents of the scripts varies +greatly between systems so there's no one definite place where +you should insert your edits. However, these scripts often exit +before reaching the bottom so put the edits near the top of the +script. + +The location and names of these files depend on the operating +system and display manager you're using. A good guess for the +location is /etc/X11. Typical file names are: + + xdm gdm + --- --- + 1) xdm/Xsetup gdm/Init/Default (*) + 2) xdm/Xstartup gdm/PostLogin/Default (*) + 3) xdm/Xsession gdm/Sessions/Default (*, **) + +*) The Default' file is used if no other suitable file is found. +gdm will try (e.g. ':0', ':1') and (e.g. +'somehost'), in that order, before and instead of 'Default'. +**) gdm may use gdm/Xsession, xdm/Xsession or dm/Xsession if +gdm/Sessions/Default doesn't exist. + +For a synergy client, add the following to the first file: /usr/bin/killall synergyc - /usr/local/bin/synergyc [] + sleep 1 + /usr/bin/synergyc [] - must not include `-f' or `--no-daemon'. Change the -paths as necessary. It's important to make sure no old copies -of synergy are running so they can't interfere with the new one. +Of course, the path to synergyc depends on where you installed it +so adjust as necessary. -To start the server use something like: +Add to the second file: - /usr/bin/killall synergys - /usr/local/bin/synergys [] --config + /usr/bin/killall synergyc + sleep 1 -Again, must not include `-f' or `--no-daemon'. If -the configuration pathname is one of the default locations then -you don't need the `--config' option. +And to the third file: + + /usr/bin/killall synergyc + sleep 1 + /usr/bin/synergyc [] + +Note that must not include '-f' or '--no-daemon' or +the script will never exit and you won't be able to log in. + +The changes are the same for the synergy server except replace +'synergyc' with 'synergys' and use the appropriate synergys +command line options. Note that the first script is run as root +so synergys will look for the configuration file in root's home +directory then in /etc. Make sure it exists in one of those +places or use the '--config - VDEPTH = ./$(VPATH)/$(DEPTH) - is `..', `../..', `../../..', etc, - whichever references the top directory of the synergy tree. For - example, for a subdirectory of the top level use `..', for a - subdirectory of a subdirectory of the top level use `../..'. * Lists should have one item per line and end in $(NULL). For example: EXTRA_DIST = \ @@ -256,7 +250,8 @@ following these guidelines. $(NULL) Indentation must use tabs in a makefile. Line continuations (backslashes) should be aligned using tabs. - * Lists of files should be sorted alphabetically. Lists of + * Lists of files should be sorted alphabetically in groups (e..g + source files, header files, then other files). Lists of subdirectories must be in the desired build order. - Source Formatting diff --git a/README b/README index f67347a7..830543c9 100644 --- a/README +++ b/README @@ -52,7 +52,7 @@ System Requirements * Microsoft Windows NT, Windows 2000, Windows XP (the Windows NT family); -* Mac OS X 10.3 (10.2 may work); +* Mac OS X 10.2 or higher; * Unix: X Windows version 11 revision 4 or up with the XTEST extension @@ -87,17 +87,17 @@ via TCP/IP networking. Most systems come with this installed. The first step is to pick which keyboard and mouse you want to share. The computer with that keyboard and mouse is called the "primary screen" and it runs the synergy server. All of the other computers -are "secondary screens" and run the synergy client. The Windows NT -family, starting with NT 4 with service pack 3, and Unix are the best -choices. The Windows version provides a convenient GUI for -configuration. +are "secondary screens" and run the synergy client. Second, you install the software. Choose the appropriate package and install it. On Windows you should run SynergyInstaller. You must install the software on all the computers that will share the mouse and keyboard. -Third, you configure and start the server. +Third, you configure and start the server. The Windows version +provides a convenient GUI for configuration. Other platforms +require creating a simple text file. + Windows ------- Run `synergy' by double clicking on it. This brings up a dialog. @@ -122,6 +122,12 @@ Third, you configure and start the server. * Enter the server's screen name next to `Screen Name' * Click `OK' + Note that when you link screens together you must explictly link in both + directions. For instance, if you have computer A on the left of B then + you must indicate A is to the left of B *and* that B is to the right of + A. If you don't do both then you'll find you're unable to leave one of + the screens. + Now click `Test'. The server will start and you'll see a console window with log messages telling you about synergy's progress. If an error occurs you'll get a dialog box telling you synergy is about to quit; @@ -202,8 +208,9 @@ on Windows 95, 98, or Me then make sure the synergy log window is not the active window; just click on another window, like synergy's `Running Test...' window, if it is. Use the mouse and keyboard normally except use the edge of the screens to jump to other screens. -You can also cut-and-paste across computers. Currently, only text -transfers between computers. Start the remaining clients. +You can also cut-and-paste text, HTML, and images across computers +(HTML and images are not supported on OS X yet). Start the remaining +clients. Once the configuration is verified, see the instructions in INSTALL under `Starting Automatically on ...' for details on running synergy diff --git a/TODO b/TODO index bbb2a1aa..624fcb78 100644 --- a/TODO +++ b/TODO @@ -14,11 +14,11 @@ Things to do to synergy, in no particular order: There's a tray icon on win32 for checking synergy's current status and to quit synergy. It'd be nice to have something similar on - X11. + other platforms. * Port to other platforms - The MacOS X port is still incomplete but getting close. + The MacOS X port is usable but still incomplete. * Write man/html pages @@ -52,3 +52,7 @@ Then there are major new features: directing certain keystrokes to the same system, never sending certain keystrokes to some systems, and remapping keys on the server to other keys on the clients. + +* On-the-fly configuration + + There should be a way of reconfiguring synergy while it's running.