This repository has been archived by the owner. It is now read-only.
Permalink
...
Comparing changes
Open a pull request
20
contributors
Unified
Split
Showing
with
430 additions
and 517 deletions.
- +3 −2 .github/ISSUE_TEMPLATE.md
- +1 −6 CMakeLists.txt
- +28 −0 ChangeLog
- +3 −6 README → README.md
- +3 −3 doc/MacReadme.txt
- +27 −8 ext/toolchain/commands1.py
- +20 −0 install_rasbian.md
- +0 −15 res/dpiaware.manifest
- +0 −9 src/cmd/synergyc/CMakeLists.txt
- +0 −9 src/cmd/synergyd/CMakeLists.txt
- +0 −9 src/cmd/synergys/CMakeLists.txt
- +3 −1 src/gui/res/SettingsDialogBase.ui
- +2 −2 src/gui/res/lang/Languages.xml
- +26 −18 src/gui/res/mac/Info.plist
- +2 −1 src/gui/src/ActivationDialog.cpp
- +1 −1 src/gui/src/AppConfig.cpp
- +10 −4 src/gui/src/LicenseManager.cpp
- +2 −1 src/gui/src/LicenseManager.h
- +0 −19 src/gui/src/MainWindow.cpp
- +4 −3 src/gui/src/main.cpp
- +3 −1 src/lib/arch/unix/ArchDaemonUnix.cpp
- +1 −1 src/lib/arch/unix/ArchSystemUnix.cpp
- +1 −1 src/lib/ipc/IpcClientProxy.cpp
- +1 −1 src/lib/ipc/IpcServerProxy.cpp
- +24 −12 src/lib/platform/MSWindowsKeyState.cpp
- +1 −1 src/lib/platform/MSWindowsKeyState.h
- +16 −64 src/lib/platform/MSWindowsScreen.cpp
- +0 −7 src/lib/platform/MSWindowsScreen.h
- +103 −65 src/lib/platform/OSXKeyState.cpp
- +6 −0 src/lib/platform/OSXKeyState.h
- +17 −1 src/lib/platform/OSXScreen.mm
- +5 −24 src/lib/platform/XWindowsScreen.cpp
- +2 −2 src/lib/server/Config.cpp
- +44 −39 src/lib/server/Server.cpp
- +20 −13 src/lib/synergy/ArgParser.cpp
- +1 −1 src/lib/synergy/ClipboardChunk.cpp
- +0 −53 src/lib/synergy/DpiHelper.cpp
- +0 −38 src/lib/synergy/DpiHelper.h
- +4 −2 src/lib/synergy/key_types.h
- +1 −1 src/micro/uSynergy.h
- +15 −0 src/setup/win32/Product.wxs
- +21 −0 src/test/integtests/platform/MSWindowsKeyStateTests.cpp
- +9 −3 src/test/unittests/synergy/ClipboardChunkTests.cpp
- +0 −70 src/test/unittests/synergy/DpiHelperTests.cpp
View
5
.github/ISSUE_TEMPLATE.md
| @@ -1,8 +1,7 @@ | ||
| ### Operating Systems ### | ||
| -Client: Applesoft Windy OS 10 | ||
| - | ||
| Server: microOS Tiara | ||
| +Client: Applesoft Windy OS 10 | ||
| **READ ME, DELETE ME**: On Windows, hold the Windows key and press 'r', type 'winver' and hit return to get your OS version. On Mac, hit the Apple menu (top left of the screen) and check 'About this Mac'. Linux users... you know what you're using ;) | ||
| @@ -28,4 +27,6 @@ Server: microOS Tiara | ||
| * Is there a way to work around it? No/Yes, you can... | ||
| * Does this bug prevent you from using Synergy entirely? Yes/No | ||
| +Please follow the link below to send us logs from both your server and client sides if it's appropriate. https://github.com/symless/synergy/wiki/Sending-logs | ||
| + | ||
| Put anything else you can think of here. | ||
View
7
CMakeLists.txt
| @@ -17,7 +17,7 @@ | ||
| # Version number for Synergy | ||
| set(VERSION_MAJOR 1) | ||
| set(VERSION_MINOR 8) | ||
| -set(VERSION_REV 5) | ||
| +set(VERSION_REV 8) | ||
| set(VERSION_STAGE stable) | ||
| set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_REV}") | ||
| @@ -74,11 +74,6 @@ endif() | ||
| # Depending on the platform, pass in the required defines. | ||
| if (UNIX) | ||
| - | ||
| - # warnings as errors: | ||
| - # we have a problem with people checking in code with warnings. | ||
| - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wno-unused-local-typedef") | ||
| - | ||
| if (NOT APPLE) | ||
| set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") | ||
| endif() | ||
View
28
ChangeLog
| @@ -1,3 +1,31 @@ | ||
| +v1.8.8 | ||
| +========== | ||
| +Bug #5196 - Some keys on Korean and Japanese keyboards have the same keycode | ||
| +Bug #5578 - Pressing Hangul key results in alt+'a' | ||
| +Bug #5785 - Can't switch screens when cursor is in a corner | ||
| +Bug #3992 - macOS: Dragging is broken in Unity 3D | ||
| +Bug #5075 - macOS: Build fails on macOS 10.9 due to unknown compiler flag | ||
| +Bug #5809 - macOS: No version number is shown in the App Info dialog | ||
| +Bug #3197 - Linux: switchDoubleTap option is not working | ||
| +Bug #4477 - Linux: Mouse buttons higher than id 10 result in crash | ||
| +Bug #5832 - Linux: Screen size misdetected on multi-monitor display | ||
| +Enhancement #4504 - Improved Korean language description | ||
| +Enhancement #5525 - Added support for precise screen positioning in config file | ||
| +Enhancement #4290 - Windows: Removed annoying alt+print screen functionality | ||
| + | ||
| +v1.8.7-stable | ||
| +============= | ||
| +Bug #5784 - Edition changes when reopening GUI | ||
| + | ||
| +v1.8.6-stable | ||
| +============= | ||
| +Bug #5592 - Some keys don't work for macOS Sierra clients | ||
| +Bug #5186 - Cursor stuck on client when using multi-DPI server | ||
| +Bug #5722 - Malformed serial key in registry will crash GUI on startup | ||
| +Bug #5752 - Tab order is incorrect on Settings dialog | ||
| +Enhancement #5699 - Unified installers on macOS | ||
| +Feature #4836 - macOS Sierra build | ||
| + | ||
| v1.8.5-stable | ||
| ============= | ||
| Bug #5680 - Server crashes when disconnecting SSL clients | ||
View
9
README → README.md
| @@ -7,10 +7,7 @@ Synergy is free and open source (free as in free speech), | ||
| meaning you are free to run it and redistribute it with | ||
| or without changes. | ||
| -Just use "hm conf" and "hm build" to compile (./hm.sh on | ||
| -Linux and Mac). | ||
| - | ||
| -For detailed compile instructions: | ||
| -https://github.com/symless/synergy/wiki/Compiling | ||
| - | ||
| Happy hacking! | ||
| + | ||
| +#### Installation: | ||
| +- [Raspbian](https://github.com/OrangeUtan/synergy-stable-builds/blob/master/install_rasbian.md) | ||
View
6
doc/MacReadme.txt
| @@ -5,10 +5,10 @@ To install on Mac OS X with the .zip distribution (first seen in 1.3.6) you must | ||
| 1. Extract the zip file to any location (usually double click will do this) | ||
| 2. Open Terminal, and cd to the extracted directory (e.g. /Users/my-name/Downloads/extracted-dir/) | ||
| - 3. Change to super user (use the su command) | ||
| - 4. Copy the binaries to /usr/bin using: cp synergy* /usr/bin | ||
| + 3. Copy the binaries to /usr/bin using: sudo cp synergy* /usr/bin | ||
| + 4. Correct the permissions and ownership: sudo chown root:wheel /usr/bin/synergy*; sudo chmod 555 /usr/bin/synergy* | ||
| -How to enable the root user in Mac OS X: | ||
| +Alternatively, you can copy the binaries as root. How to enable the root user in Mac OS X: | ||
| http://support.apple.com/en-us/ht1528 | ||
| Once the binaries have been copied to /usr/bin, you should follow the configuration guide: | ||
View
35
ext/toolchain/commands1.py
| @@ -41,7 +41,7 @@ class Toolchain: | ||
| cmd_opt_dict = { | ||
| 'about' : ['', []], | ||
| 'setup' : ['g:', ['generator=']], | ||
| - 'configure' : ['g:dr', ['generator=', 'debug', 'release', 'mac-sdk=', 'mac-identity=']], | ||
| + 'configure' : ['g:dr', ['generator=', 'debug', 'release', 'mac-sdk=', 'mac-deploy=', 'mac-identity=']], | ||
| 'build' : ['dr', ['debug', 'release']], | ||
| 'clean' : ['dr', ['debug', 'release']], | ||
| 'update' : ['', []], | ||
| @@ -244,6 +244,9 @@ class InternalCommands: | ||
| # by default, unknown | ||
| macSdk = None | ||
| + # by default, unknown | ||
| + macDeploy = None | ||
| + | ||
| # by default, unknown | ||
| macIdentity = None | ||
| @@ -306,7 +309,7 @@ def usage(self): | ||
| ' genlist Shows the list of available platform generators\n' | ||
| ' usage Shows the help screen\n' | ||
| '\n' | ||
| - 'Example: %s build -g 3' | ||
| + 'Example: %s conf -g 3' | ||
| ) % (app, app) | ||
| def configureAll(self, targets, extraArgs=''): | ||
| @@ -365,7 +368,7 @@ def configure(self, target='', extraArgs=''): | ||
| # ensure latest setup and do not ask config for generator (only fall | ||
| # back to prompt if not specified as arg) | ||
| self.ensure_setup_latest() | ||
| - | ||
| + | ||
| if sys.platform == "darwin": | ||
| config = self.getConfig() | ||
| @@ -374,6 +377,11 @@ def configure(self, target='', extraArgs=''): | ||
| elif config.has_option("hm", "macSdk"): | ||
| self.macSdk = config.get('hm', 'macSdk') | ||
| + if self.macDeploy: | ||
| + config.set('hm', 'macDeploy', self.macDeploy) | ||
| + elif config.has_option("hm", "macDeploy"): | ||
| + self.macSdk = config.get('hm', 'macDeploy') | ||
| + | ||
| if self.macIdentity: | ||
| config.set('hm', 'macIdentity', self.macIdentity) | ||
| elif config.has_option("hm", "macIdentity"): | ||
| @@ -383,7 +391,10 @@ def configure(self, target='', extraArgs=''): | ||
| if not self.macSdk: | ||
| raise Exception("Arg missing: --mac-sdk <version>"); | ||
| - | ||
| + | ||
| + if not self.macDeploy: | ||
| + self.macDeploy = self.macSdk | ||
| + | ||
| if not self.macIdentity: | ||
| raise Exception("Arg missing: --mac-identity <name>"); | ||
| @@ -438,7 +449,7 @@ def configureCore(self, target="", extraArgs=""): | ||
| if generator.cmakeName.find('Unix Makefiles') == -1: | ||
| sdkDir = self.getMacSdkDir() | ||
| cmake_args += " -DCMAKE_OSX_SYSROOT=" + sdkDir | ||
| - cmake_args += " -DCMAKE_OSX_DEPLOYMENT_TARGET=" + self.macSdk | ||
| + cmake_args += " -DCMAKE_OSX_DEPLOYMENT_TARGET=" + self.macDeploy | ||
| cmake_args += " -DOSX_TARGET_MAJOR=" + macSdkMatch.group(1) | ||
| cmake_args += " -DOSX_TARGET_MINOR=" + macSdkMatch.group(2) | ||
| @@ -498,8 +509,8 @@ def configureGui(self, target="", extraArgs=""): | ||
| sdkDir = self.getMacSdkDir() | ||
| shortForm = "macosx" + self.macSdk | ||
| version = str(major) + "." + str(minor) | ||
| - | ||
| - qmake_cmd_string += " QMAKE_MACOSX_DEPLOYMENT_TARGET=" + version | ||
| + | ||
| + qmake_cmd_string += " QMAKE_MACOSX_DEPLOYMENT_TARGET=" + self.macDeploy | ||
| (qMajor, qMinor, qRev) = self.getQmakeVersion() | ||
| if qMajor <= 4: | ||
| @@ -656,6 +667,9 @@ def loadConfig(self): | ||
| if config.has_option("hm", "macSdk"): | ||
| self.macSdk = config.get("hm", "macSdk") | ||
| + | ||
| + if config.has_option("hm", "macDeploy"): | ||
| + self.macDeploy = config.get("hm", "macDeploy") | ||
| if config.has_option("hm", "macIdentity"): | ||
| self.macIdentity = config.get("hm", "macIdentity") | ||
| @@ -1843,7 +1857,10 @@ def getMacPackageName(self): | ||
| # version is major and minor with no dots (e.g. 106) | ||
| version = str(major) + str(minor) | ||
| - return "MacOSX%s-%s" % (version, arch) | ||
| + if (self.macDeploy == self.macSdk): | ||
| + return "MacOSX%s-%s" % (version, arch) | ||
| + else: | ||
| + return "MacOSX-%s" % arch | ||
| def reset(self): | ||
| if os.path.exists('build'): | ||
| @@ -1898,6 +1915,8 @@ def __init__(self, argv, opts, args, verbose): | ||
| self.qtDir = a | ||
| elif o == '--mac-sdk': | ||
| self.ic.macSdk = a | ||
| + elif o == '--mac-deploy': | ||
| + self.ic.macDeploy = a | ||
| elif o == '--mac-identity': | ||
| self.ic.macIdentity = a | ||
View
20
install_rasbian.md
| @@ -0,0 +1,20 @@ | ||
| +### BUILD | ||
| +- "sudo apt-get install gcc cmake libx11-dev libxtst-dev qt4-dev-tools libcurl4-openssl-dev libssl-dev libssl-dev libavahi-compat-libdnssd-dev" | ||
| +- "cd ~/Downloads" | ||
| +- "wget https://github.com/OrangeUtan/synergy-stable-builds/archive/v1.8.8-stable.zip" | ||
| +- "unzip v1.8.8-stable.zip" | ||
| +- "vim synergy-stable-builds-1.8.8-stable/src/lib/net/SecureSocket.cpp" | ||
| +change line 810 'm_ssl->m_ssl->session->ciphers' to 'SSL_get_client_ciphers(m_ssl->m_ssl)' \ | ||
| +- "./hm.sh conf -g1" | ||
| +- "./hm.sh build" | ||
| + | ||
| +### INSTALL | ||
| +- cd ~/Downloads | ||
| +- "cp synergy-stable-builds-1.8.8-stable/bin /usr/bin" | ||
| + | ||
| +### ISSUES: | ||
| +- connection to server with SSL fails: | ||
| + - start synergyc in debug mode: "synergyc -f -d DEBUG2 --enable-crypto -n name 123.456.789.01" | ||
| + - look for "NOTE: server fingerprint: FI:NG:GE:RP:IN:TH:ER:E5 \n ERROR: failed to verify ...." | ||
| + - copy and append fingerprint to ~/.synergy/SSL/Fingerprints/TrustedServers.txt | ||
| + |
View
15
res/dpiaware.manifest
| @@ -1,15 +0,0 @@ | ||
| -<?xml version="1.0" encoding="UTF-8"?> | ||
| -<assembly xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" manifestVersion="1.0"> | ||
| - <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> | ||
| - <application> | ||
| - <!-- Windows 7 --> | ||
| - <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" /> | ||
| - </application> | ||
| - </compatibility> | ||
| - <asmv3:application> | ||
| - <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"> | ||
| - <dpiAware>true</dpiAware> | ||
| - </asmv3:windowsSettings> | ||
| - </asmv3:application> | ||
| -</assembly> | ||
| - |
View
9
src/cmd/synergyc/CMakeLists.txt
| @@ -60,15 +60,6 @@ add_executable(synergyc ${sources}) | ||
| target_link_libraries(synergyc | ||
| arch base client common io mt net ipc platform server synergy ${libs} ${OPENSSL_LIBS}) | ||
| -if (WIN32) | ||
| - ADD_CUSTOM_COMMAND( | ||
| - TARGET synergyc | ||
| - POST_BUILD | ||
| - COMMAND "mt.exe" -manifest \"${CMAKE_SOURCE_DIR}\\res\\dpiaware.manifest\" -inputresource:\"$<TARGET_FILE:synergyc>\"\;\#1 -outputresource:\"$<TARGET_FILE:synergyc>\"\;\#1 | ||
| - COMMENT "Adding display aware manifest..." | ||
| - ) | ||
| -endif() | ||
| - | ||
| if (CONF_CPACK) | ||
| install(TARGETS | ||
| synergyc | ||
View
9
src/cmd/synergyd/CMakeLists.txt
| @@ -37,15 +37,6 @@ endif() | ||
| target_link_libraries(synergyd | ||
| arch base common io ipc mt net platform synergy shared ${libs} ${OPENSSL_LIBS}) | ||
| -if (WIN32) | ||
| - ADD_CUSTOM_COMMAND( | ||
| - TARGET synergyd | ||
| - POST_BUILD | ||
| - COMMAND "mt.exe" -manifest \"${CMAKE_SOURCE_DIR}\\res\\dpiaware.manifest\" -inputresource:\"$<TARGET_FILE:synergyd>\"\;\#1 -outputresource:\"$<TARGET_FILE:synergyd>\"\;\#1 | ||
| - COMMENT "Adding display aware manifest..." | ||
| - ) | ||
| -endif() | ||
| - | ||
| if (CONF_CPACK) | ||
| install(TARGETS | ||
| synergyd | ||
View
9
src/cmd/synergys/CMakeLists.txt
| @@ -60,15 +60,6 @@ add_executable(synergys ${sources}) | ||
| target_link_libraries(synergys | ||
| arch base client common io mt net ipc platform server synergy ${libs} ${OPENSSL_LIBS}) | ||
| -if (WIN32) | ||
| - ADD_CUSTOM_COMMAND( | ||
| - TARGET synergys | ||
| - POST_BUILD | ||
| - COMMAND "mt.exe" -manifest \"${CMAKE_SOURCE_DIR}\\res\\dpiaware.manifest\" -inputresource:\"$<TARGET_FILE:synergys>\"\;\#1 -outputresource:\"$<TARGET_FILE:synergys>\"\;\#1 | ||
| - COMMENT "Adding display aware manifest..." | ||
| - ) | ||
| -endif() | ||
| - | ||
| if (CONF_CPACK) | ||
| install(TARGETS | ||
| synergys | ||
View
4
src/gui/res/SettingsDialogBase.ui
| @@ -330,11 +330,13 @@ | ||
| <tabstop>m_pLineEditScreenName</tabstop> | ||
| <tabstop>m_pSpinBoxPort</tabstop> | ||
| <tabstop>m_pLineEditInterface</tabstop> | ||
| + <tabstop>m_pComboElevate</tabstop> | ||
| + <tabstop>m_pCheckBoxAutoHide</tabstop> | ||
| + <tabstop>m_pCheckBoxEnableCrypto</tabstop> | ||
| <tabstop>m_pComboLogLevel</tabstop> | ||
| <tabstop>m_pCheckBoxLogToFile</tabstop> | ||
| <tabstop>m_pLineEditLogFilename</tabstop> | ||
| <tabstop>m_pButtonBrowseLog</tabstop> | ||
| - <tabstop>buttonBox</tabstop> | ||
| </tabstops> | ||
| <resources/> | ||
| <connections> | ||
View
4
src/gui/res/lang/Languages.xml
| @@ -36,11 +36,11 @@ | ||
| <language ietfCode="ar" name="العربية" /> | ||
| <language ietfCode="pes-IR" name="فارسی" /> | ||
| <language ietfCode="ur" name="اردو" /> | ||
| - <language ietfCode="mr" name="मराठी" /> | ||
| + <language ietfCode="mr" name="मराठी" /> | ||
| <language ietfCode="si" name="Sඉන්හල" /> | ||
| <language ietfCode="th-TH" name="ภาษาไทย" /> | ||
| <language ietfCode="zh-CN" name="中文 (简体)" /> | ||
| <language ietfCode="zh-TW" name="中文 (繁體)" /> | ||
| <language ietfCode="ja-JP" name="日本語" /> | ||
| - <language ietfCode="ko" name="한국의" /> | ||
| + <language ietfCode="ko" name="한국어" /> | ||
| </languages> | ||
View
44
src/gui/res/mac/Info.plist
| @@ -1,20 +1,28 @@ | ||
| -<?xml version="1.0" encoding="UTF-8"?> | ||
| -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||
| +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||
| <plist version="1.0"> | ||
| -<dict> | ||
| - <key>CFBundleInfoDictionaryVersion</key> | ||
| - <string>6.0</string> | ||
| - <key>NSPrincipalClass</key> | ||
| - <string>NSApplication</string> | ||
| - <key>CFBundleIconFile</key> | ||
| - <string>Synergy.icns</string> | ||
| - <key>CFBundlePackageType</key> | ||
| - <string>APPL</string> | ||
| - <key>CFBundleSignature</key> | ||
| - <string>????</string> | ||
| - <key>CFBundleExecutable</key> | ||
| - <string>Synergy</string> | ||
| - <key>CFBundleIdentifier</key> | ||
| - <string>synergy</string> | ||
| -</dict> | ||
| + <dict> | ||
| + <key>CFBundleDevelopmentRegion</key> | ||
| + <string>English</string> | ||
| + <key>CFBundleDisplayName</key> | ||
| + <string>Synergy</string> | ||
| + <key>CFBundleExecutable</key> | ||
| + <string>Synergy</string> | ||
| + <key>CFBundleIconFile</key> | ||
| + <string>Synergy.icns</string> | ||
| + <key>CFBundleIdentifier</key> | ||
| + <string>synergy</string> | ||
| + <!-- TODO: Fix this in v2.0 //--> | ||
| + <key>CFBundleInfoDictionaryVersion</key> | ||
| + <string>6.0</string> | ||
| + <key>CFBundleName</key> | ||
| + <string>Synergy</string> | ||
| + <key>CFBundlePackageType</key> | ||
| + <string>APPL</string> | ||
| + <key>CFBundleShortVersionString</key> | ||
| + <string>1.8.8</string> | ||
| + <key>CFBundleVersion</key> | ||
| + <string>1.8.8</string> | ||
| + <key>NSHumanReadableCopyright</key> | ||
| + <string>© 2012-2016, Symless Ltd</string> | ||
| + </dict> | ||
| </plist> |
View
3
src/gui/src/ActivationDialog.cpp
| @@ -71,7 +71,8 @@ void ActivationDialog::accept() | ||
| std::pair<bool, QString> result; | ||
| try { | ||
| - QString serialKey = ui->m_pTextEditSerialKey->toPlainText().trimmed(); | ||
| + SerialKey serialKey (ui->m_pTextEditSerialKey->toPlainText(). | ||
| + trimmed().toStdString()); | ||
| result = m_LicenseManager->setSerialKey(serialKey); | ||
| } | ||
| catch (std::exception& e) { | ||
View
2
src/gui/src/AppConfig.cpp
| @@ -161,7 +161,7 @@ void AppConfig::loadSettings() | ||
| m_ActivateEmail = settings().value("activateEmail", "").toString(); | ||
| m_CryptoEnabled = settings().value("cryptoEnabled", true).toBool(); | ||
| m_AutoHide = settings().value("autoHide", false).toBool(); | ||
| - m_Serialkey = settings().value("serialKey", "").toString(); | ||
| + m_Serialkey = settings().value("serialKey", "").toString().trimmed(); | ||
| m_lastVersion = settings().value("lastVersion", "Unknown").toString(); | ||
| m_LastExpiringWarningTime = settings().value("lastExpiringWarningTime", 0).toInt(); | ||
| m_ActivationHasRun = settings().value("activationHasRun", false).toBool(); | ||
Oops, something went wrong.