Synergy Configuration File Format

The synergy server requires configuration. It will try certain pathnames to load the configuration file if you don't specify a path using the --config command line option. synergys --help reports those pathnames.

The configuration file is a plain text file. Use any text editor to create the configuration file. The file is broken into sections and each section has the form:

  section: name
    args
  end
Comments are introduced by # and continue to the end of the line. name must be one of the following: See below for further explanation of each section type. The configuration file is case-sensitive so Section, SECTION, and section are all different and only the last is valid. Screen names are the exception; screen names are case-insensitive.

The file is parsed top to bottom and names cannot be used before they've been defined in the screens or aliases sections. So the links and aliases must appear after the screens and links cannot refer to aliases unless the aliases appear before the links.

screens

args is a list of screen names, one name per line, each followed by a colon. Names are arbitrary strings but they must be unique. The hostname of each computer is recommended. (This is the computer's network name on win32 and the name reported by the program hostname on Unix and OS X. Note that OS X may append .local to the name you gave your computer; e.g. somehost.local.) There must be a screen name for the server and each client. Each screen can specify a number of options. Options have the form name = value and are listed one per line after the screen name.

Example:

    section: screens
    	moe:
    	larry:
            halfDuplexCapsLock = true
            halfDuplexNumLock = true
    	curly:
            meta = alt
    end
This declares three screens named moe, larry, and curly. Screen larry has half-duplex Caps Lock and Num Lock keys (see below) and screen curly converts the meta modifier key to the alt modifier key.

A screen can have the following options:

aliases

args 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

args is a list of screen names just like in the screens section except each screen is followed by a list of links, one per line. Each link has the form {left|right|up|down} = name. A link indicates which screen is adjacent in the given direction.

Example:

    section: links
        moe:
            right = larry
            up    = curly
        larry:
            left  = moe
            up    = curly
        curly:
            down  = larry
    end
This indicates that screen larry is to the right of screen moe (so moving the cursor off the right edge of moe would make it appear at the left edge of larry), curly is above moe, moe is to the left of larry, curly is above larry, and larry is below curly. Note that links do not have to be symmetrical; moving up from moe then down from curly lands the cursor on larry.

options

args is a list of lines of the form name = value. These set the global options.

Example:

    section: options
        heatbeat = 5000
        switchDelay = 500
    end

You can use the following options:

You can use both the switchDelay and switchDoubleTap options at the same time. Synergy will switch when either requirement is satisfied.