* Also ignore `command_pre` for Fedora itself * Improve warning message * Fixed layout issues on main window * Restore fusion theme for Windows dark mode * Further correct main window layout * Set CWD for launch on Windows to same dir as .env * Use signals for tray icon instead of callback * Reduce complexity for setting tray icon * Further reduce tray icon complexity * Reduce tray retry time * Fixed tray not showing on macOS * Refactor function names * Move tray icon to lib * Decouple server connection class * Move server connection to lib * Move client config to lib * Remove redundant forward declarations * Fixed some namespaces in the new lib * Move core process code to new class * Improve member names on new process class * Remove copy/pasta code * Move OSX helpers to lib * Add .mm to lib config * Fixed copyright * Improve reliability of log line handling * Fixed TLS certificate generate bugs * Remove client list * Refactor core process handling to fix various problems * Fixed process/connection status bugs * Fixed function signature issue on macOS * Fixed override warnings * Fixed string format warning * Save `wasStarted` state and use that instead * Use only filename in dialog * Use lambda for simple slot * Scroll to bottom if at bottome * Set value based on position before text added and set horizontal scroll too * Add 1px tollerance for Linux * Simplify start/stop mutex * Always stop service on restart * Increase scroll bottom threshold to 2 * Log warning instead of critical * Fixed long-standing dir CD-up hack * Remove include * Remove include * Fixed rogue dumbisense includes * Account for optional distro_like * Add QAction include to solve incomplete type * Remove rogue #pragma * Static cast log value * Solve event queue delete warning * Fixed integ test on Windows 10 * Reduce enum verbosity * Use static instance instead of global * Make function const * Use unique_ptr instead of new and delete, and made some functions const * Fixed smart pointer use * Fixed variable shadowing * Fixed wrong use of using * Fixed missing namespace using * Simplify TLS error handling * Improve UX around certificate errors and success * Decouple app config from core process through interface * First iteration of core process test * Mark dtor as override * Rename attach launch entry * Add TODO * Create proxy for process * Move IPC client to deps * Fixed warnings * Reorganize new GUI lib dir structure * Update includes to reflect new paths * Reorg GUI tests * Abstract IPC client * Refactor about screen * Fixed .ui warnings * Remove redundant include * Fixed typo * Fixed typos and add spelling * Fixed misleading function name * Improve comment * Improve code coverage for core process * Remove noisy log line * Make global const * Use default dtor * Use vector instead of new * Make ctor explicit * Make ctor explicit (2) * Use enum class * Fixed bad enum * Stub out core tool * Stub out dir operation * Extract byte functions * Add missing return path * Simplify byte/int functions * Fix truncation * Use ctor member assignment * Fixed segfault in process proxy * Fixed print warning * Make function const * Cleanup header * Fixed missing name * Update ChangeLog * Make more functions const |
||
|---|---|---|
| .github | ||
| .vscode | ||
| cmake | ||
| doc | ||
| ext | ||
| res | ||
| scripts | ||
| src | ||
| .clang-format | ||
| .env.example | ||
| .gitignore | ||
| .gitmodules | ||
| Brewfile | ||
| ChangeLog | ||
| Chocolatey.config | ||
| cmake-format.yaml | ||
| CMakeLists.txt | ||
| CMakePresets.json | ||
| config.yaml | ||
| CONTRIBUTING.md | ||
| cspell.json | ||
| Doxyfile | ||
| LICENSE | ||
| README.md | ||
| VERSION | ||
Synergy Core
The Synergy Core project is the open-source core component of Synergy, a keyboard and mouse sharing tool.
Join us on Discord or Slack in the #open-source channel.
This project is intended for advanced technical users, and when built produces Synergy 1 Community Edition.
To use the community edition, either install the synergy package with your favorite package manager or build it yourself using the Developer Quick Start instructions below.
Developer Quick Start
Simplified instructions for those who want to contribute to the development of Synergy Core.
Having problems? Check the Developer Guide wiki page.
Dependencies:
python scripts/install_deps.py
Configure:
Windows:
cmake -B build --preset=windows-release
macOS:
cmake -B build --preset=macos-release
Linux:
cmake -B build --preset=linux-release
Build:
cmake --build build -j8
Test:
./build/bin/unittests
Packages
To get Synergy 1, use your favorite package manager to install synergy (this repo).
Synergy 2 is no longer in development and should not be provided.
For both Synergy 1 and Synergy 3 you can use the official packages.