No description
Find a file
Nick Bolton b128863c67
Load server or client args from synergy-config.toml (#7467)
* Load args from .toml file

* Remove .toml files

* Handle _ arg as no key

* Remove dotenv-cpp

* Treat special last arg specially

* Improve restart warning

* Remove rogue include

* Move TOML config loader to new class

* Merge config files into one

* Add override to virtual functions

* Tidy up App decl and add missing overrides

* Add comments to organize function types

* Fixed: config.h doesn't work on Windows

* Move var position

* Improve includes in app classes

* Update ChangeLog

* Restore position of configure_file call

* Remove new entries in .in file
2024-09-02 23:48:57 +01:00
.github Use github.rest.git instead of github.git 2024-09-02 16:21:54 +01:00
.vscode Load server or client args from synergy-config.toml (#7467) 2024-09-02 23:48:57 +01:00
cmake Load server or client args from synergy-config.toml (#7467) 2024-09-02 23:48:57 +01:00
doc Re-implement packaging for GitHub workflows (Linux) (#7361) 2024-07-02 11:23:56 +01:00
res Load server or client args from synergy-config.toml (#7467) 2024-09-02 23:48:57 +01:00
scripts Load server or client args from synergy-config.toml (#7467) 2024-09-02 23:48:57 +01:00
src Load server or client args from synergy-config.toml (#7467) 2024-09-02 23:48:57 +01:00
subprojects Load server or client args from synergy-config.toml (#7467) 2024-09-02 23:48:57 +01:00
.clang-format Make Clang param and arg alignment more readable (#7387) 2024-07-16 14:36:44 +01:00
.env.example Introduced new env vars for testing (#7436) 2024-08-11 22:34:48 +01:00
.gitignore Load server or client args from synergy-config.toml (#7467) 2024-09-02 23:48:57 +01:00
Brewfile Make Meson-provided packages optional (#7459) 2024-09-02 09:28:27 +01:00
ChangeLog Load server or client args from synergy-config.toml (#7467) 2024-09-02 23:48:57 +01:00
Chocolatey.config Upgrade from Qt5 to Qt6 for more modern UI (#7373) 2024-07-08 15:37:51 +01:00
cmake-format.yaml Restore integtests and add to CI as warning comment on failure (#7404) 2024-07-18 17:51:06 +01:00
CMakeLists.txt Change default value for dev thanks message (1.16) (#7453) 2024-08-30 21:14:02 +01:00
CMakePresets.json Combine GitHub workflows to reduce config duplication (#7352) 2024-06-19 17:48:18 +01:00
config.yaml Make Meson-provided packages optional (#7459) 2024-09-02 09:28:27 +01:00
CONTRIBUTING.md Change default value for dev thanks message (1.16) (#7453) 2024-08-30 21:14:02 +01:00
cspell.json Wayland support (port Red Hat libei and libportal impl) (#7449) 2024-08-30 15:53:25 +01:00
Doxyfile Change default value for dev thanks message (1.16) (#7453) 2024-08-30 21:14:02 +01:00
LICENSE Add missing dependencies to Debian package (#7374) 2024-07-09 11:12:44 +01:00
meson.build Load server or client args from synergy-config.toml (#7467) 2024-09-02 23:48:57 +01:00
meson_options.txt Make Meson-provided packages optional (#7459) 2024-09-02 09:28:27 +01:00
README.md Restored SonarCloud quality badge 2024-08-30 23:15:49 +01:00
VERSION Bump version to 1.16.0-beta 2024-08-23 08:53:54 +01:00

Synergy

Quality Gate Status CI CodeQL Analysis SonarCloud Analysis Build containers

Synergy is a keyboard and mouse sharing app. Use the keyboard, mouse, or trackpad of one computer to control nearby computers, and work seamlessly between them.

This project contains the source code for Synergy 1 Community Edition which is actively maintained, free to use, and does not require a license or serial key.

Wayland support: Wayland is supported (GNOME 46 is required).

Synergy 1 Community Edition

To use the community edition, install the synergy package with your favorite package manager or build it yourself using the Developer Quick Start instructions below.

Join us on Discord or Slack in the #open-source channel.

Developer Quick Start

How to build Synergy 1 Community Edition. Check the Developer Guide wiki page if you have problems.

1. Dependencies:

Windows:

python scripts/install_deps.py

macOS/Linux:

./scripts/install_deps.py

2. Configure:

Windows:

cmake -B build --preset=windows-release

macOS:

cmake -B build --preset=macos-release

Linux:

cmake -B build --preset=linux-release

3. Build:

cmake --build build -j8

4. Test:

./build/bin/unittests

Packages

Synergy 1 Community Edition is packaged by the community (status shown below). Package maintainers can use scripts/package.py to build packages.

Synergy 2 is no longer in development and we recommend that package maintainers do not provide it.

Synergy 3 and Synergy 1 (licensed) are available to download from the official packages.

Community edition:

Windows:

choco install synergy

macOS:

brew install synergy

Debian, Ubuntu, etc:

sudo apt install synergy

Fedora, Red Hat, etc:

sudo dnf install synergy

Arch, Manjaro, etc:

sudo pacman -S synergy

Repology:

Repology