Moved synergy client to cmd/synergyc and renamed it synergyc.
Moved synergy server to cmd/synergys and renamed it synergys. Updated documentation to reflect that and the win32 launcher.
This commit is contained in:
parent
2bea3d1460
commit
4c6eb241a6
11
BUGS
11
BUGS
|
@ -6,11 +6,6 @@ Report bugs to: synergy@groundhog.pair.com
|
||||||
When reporting bugs, please include the version of the operating
|
When reporting bugs, please include the version of the operating
|
||||||
system you're using and what locale you use.
|
system you're using and what locale you use.
|
||||||
|
|
||||||
* Documentation is missing
|
|
||||||
|
|
||||||
There are currently no man pages or other documents describing the
|
|
||||||
usage of the various commands.
|
|
||||||
|
|
||||||
* Not all keystrokes are handled
|
* Not all keystrokes are handled
|
||||||
|
|
||||||
Certain keystrokes are not captured by the synergy server and,
|
Certain keystrokes are not captured by the synergy server and,
|
||||||
|
@ -100,9 +95,3 @@ system you're using and what locale you use.
|
||||||
|
|
||||||
The automake configuration isn't complete so synergy won't build
|
The automake configuration isn't complete so synergy won't build
|
||||||
properly on some (many) systems.
|
properly on some (many) systems.
|
||||||
|
|
||||||
* Only text is supported on the clipboard
|
|
||||||
|
|
||||||
The clipboard supports Unicode and current locale encoded text but
|
|
||||||
there are numerous other data types it should support, e.g. images,
|
|
||||||
sound, raw binary data, etc.
|
|
||||||
|
|
183
INSTALL
183
INSTALL
|
@ -13,31 +13,19 @@ To build synergy from the sources you'll need the following:
|
||||||
* gcc 2.95 (or up?)
|
* gcc 2.95 (or up?)
|
||||||
* X11R4 or up headers and libraries
|
* X11R4 or up headers and libraries
|
||||||
|
|
||||||
If building from CVS on Linux you'll also need:
|
|
||||||
* autoconf 2.52 (older versions may work)
|
|
||||||
* automake 1.5 (older versions may work)
|
|
||||||
|
|
||||||
|
|
||||||
Configuring the build
|
Configuring the build
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
This step is only necessary when building on Linux.
|
This step is only necessary when building on Linux.
|
||||||
|
|
||||||
If you're building synergy from CVS you need to create the configure
|
|
||||||
script and the Makefile.in files. To do that:
|
|
||||||
|
|
||||||
% aclocal
|
|
||||||
% autoheader
|
|
||||||
% autoconf
|
|
||||||
% automake
|
|
||||||
|
|
||||||
To configure the build for your platform use the configure script:
|
To configure the build for your platform use the configure script:
|
||||||
|
|
||||||
% ./configure
|
./configure
|
||||||
|
|
||||||
For a list of options to configure use:
|
For a list of options to configure use:
|
||||||
|
|
||||||
% ./configure --help
|
./configure --help
|
||||||
|
|
||||||
|
|
||||||
Building
|
Building
|
||||||
|
@ -45,22 +33,13 @@ Building
|
||||||
|
|
||||||
Windows:
|
Windows:
|
||||||
Start VC++ and open `synergy.dsw'. Set the active configuration
|
Start VC++ and open `synergy.dsw'. Set the active configuration
|
||||||
(Build | Set Active Configuration) to `All - Debug' or `All - Release'.
|
(Build | Set Active Configuration) to `All - Debug' or `All - Release'
|
||||||
Then build.
|
then build. Binaries are built into ./Debug or ./Release.
|
||||||
|
|
||||||
VC++ 6.0 cannot handle project files that lack \r\n newlines. If you
|
|
||||||
retrieved synergy via CVS then the files should be fine. But if the
|
|
||||||
workspace appears to be empty then close VC++ and add \r to each line.
|
|
||||||
A convenient way to do that is to get `fixcrlf.exe' from the Internet,
|
|
||||||
search the synergy files for `*.dsp' and drag-and-drop all the project
|
|
||||||
files onto fixcrlf.exe.
|
|
||||||
|
|
||||||
Binaries are built into ./Debug or ./Release.
|
|
||||||
|
|
||||||
Linux:
|
Linux:
|
||||||
Simply enter:
|
Simply enter:
|
||||||
|
|
||||||
% make
|
make
|
||||||
|
|
||||||
This will build the client and server and leave them in their
|
This will build the client and server and leave them in their
|
||||||
respective source directories.
|
respective source directories.
|
||||||
|
@ -71,22 +50,84 @@ Installing
|
||||||
|
|
||||||
Windows:
|
Windows:
|
||||||
There is no support for creating an installer for synergy or installing
|
There is no support for creating an installer for synergy or installing
|
||||||
the files in a particular location. The only requirement for installed
|
the files in a particular location. Instead, just copy the following
|
||||||
files is that synrgyhk.dll is in the same directory as synergyd.exe or
|
files from the Debug or Release directory to a directory you choose
|
||||||
in one of the system directories.
|
(perhaps under the Program Files directory):
|
||||||
|
|
||||||
|
* synergy.exe
|
||||||
|
* synergyc.exe
|
||||||
|
* synergys.exe
|
||||||
|
* synrgyhk.dll
|
||||||
|
|
||||||
Linux:
|
Linux:
|
||||||
% make install
|
make install
|
||||||
|
|
||||||
will install the client and server into /usr/local/bin unless you
|
will install the client and server into /usr/local/bin unless you
|
||||||
specified a different directory when you ran configure.
|
specified a different directory when you ran configure.
|
||||||
|
|
||||||
See `Starting Automatically' for details on how to have synergy start up
|
See `Starting Automatically on ...' below for details on how to have
|
||||||
automatically when the computer starts.
|
synergy start up automatically when the computer starts.
|
||||||
|
|
||||||
|
|
||||||
Configuring the Server
|
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
|
||||||
|
dialog that lets you configure the server then test out the
|
||||||
|
configuration or start the server.
|
||||||
|
|
||||||
|
First configure the server. Click the `Server' radio button
|
||||||
|
|
||||||
|
* Click the `Server' radio button
|
||||||
|
* Click `Add' to add the server to the `Screens' list
|
||||||
|
* Enter the name of server (the computer name is recommended)
|
||||||
|
* Enter other names the server is known by
|
||||||
|
* Click OK
|
||||||
|
* Use `Add' to add your other computers
|
||||||
|
* Use the controls under `Layout' to link screens together
|
||||||
|
* Click (once) on the server's name in the `Screens' list
|
||||||
|
* Choose the screen to the left of the server
|
||||||
|
* Use `---' if there is no screen to the left of the server
|
||||||
|
* Choose the screens to the right, above and below the server
|
||||||
|
* Repeat the above steps for all the other screens
|
||||||
|
* Enter the server's screen name next to `Screen Name'
|
||||||
|
* This defaults to the computer's name (recommended)
|
||||||
|
* 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; read the log messages
|
||||||
|
to determine the problem then correct it and try `Test' again.
|
||||||
|
|
||||||
|
Now that the server is running, you'll need to start a client. On any
|
||||||
|
client computer, double click `synergy'. Of course, you'll need to
|
||||||
|
have installed the four files listed under `Installing' above on the
|
||||||
|
client computer. Then configure the client:
|
||||||
|
|
||||||
|
* Click the `Client' radio button
|
||||||
|
* Enter the server's computer name in `Server Host Name'
|
||||||
|
* Do not use any of the server's screen names, unless one of those
|
||||||
|
is also the computer name
|
||||||
|
* Enter the client's screen name next to `Screen Name'
|
||||||
|
* This defaults to the computer's name (recommended)
|
||||||
|
* This must be one of the names in the server's `Screens' list
|
||||||
|
* Click `Test'
|
||||||
|
|
||||||
|
If all goes well, the client connects to the server successfully and
|
||||||
|
the mouse and keyboard are shared. If an error occurs you'll get a
|
||||||
|
dialog box telling you synergy is about to quit; read the log messages
|
||||||
|
to determine the problem then correct it and try `Test' again. When
|
||||||
|
everything is working correctly, install the software on the other
|
||||||
|
client computers (if any) and repeat the steps for configuring the
|
||||||
|
client on each.
|
||||||
|
|
||||||
|
See `Starting Automatically on Windows' below for configuring synergy
|
||||||
|
to start automatically when the computer starts.
|
||||||
|
|
||||||
|
|
||||||
|
Configuring the Server on Linux
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
The synergy server requires configuration. The configuration file is a
|
The synergy server requires configuration. The configuration file is a
|
||||||
plain text file broken into sections. Each section has the form:
|
plain text file broken into sections. Each section has the form:
|
||||||
|
@ -166,11 +207,11 @@ The file can have the following sections.
|
||||||
|
|
||||||
The synergy server will try certain pathnames to load the configuration
|
The synergy server will try certain pathnames to load the configuration
|
||||||
file if the user doesn't specify a path using the `--config' command
|
file if the user doesn't specify a path using the `--config' command
|
||||||
line option. `synergyd --help' reports those pathnames.
|
line option. `synergys --help' reports those pathnames.
|
||||||
|
|
||||||
|
|
||||||
Running the Server
|
Running the Server on Linux
|
||||||
------------------
|
---------------------------
|
||||||
|
|
||||||
Run the server on the computer that has the keyboard and mouse to
|
Run the server on the computer that has the keyboard and mouse to
|
||||||
be shared. You must have prepared a configuration file before
|
be shared. You must have prepared a configuration file before
|
||||||
|
@ -180,29 +221,28 @@ clients but that's not required.
|
||||||
Run the synergy server on the server system using the following
|
Run the synergy server on the server system using the following
|
||||||
command line:
|
command line:
|
||||||
|
|
||||||
synergyd -f --config <config-pathname>
|
synergys -f --config <config-pathname>
|
||||||
|
|
||||||
Replace <config-pathname> with the path to the configuration file.
|
Replace <config-pathname> with the path to the configuration file.
|
||||||
The `-f' option causes synergyd to run in the foreground. This is
|
The `-f' option causes synergys to run in the foreground. This is
|
||||||
recommended until you've verified that the configuration works.
|
recommended until you've verified that the configuration works.
|
||||||
If you didn't include the system's hostname in the configuration
|
If you didn't include the system's hostname in the configuration
|
||||||
file (either as a screen name or an alias) then you'll have to add
|
file (either as a screen name or an alias) then you'll have to add
|
||||||
`--name <screen-name>' to the command line, where <screen-name> is
|
`--name <screen-name>' to the command line, where <screen-name> is
|
||||||
a name in the configuration file. You can use `synergyd --help'
|
a name in the configuration file. You can use `synergys --help'
|
||||||
for a list of command line options.
|
for a list of command line options.
|
||||||
|
|
||||||
On Windows, the file synrgyhk.dll must be in the same directory as
|
See `Starting Automatically on Linux' below for running synergy
|
||||||
synergyd.exe or in a system directory otherwise the server will
|
automatically when the X server starts.
|
||||||
refuse to start.
|
|
||||||
|
|
||||||
|
|
||||||
Running the Client
|
Running the Client on Linux
|
||||||
------------------
|
---------------------------
|
||||||
|
|
||||||
Run the client on all computers that aren't the server using the
|
Run the client on all computers that aren't the server using the
|
||||||
following command line:
|
following command line:
|
||||||
|
|
||||||
synergy -f --no-camp <server-hostname>
|
synergyc -f --no-camp <server-hostname>
|
||||||
|
|
||||||
Replace <server-hostname> with the hostname or address of the
|
Replace <server-hostname> with the hostname or address of the
|
||||||
server system. The `-f' option causes synergy to run in the
|
server system. The `-f' option causes synergy to run in the
|
||||||
|
@ -228,7 +268,7 @@ the problem. Here are typical problems and possible solutions:
|
||||||
check permission to open the X display;
|
check permission to open the X display;
|
||||||
check that the DISPLAY environment variable is set.
|
check that the DISPLAY environment variable is set.
|
||||||
* already connected:
|
* already connected:
|
||||||
check that synergy isn't already running.
|
check that the synergy client isn't already running.
|
||||||
* refused client:
|
* refused client:
|
||||||
add client to the server's configuration file.
|
add client to the server's configuration file.
|
||||||
* connection failed:
|
* connection failed:
|
||||||
|
@ -240,33 +280,30 @@ the problem. Here are typical problems and possible solutions:
|
||||||
Once all the clients are running, try moving the mouse to each
|
Once all the clients are running, try moving the mouse to each
|
||||||
screen. Be sure to check all the configured links.
|
screen. Be sure to check all the configured links.
|
||||||
|
|
||||||
|
See `Starting Automatically on Linux' below for running synergy
|
||||||
|
automatically when the X server starts.
|
||||||
|
|
||||||
Starting Automatically
|
|
||||||
----------------------
|
|
||||||
|
|
||||||
You can setup synergy to start automatically when your computer does.
|
Starting Automatically on Windows
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
Windows:
|
When all the clients work you're ready to have synergy start
|
||||||
Start the client or server normally except add `--install' as the
|
automatically each time the system (re)starts. Click `Stop' on all
|
||||||
first option on the command line, followed by the usual options
|
the clients then on the server'. Then Click `Start' on the server.
|
||||||
except do not include `-f' or `--no-daemon'. This will install
|
If it starts successfully then click `OK' to close the message box
|
||||||
synergy as a service that will be started at system boot.
|
and the dialog. The synergy server is now running and will be
|
||||||
|
automatically started each time the system is started. Click `Start'
|
||||||
|
then `OK' on each of the clients to start the synergy client and
|
||||||
|
automatically have it start each time the computer starts.
|
||||||
|
|
||||||
Note that the system will look for synergy wherever it was when it
|
If you ever want to prevent synergy from starting automatically when
|
||||||
was installed. The server will also look for the configuration
|
the computer does, double click `synergy', choose `Client' or `Server'
|
||||||
file in the path specified by the `--config' option, if supplied,
|
(whichever the computer is running as), then click `No Auto-Start'.
|
||||||
and for synrgyhk.dll in the same directory as synergyd.exe or in
|
Click `OK' to dismiss the message box then `Quit' to close the dialog.
|
||||||
a system directory. Therefore, it's important that these files be
|
|
||||||
on local hard drives; network drives or removable devices may not
|
|
||||||
be available at boot.
|
|
||||||
|
|
||||||
On the Windows NT family you can start and stop the service at any
|
|
||||||
time using the Services control panel (under Administrative Tools
|
|
||||||
on Windows 2000 and XP). On the Windows 95 family you cannot
|
|
||||||
start or stop the service.
|
|
||||||
|
|
||||||
To uninstall the service, run the client or server with just the
|
Starting Automatically on Linux
|
||||||
`--uninstall' command line option.
|
-------------------------------
|
||||||
|
|
||||||
Linux:
|
Linux:
|
||||||
Synergy requires an X server. That means a server must be
|
Synergy requires an X server. That means a server must be
|
||||||
|
@ -282,8 +319,8 @@ Linux:
|
||||||
anyplace the script calls exit, start the client with something
|
anyplace the script calls exit, start the client with something
|
||||||
like:
|
like:
|
||||||
|
|
||||||
/usr/bin/killall synergy
|
/usr/bin/killall synergyc
|
||||||
/usr/local/bin/synergy [<options>] <server-host-name>
|
/usr/local/bin/synergyc [<options>] <server-host-name>
|
||||||
|
|
||||||
<options> must not include `-f' or `--no-daemon'. Change the
|
<options> must not include `-f' or `--no-daemon'. Change the
|
||||||
paths as necessary. It's important to make sure no old copies
|
paths as necessary. It's important to make sure no old copies
|
||||||
|
@ -291,8 +328,8 @@ Linux:
|
||||||
|
|
||||||
To start the server use something like:
|
To start the server use something like:
|
||||||
|
|
||||||
/usr/bin/killall synergyd
|
/usr/bin/killall synergys
|
||||||
/usr/local/bin/synergyd [<options>] --config <config-pathname>
|
/usr/local/bin/synergys [<options>] --config <config-pathname>
|
||||||
|
|
||||||
Again, <options> must not include `-f' or `--no-daemon'. If
|
Again, <options> must not include `-f' or `--no-daemon'. If
|
||||||
the configuration pathname is one of the default locations then
|
the configuration pathname is one of the default locations then
|
||||||
|
@ -337,7 +374,7 @@ occurs that is sure to happen every time. For example, the server
|
||||||
will exit immediately if it can't find itself in the configuration.
|
will exit immediately if it can't find itself in the configuration.
|
||||||
On X11 both the client and server will also terminate if the
|
On X11 both the client and server will also terminate if the
|
||||||
connection to the X server is lost. Since xdm will normally restart
|
connection to the X server is lost. Since xdm will normally restart
|
||||||
the server and synergy, this is the correct behavior.
|
the X server and synergy, this is the correct behavior.
|
||||||
|
|
||||||
|
|
||||||
Server Command Line Options
|
Server Command Line Options
|
||||||
|
|
10
NEWS
10
NEWS
|
@ -1,6 +1,10 @@
|
||||||
Synergy News
|
Synergy News
|
||||||
============
|
============
|
||||||
|
|
||||||
* Initial version of synergy released. Supports ASCII keys, 5 button
|
* Aug-11-2002 - Synergy 0.9.8 released
|
||||||
wheel mouse, Unicode text clipboard, and screen saver synchronization.
|
|
||||||
Runs on Linux and Microsoft Windows.
|
Supports any number of clients under Linux or Windows 95 or NT4
|
||||||
|
or later. Includes mouse and keyboard sharing, clipboard
|
||||||
|
synchronization and screen saver synchronization. Supports ASCII
|
||||||
|
keystrokes, 5 button mouse with wheel, and Unicode text clipboard
|
||||||
|
format.
|
||||||
|
|
156
PORTING
156
PORTING
|
@ -41,19 +41,99 @@ Coding Style Guide
|
||||||
Synergy uses many coding conventions. Contributed code should
|
Synergy uses many coding conventions. Contributed code should
|
||||||
following these guidelines.
|
following these guidelines.
|
||||||
|
|
||||||
|
- Symbol Naming
|
||||||
|
Names always begin with a letter (never an underscore). The first
|
||||||
|
letter of interior names are always capitalized. Acronyms should
|
||||||
|
be all uppercase. For example: myTextAsASCII.
|
||||||
|
|
||||||
|
Names come it two flavors: leading capital and leading lowercase.
|
||||||
|
The former have the first character capitalized and the latter
|
||||||
|
don't. In the following table, leading capital names are indicated
|
||||||
|
by `Name' and leading lowercase names by `name'.
|
||||||
|
|
||||||
|
The naming convention for various things are:
|
||||||
|
|
||||||
|
* Exceptions -- X + Name XMyException
|
||||||
|
* Interfaces -- I + Name IMyInterface
|
||||||
|
* Template Classes -- T + Name TMyTemplate<>
|
||||||
|
* Other Classes -- C + Name CMyClass
|
||||||
|
* Enumerations -- E + Name EMyEnumeration
|
||||||
|
* Constants -- k + Name kMyConstant
|
||||||
|
* Data Members -- m_ + name m_myDataMember
|
||||||
|
* Methods -- name myMethod
|
||||||
|
* Functions -- name myFunction
|
||||||
|
* Variables -- name myVariable
|
||||||
|
|
||||||
|
Exceptions are types that get thrown and are generally derived
|
||||||
|
(possibly indirectly) from XBase. Interfaces are derived (possibly
|
||||||
|
indirectly) from IInterface and have only pure virtual functions.
|
||||||
|
Other classes are classes that aren't exceptions or interfaces.
|
||||||
|
Constants include global constants and enumerants.
|
||||||
|
|
||||||
|
Method names should usually have the form `verbObject'. For example:
|
||||||
|
* isGameOn()
|
||||||
|
* getBeer()
|
||||||
|
* pressPowerButton()
|
||||||
|
* setChannel()
|
||||||
|
In general, use `get' and `set' to read and write state but use `is'
|
||||||
|
to read boolean state. Note that classes that contain only `is',
|
||||||
|
`get', and `set' are probably plain old data; you might want to
|
||||||
|
consider using public data members only or, better, refactor your
|
||||||
|
design to have classes that actually do something more than just
|
||||||
|
hold data.
|
||||||
|
|
||||||
|
- File Naming
|
||||||
|
Each class should have one source and one header file. If the
|
||||||
|
class is named `CMyClass' then the source file should be named
|
||||||
|
`CMyClass.cpp' and the header file `CMyClass.h'.
|
||||||
|
|
||||||
|
Headers files not containing a class should have some meaningful
|
||||||
|
name with a leading capital (e.g. `Version.h').
|
||||||
|
|
||||||
|
Source files without a header file have a leading lowercase name.
|
||||||
|
Only files containing the entry point for an application should
|
||||||
|
lack a header file.
|
||||||
|
|
||||||
- Dependencies
|
- Dependencies
|
||||||
* No circular library dependencies
|
* No circular library dependencies
|
||||||
Library dependencies form an acyclic graph. Conceptually
|
Library dependencies form an acyclic graph. Conceptually
|
||||||
libraries can be arranged in layers where each library only
|
libraries can be arranged in layers where each library only
|
||||||
references libraries in layers below it, not in the same
|
references libraries in layers below it, not in the same layer
|
||||||
layer or layers above it. The makefiles build the lowest
|
or layers above it. The makefiles build the lowest layer
|
||||||
layer libraries first and work upwards.
|
libraries first and work upwards.
|
||||||
|
|
||||||
* Avoid circular uses-a relationships
|
* Avoid circular uses-a relationships
|
||||||
When possible, design classes with one-way uses-a relationships
|
When possible, design classes with one-way uses-a relationships
|
||||||
and avoid cycles. This makes it easier to understand the code.
|
and avoid cycles. This makes it easier to understand the code.
|
||||||
However, sometimes it's not always practical so it is permitted.
|
However, sometimes it's not always practical so it is permitted.
|
||||||
|
|
||||||
|
* Included files in headers
|
||||||
|
Headers should #include only the necessary headers. In
|
||||||
|
particular, if a class is referenced in a header file only as a
|
||||||
|
pointer or a reference then use `class COtherClass;' instead of
|
||||||
|
`#include "COtherClass.h".'
|
||||||
|
|
||||||
|
* #include syntax
|
||||||
|
Non-synergy header files must be included using angle brackets
|
||||||
|
while synergy header files must be included using double quotes.
|
||||||
|
#include "CSynergyHeader.h"
|
||||||
|
#include <systemheader.h>
|
||||||
|
The file name in a #include must not be a relative path unless
|
||||||
|
it's a system header file and it's customary to use a relative
|
||||||
|
path, e.g. `#include <sys/types.h>'. Use compiler options to
|
||||||
|
add necessary directories to the include search path.
|
||||||
|
|
||||||
|
* Included file ordering
|
||||||
|
Files should be included in the following order:
|
||||||
|
* Header for source file
|
||||||
|
The first include for CMyClass.cpp must be CMyClass.h.
|
||||||
|
* Other headers in directory, sorted alphabetically
|
||||||
|
* Headers for each library, sorted alphabetically per library
|
||||||
|
Include headers from the library closest in the dependency graph
|
||||||
|
first, then the next farthest, etc. sort alphabetically within
|
||||||
|
each library.
|
||||||
|
* System headers
|
||||||
|
|
||||||
- C++
|
- C++
|
||||||
* C++ features
|
* C++ features
|
||||||
Synergy uses the following more recent C++ features:
|
Synergy uses the following more recent C++ features:
|
||||||
|
@ -134,42 +214,53 @@ following these guidelines.
|
||||||
directly or indirectly, from the class and any of those classes
|
directly or indirectly, from the class and any of those classes
|
||||||
have full access to the protected data.
|
have full access to the protected data.
|
||||||
|
|
||||||
|
* Plain old data
|
||||||
|
A class that merely contains data and doesn't perform operations
|
||||||
|
on that data (other than reads and writes) is plain old data (POD).
|
||||||
|
POD should have only public data members and non-copy constructors.
|
||||||
|
It must not have any methods other than constructors, not even a
|
||||||
|
destructor or assignment operators, nor protected or private data.
|
||||||
|
|
||||||
|
* Avoid using friend
|
||||||
|
Avoid declaring friend functions or classes. They're sometimes
|
||||||
|
necessary for operator overloading. If you find it necessary to
|
||||||
|
add friends to some class C, consider creating a utility class U.
|
||||||
|
A utility class is declared as the only friend of C and provides
|
||||||
|
only static methods. Each method forwards to a private method on
|
||||||
|
an object of C type (passed as a parameter to the U's method).
|
||||||
|
This makes maintenance easier since only U has friend access to C
|
||||||
|
and finding any call to U is trivial (they're prefixed by U::).
|
||||||
|
|
||||||
* Don't test for NULL when using `delete' or `delete[]'
|
* Don't test for NULL when using `delete' or `delete[]'
|
||||||
It's unnecessary since delete does it anyway.
|
It's unnecessary since delete does it anyway.
|
||||||
|
|
||||||
- Naming
|
- Makefiles
|
||||||
Names always begin with a letter (never an underscore). The first
|
Automake's makefiles (named Makefile.am) have a few requirements:
|
||||||
letter of interior names are always capitalized. Acronyms should
|
* Define the following macros at the top of the file:
|
||||||
be all uppercase. For example: myTextAsASCII.
|
NULL =
|
||||||
|
DEPTH = <relative-path-to-top-level>
|
||||||
|
VDEPTH = ./$(VPATH)/$(DEPTH)
|
||||||
|
<relative-path-to-top-level> 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 = \
|
||||||
|
kiwi.txt \
|
||||||
|
mango.cpp \
|
||||||
|
papaya.h \
|
||||||
|
$(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
|
||||||
|
subdirectories must be in the desired build order.
|
||||||
|
|
||||||
Names come it two flavors: leading capital and leading lowercase.
|
- Source Formatting
|
||||||
The former have the first character capitalized and the latter
|
|
||||||
don't. In the following table, leading capital names are indicated
|
|
||||||
by `Name' and leading lowercase names by `name'.
|
|
||||||
|
|
||||||
The naming convention for various things are:
|
|
||||||
|
|
||||||
* Exceptions -- X + Name XMyException
|
|
||||||
* Interfaces -- I + Name IMyInterface
|
|
||||||
* Template Classes -- T + Name TMyTemplate<>
|
|
||||||
* Other Classes -- C + Name CMyClass
|
|
||||||
* Enumerations -- E + Name EMyEnumeration
|
|
||||||
* Constants -- k + Name kMyConstant
|
|
||||||
* Data Members -- m_ + name m_myDataMember
|
|
||||||
* Methods -- name myMethod
|
|
||||||
* Functions -- name myFunction
|
|
||||||
* Variables -- name myVariable
|
|
||||||
|
|
||||||
Exceptions are types that get thrown and are generally derived
|
|
||||||
(possibly indirectly) from XBase. Interfaces are derived (possibly
|
|
||||||
indirectly) from IInterface and have only pure virtual functions.
|
|
||||||
Other classes are classes that aren't exceptions or interfaces.
|
|
||||||
Constants include global constants and enumerants.
|
|
||||||
|
|
||||||
- Formatting
|
|
||||||
Every project has its own formatting style and no style satisfies
|
Every project has its own formatting style and no style satisfies
|
||||||
everyone. New code should be consistent with existing code:
|
everyone. New code should be consistent with existing code:
|
||||||
|
|
||||||
|
* All files should include the copyright and license notice
|
||||||
* Use tabs to indent
|
* Use tabs to indent
|
||||||
* Tabs are 4 columns
|
* Tabs are 4 columns
|
||||||
* Open braces ({) go on same line as introducing statement
|
* Open braces ({) go on same line as introducing statement
|
||||||
|
@ -190,6 +281,7 @@ following these guidelines.
|
||||||
* Use Qt style comments for extraction by doxygen
|
* Use Qt style comments for extraction by doxygen
|
||||||
* Mark incomplete or buggy code with `FIXME'
|
* Mark incomplete or buggy code with `FIXME'
|
||||||
|
|
||||||
|
|
||||||
Class Relationships
|
Class Relationships
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
|
|
118
README
118
README
|
@ -25,17 +25,19 @@ The synergy project page is:
|
||||||
http://sourceforge.net/projects/synergy2/
|
http://sourceforge.net/projects/synergy2/
|
||||||
|
|
||||||
Report bugs to:
|
Report bugs to:
|
||||||
synergy@groundhog.pair.com
|
http://sourceforge.net/tracker/?func=add&group_id=59275&atid=490467
|
||||||
|
|
||||||
|
|
||||||
Please see the following files for more information:
|
Please see the following files for more information:
|
||||||
AUTHORS -- The list of synergy's authors
|
AUTHORS -- The list of synergy's authors
|
||||||
BUGS -- A list of known bugs and limitations
|
BUGS -- A list of known bugs and limitations
|
||||||
COPYING -- The license synergy is release under
|
COPYING -- The license synergy is release under
|
||||||
|
FAQ -- Frequently asked questions about synergy
|
||||||
HISTORY -- A brief history of synergy
|
HISTORY -- A brief history of synergy
|
||||||
INSTALL -- Detailed build and installation instructions
|
INSTALL -- Detailed build and installation instructions
|
||||||
NEWS -- News about the synergy project
|
NEWS -- News about the synergy project
|
||||||
PORTING -- Porting guide for developers
|
PORTING -- Porting guide for developers
|
||||||
|
TODO -- List of things to add to synergy
|
||||||
|
|
||||||
|
|
||||||
System Requirements
|
System Requirements
|
||||||
|
@ -80,9 +82,36 @@ server on the primary screen and the synergy client on all the
|
||||||
secondary screens. If it's easier just install both on all of the
|
secondary screens. If it's easier just install both on all of the
|
||||||
systems.
|
systems.
|
||||||
|
|
||||||
Third, you create a configuration file for the server. Only the
|
Third, you configure and start the server.
|
||||||
server requires configuration. Create a text file named
|
Windows
|
||||||
synergy.conf with the following:
|
-------
|
||||||
|
Run `synergy' by double clicking on it. This brings up a dialog.
|
||||||
|
Configure the server:
|
||||||
|
|
||||||
|
* Click the `Server' radio button
|
||||||
|
* Click `Add' to add the server to the `Screens' list
|
||||||
|
* Enter the name of server (the computer name is recommended)
|
||||||
|
* Enter other names the server is known by
|
||||||
|
* Click OK
|
||||||
|
* Use `Add' to add your other computers
|
||||||
|
* Use the controls under `Layout' to link screens together
|
||||||
|
* Click (once) on the server's name in the `Screens' list
|
||||||
|
* Choose the screen to the left of the server
|
||||||
|
* Use `---' if there is no screen to the left of the server
|
||||||
|
* Choose the screens to the right, above and below the server
|
||||||
|
* Repeat the above steps for all the other screens
|
||||||
|
* Enter the server's screen name next to `Screen Name'
|
||||||
|
* This defaults to the computer's name (recommended)
|
||||||
|
|
||||||
|
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;
|
||||||
|
read the log messages to determine the problem then correct it and try
|
||||||
|
`Test' again.
|
||||||
|
|
||||||
|
Linux
|
||||||
|
-----
|
||||||
|
Create a text file named synergy.conf with the following:
|
||||||
|
|
||||||
section: screens
|
section: screens
|
||||||
<screen1>:
|
<screen1>:
|
||||||
|
@ -104,27 +133,46 @@ If necessary you should replace `right' and `left' with `left',
|
||||||
you can add those too: add each computer's host name in the
|
you can add those too: add each computer's host name in the
|
||||||
`screens' section and add the appropriate links.
|
`screens' section and add the appropriate links.
|
||||||
|
|
||||||
Finally, you start the server then all of the clients. Normally
|
Now start the server. Normally synergy wants to run "in the
|
||||||
synergy wants to run "in the background." It detaches from the
|
background." It detaches from the terminal and doesn't have a
|
||||||
terminal and doesn't have a visible window, effectively
|
visible window, effectively disappearing from view. Until you're
|
||||||
disappearing from view. Until you're sure your configuration
|
sure your configuration works you should start synergy "in the
|
||||||
works you should start synergy "in the foreground" using the `-f'
|
foreground" using the `-f' command line option:
|
||||||
command line option.
|
|
||||||
|
|
||||||
To get a command line on Windows, choose Run... from the Start
|
synergys -f --config synergy.conf
|
||||||
menu. Type `cmd' if you're using the Windows NT family or
|
|
||||||
`command' if you're using the Windows 95 family and press enter.
|
|
||||||
|
|
||||||
To start the server, enter the following on the command line:
|
Check the reported messages for errors. Use ctrl+c to stop synergy,
|
||||||
|
correct any problems, and start it again.
|
||||||
|
|
||||||
synergyd -f --config synergy.conf
|
Finally, start the clients.
|
||||||
|
Windows
|
||||||
|
-------
|
||||||
|
Run `synergy' on the client by double clicking on it. Configure the
|
||||||
|
client:
|
||||||
|
|
||||||
|
* Click the `Client' radio button
|
||||||
|
* Enter the server's computer name in `Server Host Name'
|
||||||
|
* Do not use any of the server's screen names, unless one of those
|
||||||
|
is also the computer name
|
||||||
|
* Enter the client's screen name next to `Screen Name'
|
||||||
|
* This defaults to the computer's name (recommended)
|
||||||
|
* This must be one of the names in the server's `Screens' list
|
||||||
|
* Click `Test'
|
||||||
|
|
||||||
|
If an error occurs you'll get a dialog box telling you synergy is
|
||||||
|
about to quit; read the log messages to determine the problem then
|
||||||
|
correct it and try `Test' again.
|
||||||
|
|
||||||
|
Linux
|
||||||
|
-----
|
||||||
|
|
||||||
To start a client, enter the following:
|
To start a client, enter the following:
|
||||||
|
|
||||||
synergy -f <server-host-name>
|
synergyc -f <server-host-name>
|
||||||
|
|
||||||
where `<server-host-name>' is replaced by the name of the computer
|
where `<server-host-name>' is replaced by the name of the computer
|
||||||
running the synergy server.
|
running the synergy server. If an error is reported use ctrl+c to
|
||||||
|
stop synergy, fix the error, and try again.
|
||||||
|
|
||||||
Both the client and server should immediately report the connection
|
Both the client and server should immediately report the connection
|
||||||
or an error. If successful, you should now be able to move the
|
or an error. If successful, you should now be able to move the
|
||||||
|
@ -134,20 +182,28 @@ except use the edge of the screens to jump to other screens. You
|
||||||
can also cut-and-paste across computers. Currently, only text
|
can also cut-and-paste across computers. Currently, only text
|
||||||
transfers between computers. Start the remaining clients.
|
transfers between computers. Start the remaining clients.
|
||||||
|
|
||||||
Be aware that not all keystrokes can be handled by synergy. In
|
|
||||||
particular, ctrl+alt+del is not handled. You cannot use synergy
|
|
||||||
to log into a Windows NT family system that requires the user to
|
|
||||||
press ctrl+alt+del to log on. You'll need to keep that computer's
|
|
||||||
keyboard handy in order to log on.
|
|
||||||
|
|
||||||
Once the configuration is verified, see the instructions in INSTALL
|
Once the configuration is verified, see the instructions in INSTALL
|
||||||
under `Starting Automatically' for details on running synergy in
|
under `Starting Automatically on ...' for details on running synergy
|
||||||
the background and on starting synergy automatically when you start
|
in the background and on starting synergy automatically when you start
|
||||||
your computers.
|
your computers.
|
||||||
|
|
||||||
|
|
||||||
Tips and Tricks
|
Tips and Tricks
|
||||||
---------------
|
---------------
|
||||||
|
* Be aware that not all keystrokes can be handled by synergy. In
|
||||||
|
particular, ctrl+alt+del is not handled. You cannot use synergy
|
||||||
|
to log into a Windows NT family system that requires the user to
|
||||||
|
press ctrl+alt+del to log on. You'll need to keep that computer's
|
||||||
|
keyboard handy in order to log on.
|
||||||
|
|
||||||
|
* To work around the lack of ctrl+alt+del, you can configure Windows
|
||||||
|
2000 and XP to not require ctrl+alt+del to log on using the System
|
||||||
|
control panel. If you're the only user of an NT system you might
|
||||||
|
want to enable auto-logon. In any case, you should keep each
|
||||||
|
computer's keyboard handy, perhaps under the desk or on top of the
|
||||||
|
computer itself. If the system supports USB you should also be able
|
||||||
|
to attach/detach a keyboard as necessary.
|
||||||
|
|
||||||
* A screen can be its own neighbor. That allows a screen to "wrap".
|
* A screen can be its own neighbor. That allows a screen to "wrap".
|
||||||
For example, if a configuration linked the left and right sides of
|
For example, if a configuration linked the left and right sides of
|
||||||
a screen to itself then moving off the left of the screen would put
|
a screen to itself then moving off the left of the screen would put
|
||||||
|
@ -169,14 +225,6 @@ Tips and Tricks
|
||||||
the extension). Starting with 4.0 you must enable the corresponding
|
the extension). Starting with 4.0 you must enable the corresponding
|
||||||
option in your .xscreensaver file.
|
option in your .xscreensaver file.
|
||||||
|
|
||||||
* To work around the lack of ctrl+alt+del, you can configure Windows
|
|
||||||
2000 and XP to not require ctrl+alt+del to log on using the System
|
|
||||||
control panel. If you're the only user of an NT system you might
|
|
||||||
want to enable auto-logon. In any case, you should keep each
|
|
||||||
computer's keyboard handy, perhaps under the desk or on top of the
|
|
||||||
computer itself. If the system supports USB you should also be able
|
|
||||||
to attach/detach a keyboard as necessary.
|
|
||||||
|
|
||||||
* Synergy automatically converts newlines in clipboard text (Linux
|
* Synergy automatically converts newlines in clipboard text (Linux
|
||||||
expects \n to end each line while Windows expects \r\n).
|
expects \n to end each line while Windows expects \r\n).
|
||||||
|
|
||||||
|
@ -193,6 +241,6 @@ Bug Reports
|
||||||
|
|
||||||
Synergy is being improved all the time but we can only fix problems
|
Synergy is being improved all the time but we can only fix problems
|
||||||
that we know about. Please let us know of any problems you encounter,
|
that we know about. Please let us know of any problems you encounter,
|
||||||
including confusing or unhelpful documentation. Send reports to:
|
including confusing or unhelpful documentation. File reports at:
|
||||||
|
|
||||||
synergy@groundhog.pair.com
|
http://sourceforge.net/tracker/?func=add&group_id=59275&atid=490467
|
||||||
|
|
|
@ -17,8 +17,8 @@ VDEPTH = ./$(VPATH)/$(DEPTH)
|
||||||
|
|
||||||
SUBDIRS = \
|
SUBDIRS = \
|
||||||
launcher \
|
launcher \
|
||||||
synergy \
|
synergyc \
|
||||||
synergyd \
|
synergys \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
EXTRA_DIST = \
|
EXTRA_DIST = \
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
|
|
||||||
#define CONFIG_NAME "synergy.sgc"
|
#define CONFIG_NAME "synergy.sgc"
|
||||||
#define CLIENT_APP "synergyc.exe"
|
#define CLIENT_APP "synergyc.exe"
|
||||||
#define SERVER_APP "synergyd.exe"
|
#define SERVER_APP "synergys.exe"
|
||||||
|
|
||||||
typedef std::vector<CString> CStringList;
|
typedef std::vector<CString> CStringList;
|
||||||
|
|
||||||
|
|
|
@ -17,20 +17,20 @@ VDEPTH = ./$(VPATH)/$(DEPTH)
|
||||||
|
|
||||||
EXTRA_DIST = \
|
EXTRA_DIST = \
|
||||||
resource.h \
|
resource.h \
|
||||||
synergy.dsp \
|
synergyc.dsp \
|
||||||
synergy.ico \
|
synergyc.ico \
|
||||||
synergy.rc \
|
synergyc.rc \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
MAINTAINERCLEANFILES = \
|
MAINTAINERCLEANFILES = \
|
||||||
Makefile.in \
|
Makefile.in \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
bin_PROGRAMS = synergy
|
bin_PROGRAMS = synergyc
|
||||||
synergy_SOURCES = \
|
synergyc_SOURCES = \
|
||||||
synergy.cpp \
|
synergyc.cpp \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
synergy_LDADD = \
|
synergyc_LDADD = \
|
||||||
$(DEPTH)/lib/client/libclient.a \
|
$(DEPTH)/lib/client/libclient.a \
|
||||||
$(DEPTH)/lib/platform/libplatform.a \
|
$(DEPTH)/lib/platform/libplatform.a \
|
||||||
$(DEPTH)/lib/synergy/libsynergy.a \
|
$(DEPTH)/lib/synergy/libsynergy.a \
|
|
@ -42,7 +42,7 @@
|
||||||
#if WINDOWS_LIKE
|
#if WINDOWS_LIKE
|
||||||
#define DAEMON_NAME "Synergy Client"
|
#define DAEMON_NAME "Synergy Client"
|
||||||
#elif UNIX_LIKE
|
#elif UNIX_LIKE
|
||||||
#define DAEMON_NAME "synergy"
|
#define DAEMON_NAME "synergyc"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//
|
//
|
|
@ -1,24 +1,24 @@
|
||||||
# Microsoft Developer Studio Project File - Name="synergy" - Package Owner=<4>
|
# Microsoft Developer Studio Project File - Name="synergyc" - Package Owner=<4>
|
||||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
# ** DO NOT EDIT **
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
# TARGTYPE "Win32 (x86) Application" 0x0101
|
# TARGTYPE "Win32 (x86) Application" 0x0101
|
||||||
|
|
||||||
CFG=synergy - Win32 Debug
|
CFG=synergyc - Win32 Debug
|
||||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
!MESSAGE use the Export Makefile command and run
|
!MESSAGE use the Export Makefile command and run
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
!MESSAGE NMAKE /f "synergy.mak".
|
!MESSAGE NMAKE /f "synergyc.mak".
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
!MESSAGE You can specify a configuration when running NMAKE
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
!MESSAGE NMAKE /f "synergy.mak" CFG="synergy - Win32 Debug"
|
!MESSAGE NMAKE /f "synergyc.mak" CFG="synergyc - Win32 Debug"
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
!MESSAGE Possible choices for configuration are:
|
!MESSAGE Possible choices for configuration are:
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
!MESSAGE "synergy - Win32 Release" (based on "Win32 (x86) Application")
|
!MESSAGE "synergyc - Win32 Release" (based on "Win32 (x86) Application")
|
||||||
!MESSAGE "synergy - Win32 Debug" (based on "Win32 (x86) Application")
|
!MESSAGE "synergyc - Win32 Debug" (based on "Win32 (x86) Application")
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
|
|
||||||
# Begin Project
|
# Begin Project
|
||||||
|
@ -29,7 +29,7 @@ CPP=cl.exe
|
||||||
MTL=midl.exe
|
MTL=midl.exe
|
||||||
RSC=rc.exe
|
RSC=rc.exe
|
||||||
|
|
||||||
!IF "$(CFG)" == "synergy - Win32 Release"
|
!IF "$(CFG)" == "synergyc - Win32 Release"
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
# PROP BASE Use_MFC 0
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
@ -43,7 +43,7 @@ RSC=rc.exe
|
||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
|
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
|
||||||
# ADD CPP /nologo /MT /W4 /GX /O2 /I "..\base" /I "..\io" /I "..\mt" /I "..\net" /I "..\synergy" /I "..\platform" /I "..\..\lib\base" /I "..\..\lib\io" /I "..\..\lib\mt" /I "..\..\lib\net" /I "..\..\lib\synergy" /I "..\..\lib\platform" /I "..\..\lib\client" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /FD /c
|
# ADD CPP /nologo /MT /W4 /GX /O2 /I "..\..\lib\base" /I "..\..\lib\io" /I "..\..\lib\mt" /I "..\..\lib\net" /I "..\..\lib\synergy" /I "..\..\lib\platform" /I "..\..\lib\client" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /FD /c
|
||||||
# SUBTRACT CPP /YX
|
# SUBTRACT CPP /YX
|
||||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
@ -56,7 +56,7 @@ LINK32=link.exe
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /out:"../../Release/synergyc.exe"
|
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /out:"../../Release/synergyc.exe"
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "synergy - Win32 Debug"
|
!ELSEIF "$(CFG)" == "synergyc - Win32 Debug"
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
# PROP BASE Use_MFC 0
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
@ -87,18 +87,18 @@ LINK32=link.exe
|
||||||
|
|
||||||
# Begin Target
|
# Begin Target
|
||||||
|
|
||||||
# Name "synergy - Win32 Release"
|
# Name "synergyc - Win32 Release"
|
||||||
# Name "synergy - Win32 Debug"
|
# Name "synergyc - Win32 Debug"
|
||||||
# Begin Group "Source Files"
|
# Begin Group "Source Files"
|
||||||
|
|
||||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\synergy.cpp
|
SOURCE=.\synergyc.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\synergy.rc
|
SOURCE=.\synergyc.rc
|
||||||
# End Source File
|
# End Source File
|
||||||
# End Group
|
# End Group
|
||||||
# Begin Group "Header Files"
|
# Begin Group "Header Files"
|
||||||
|
@ -114,7 +114,7 @@ SOURCE=.\resource.h
|
||||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\synergy.ico
|
SOURCE=.\synergyc.ico
|
||||||
# End Source File
|
# End Source File
|
||||||
# End Group
|
# End Group
|
||||||
# End Target
|
# End Target
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
@ -17,20 +17,20 @@ VDEPTH = ./$(VPATH)/$(DEPTH)
|
||||||
|
|
||||||
EXTRA_DIST = \
|
EXTRA_DIST = \
|
||||||
resource.h \
|
resource.h \
|
||||||
synergy.ico \
|
synergys.ico \
|
||||||
synergyd.dsp \
|
synergys.dsp \
|
||||||
synergyd.rc \
|
synergys.rc \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
MAINTAINERCLEANFILES = \
|
MAINTAINERCLEANFILES = \
|
||||||
Makefile.in \
|
Makefile.in \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
bin_PROGRAMS = synergyd
|
bin_PROGRAMS = synergys
|
||||||
synergyd_SOURCES = \
|
synergys_SOURCES = \
|
||||||
synergyd.cpp \
|
synergys.cpp \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
synergyd_LDADD = \
|
synergys_LDADD = \
|
||||||
$(DEPTH)/lib/server/libserver.a \
|
$(DEPTH)/lib/server/libserver.a \
|
||||||
$(DEPTH)/lib/platform/libplatform.a \
|
$(DEPTH)/lib/platform/libplatform.a \
|
||||||
$(DEPTH)/lib/synergy/libsynergy.a \
|
$(DEPTH)/lib/synergy/libsynergy.a \
|
|
@ -41,14 +41,16 @@
|
||||||
#if WINDOWS_LIKE
|
#if WINDOWS_LIKE
|
||||||
#define DAEMON_NAME "Synergy Server"
|
#define DAEMON_NAME "Synergy Server"
|
||||||
#elif UNIX_LIKE
|
#elif UNIX_LIKE
|
||||||
#define DAEMON_NAME "synergyd"
|
#define DAEMON_NAME "synergys"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// configuration file name
|
// configuration file name
|
||||||
#if WINDOWS_LIKE
|
#if WINDOWS_LIKE
|
||||||
#define CONFIG_NAME "synergy.sgc"
|
#define USR_CONFIG_NAME "synergy.sgc"
|
||||||
|
#define SYS_CONFIG_NAME "synergy.sgc"
|
||||||
#elif UNIX_LIKE
|
#elif UNIX_LIKE
|
||||||
#define CONFIG_NAME "synergy.conf"
|
#define USR_CONFIG_NAME ".synergy.conf"
|
||||||
|
#define SYS_CONFIG_NAME "synergy.conf"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -344,10 +346,10 @@ PLATFORM_EXTRA
|
||||||
kDefaultPort,
|
kDefaultPort,
|
||||||
platform.addPathComponent(
|
platform.addPathComponent(
|
||||||
platform.getUserDirectory(),
|
platform.getUserDirectory(),
|
||||||
CONFIG_NAME).c_str(),
|
USR_CONFIG_NAME).c_str(),
|
||||||
platform.addPathComponent(
|
platform.addPathComponent(
|
||||||
platform.getSystemDirectory(),
|
platform.getSystemDirectory(),
|
||||||
CONFIG_NAME).c_str()));
|
SYS_CONFIG_NAME).c_str()));
|
||||||
}
|
}
|
||||||
|
|
||||||
static
|
static
|
||||||
|
@ -586,7 +588,7 @@ loadConfig()
|
||||||
CString path = platform.getUserDirectory();
|
CString path = platform.getUserDirectory();
|
||||||
if (!path.empty()) {
|
if (!path.empty()) {
|
||||||
// complete path
|
// complete path
|
||||||
path = platform.addPathComponent(path, CONFIG_NAME);
|
path = platform.addPathComponent(path, USR_CONFIG_NAME);
|
||||||
|
|
||||||
// now try loading the user's configuration
|
// now try loading the user's configuration
|
||||||
loaded = loadConfig(path.c_str(), false);
|
loaded = loadConfig(path.c_str(), false);
|
||||||
|
@ -595,7 +597,7 @@ loadConfig()
|
||||||
// try the system-wide config file
|
// try the system-wide config file
|
||||||
path = platform.getSystemDirectory();
|
path = platform.getSystemDirectory();
|
||||||
if (!path.empty()) {
|
if (!path.empty()) {
|
||||||
path = platform.addPathComponent(path, CONFIG_NAME);
|
path = platform.addPathComponent(path, SYS_CONFIG_NAME);
|
||||||
loadConfig(path.c_str(), false);
|
loadConfig(path.c_str(), false);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,24 +1,24 @@
|
||||||
# Microsoft Developer Studio Project File - Name="synergyd" - Package Owner=<4>
|
# Microsoft Developer Studio Project File - Name="synergys" - Package Owner=<4>
|
||||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
# ** DO NOT EDIT **
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
# TARGTYPE "Win32 (x86) Application" 0x0101
|
# TARGTYPE "Win32 (x86) Application" 0x0101
|
||||||
|
|
||||||
CFG=synergyd - Win32 Debug
|
CFG=synergys - Win32 Debug
|
||||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
!MESSAGE use the Export Makefile command and run
|
!MESSAGE use the Export Makefile command and run
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
!MESSAGE NMAKE /f "synergyd.mak".
|
!MESSAGE NMAKE /f "synergys.mak".
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
!MESSAGE You can specify a configuration when running NMAKE
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
!MESSAGE NMAKE /f "synergyd.mak" CFG="synergyd - Win32 Debug"
|
!MESSAGE NMAKE /f "synergys.mak" CFG="synergys - Win32 Debug"
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
!MESSAGE Possible choices for configuration are:
|
!MESSAGE Possible choices for configuration are:
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
!MESSAGE "synergyd - Win32 Release" (based on "Win32 (x86) Application")
|
!MESSAGE "synergys - Win32 Release" (based on "Win32 (x86) Application")
|
||||||
!MESSAGE "synergyd - Win32 Debug" (based on "Win32 (x86) Application")
|
!MESSAGE "synergys - Win32 Debug" (based on "Win32 (x86) Application")
|
||||||
!MESSAGE
|
!MESSAGE
|
||||||
|
|
||||||
# Begin Project
|
# Begin Project
|
||||||
|
@ -29,7 +29,7 @@ CPP=cl.exe
|
||||||
MTL=midl.exe
|
MTL=midl.exe
|
||||||
RSC=rc.exe
|
RSC=rc.exe
|
||||||
|
|
||||||
!IF "$(CFG)" == "synergyd - Win32 Release"
|
!IF "$(CFG)" == "synergys - Win32 Release"
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
# PROP BASE Use_MFC 0
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
@ -56,7 +56,7 @@ LINK32=link.exe
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
|
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "synergyd - Win32 Debug"
|
!ELSEIF "$(CFG)" == "synergys - Win32 Debug"
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
# PROP BASE Use_MFC 0
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
@ -87,18 +87,18 @@ LINK32=link.exe
|
||||||
|
|
||||||
# Begin Target
|
# Begin Target
|
||||||
|
|
||||||
# Name "synergyd - Win32 Release"
|
# Name "synergys - Win32 Release"
|
||||||
# Name "synergyd - Win32 Debug"
|
# Name "synergys - Win32 Debug"
|
||||||
# Begin Group "Source Files"
|
# Begin Group "Source Files"
|
||||||
|
|
||||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\synergyd.cpp
|
SOURCE=.\synergys.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\synergyd.rc
|
SOURCE=.\synergys.rc
|
||||||
# End Source File
|
# End Source File
|
||||||
# End Group
|
# End Group
|
||||||
# Begin Group "Header Files"
|
# Begin Group "Header Files"
|
||||||
|
@ -114,7 +114,7 @@ SOURCE=.\resource.h
|
||||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\synergy.ico
|
SOURCE=.\synergys.ico
|
||||||
# End Source File
|
# End Source File
|
||||||
# End Group
|
# End Group
|
||||||
# End Target
|
# End Target
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
@ -91,8 +91,8 @@ lib/client/Makefile
|
||||||
lib/server/Makefile
|
lib/server/Makefile
|
||||||
cmd/Makefile
|
cmd/Makefile
|
||||||
cmd/launcher/Makefile
|
cmd/launcher/Makefile
|
||||||
cmd/synergy/Makefile
|
cmd/synergyc/Makefile
|
||||||
cmd/synergyd/Makefile
|
cmd/synergys/Makefile
|
||||||
dist/Makefile
|
dist/Makefile
|
||||||
dist/rpm/Makefile
|
dist/rpm/Makefile
|
||||||
dist/rpm/synergy.spec
|
dist/rpm/synergy.spec
|
||||||
|
|
|
@ -25,16 +25,16 @@ make
|
||||||
|
|
||||||
%install
|
%install
|
||||||
make install DESTDIR=$RPM_BUILD_ROOT
|
make install DESTDIR=$RPM_BUILD_ROOT
|
||||||
strip $RPM_BUILD_ROOT/usr/bin/synergy
|
strip $RPM_BUILD_ROOT/usr/bin/synergyc
|
||||||
strip $RPM_BUILD_ROOT/usr/bin/synergyd
|
strip $RPM_BUILD_ROOT/usr/bin/synergys
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
/usr/bin/synergy
|
/usr/bin/synergyc
|
||||||
/usr/bin/synergyd
|
/usr/bin/synergys
|
||||||
%doc AUTHORS
|
%doc AUTHORS
|
||||||
%doc BUGS
|
%doc BUGS
|
||||||
%doc COPYING
|
%doc COPYING
|
||||||
|
|
|
@ -12,10 +12,10 @@ Package=<5>
|
||||||
Package=<4>
|
Package=<4>
|
||||||
{{{
|
{{{
|
||||||
Begin Project Dependency
|
Begin Project Dependency
|
||||||
Project_Dep_Name synergy
|
Project_Dep_Name synergyc
|
||||||
End Project Dependency
|
End Project Dependency
|
||||||
Begin Project Dependency
|
Begin Project Dependency
|
||||||
Project_Dep_Name synergyd
|
Project_Dep_Name synergys
|
||||||
End Project Dependency
|
End Project Dependency
|
||||||
Begin Project Dependency
|
Begin Project Dependency
|
||||||
Project_Dep_Name launcher
|
Project_Dep_Name launcher
|
||||||
|
@ -180,7 +180,7 @@ Package=<4>
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
Project: "synergy"=.\cmd\synergy\synergy.dsp - Package Owner=<4>
|
Project: "synergyc"=.\cmd\synergyc\synergyc.dsp - Package Owner=<4>
|
||||||
|
|
||||||
Package=<5>
|
Package=<5>
|
||||||
{{{
|
{{{
|
||||||
|
@ -213,7 +213,7 @@ Package=<4>
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
Project: "synergyd"=.\cmd\synergyd\synergyd.dsp - Package Owner=<4>
|
Project: "synergys"=.\cmd\synergys\synergys.dsp - Package Owner=<4>
|
||||||
|
|
||||||
Package=<5>
|
Package=<5>
|
||||||
{{{
|
{{{
|
||||||
|
|
Loading…
Reference in New Issue