* Add libei and libportal
* Port libei and libportal code by Peter Hutterer and Olivier Fourdan
* Add Peter Hutterer and Olivier Fourdan to important devs list
* Improve error handling for libei and libportal builds
* Checkout libportal tags/0.7.1
* Hack out the gi-docgen clone
* Remove new submodules in favor of using ExternalProject_Add
* Remove submodule dirs
* Use ExternalProject_Add instead of submodules
* Fixed namespace
* Hack to work around type libportal causing type conflicts
* Add log helper functions
* Use original log functions
* Switch to FetchContent, use libportal a1530a9 (unreleased) and use camelCase member names for consistency
* Restore a few events (much more work required)
* Add TODOs for supporting multiple lib versions
* Revert "Switch to FetchContent, use libportal a1530a9 (unreleased) and use camelCase member names for consistency"
This reverts commit 610cebb5b6a08282eee68f4424fcdbe9eaab4bf9.
* Simplify cmake config by removing builds for libei and libportal (will do this in `install_deps.py` instead)
* Remove submodules
* Remove .gitmodules
* Use meson to build subprojects
* Update copyright with Peter Hutterer's guidance
* Use meson for installing deps
* Fixed typo in tag name
* Remove submodules
* Remove old submodules
* Fixed libei name
* Defaults for pugixml and gtest depending on whether source exists in subprojects
* Ignore some subproject dirs
* Make deps OS-specific
* Move python deps to pyproject
* Only compile and install on Linux with Meson
* Revert "Move python deps to pyproject"
This reverts commit 92c8a287b8376a4d166058c85f1d6081f6fdb423.
* Add ninja to brewfile
* Add python3-attr
* Restore original coverage config
* Add ninja for meson
* Include meson in same try-except
* Fixed ninja dep name
* Move libs to correct oS
* Fixed include for wintoast
* Disable docs for libportal
* More options for libei and libportal
* Fixed option for libei
* Use ninja directly to install
* Revert "Use ninja directly to install"
This reverts commit c926d78ba483406a55acd10fb157c39e13f90b71.
* Meson install verbose
* Prints stdout/stderr
* Remove `from None`
* Remove submodules that somehow crept back in?!
* Prepend sudo if exists
* Add libei deps for all distros
* Fixed Fedora package name
* Add more deps for other distros
* Add more libs (including pugixml)
* Fix lib name
* Drop -u from pacman
* Add vala to rhel
* Make libportal optional
* Make portal link optional
* Remove example code
* Always use system pugixml
* Disable interactive apt through install_deps.py
* Revert "Disable interactive apt through install_deps.py"
This reverts commit 5bbc8fd689182447c79b81db16c961b98361a292.
* Set DEBIAN_FRONTEND in workflows
* Set DEBIAN_FRONTEND in CodeQL workflow
* Add gtest dep
* Add bundled libei dep
* Add libei dep to Arch
* Use `googletest` on openSUSE
* Add gmock dep
* Remove gtest dep from openSUSE
* Add libei on Fedora
* Bundle libei for older Linux distros
* Disable libei dep for RPM
* Also bundle symlink to .so
* Use ${CMAKE_INSTALL_LIBDIR}
* Rename libei to fix openSUSE
* List installed files
* Add libei-devel to openSUSE
* Add googletest-devel to openSUSE
* Remove manual deps (probably resolved automatically)
* Remove googletest from openSUSE (doesn't provide google mock)
* Only add Portal* if libportal found
* WIP - Partial work on using old events system :'(
* Add deps install commands for subprojects
* Solved more compile issues related to events system, threads, etc
* Fixed bad config for adding x, ei, portal sources
* Remove redundant deps
* Remove (another) redundant dep
* Fixed pacman command
* Add Ubuntu and Linux Mint libei deps
* Fixed Ubuntu and Linux Mint libei deps aliases
* Only iterate subprojects if not None
* Add rhel, rocky, and alma for libei
* Make rhel-like deps same as fedora again
* Build libportal on rhel-like
* Re-enable meson rhel-like for libportal
* Remove dbus-python
* Make libportal optional (for rhel-like)
* Handle ei event queue results
* Re-introduce libportal
* Print libei and libportal versions
* Add ei/portal args and client screen
* Switch --use args to --no
* Don't build libei/libportal on older distros as it's pointless
* Make libei and libportal optional
* Add Debian 13 runner
* Make some packages optional
* Remove subprojects
* Improve comment
* Add comment for libportal
* Improve comment
* Add Debian 13 runner
* Make optional... optional
* Change continuation stripper to remove newline and continuation char
* Make command strip more uniform
* Fixed help var syntax
* Fixed libei linking
* Ensure `kHelpNoWayland` is always defined
* Improve help message
* Fixed Debian 13 runner name
* Include sstream and use const var
* Update ChangeLog
* Remove Wayland block
* Return new timer
* Make tray icon logging verbose
* Fixed arg parser for wayland args
* Fixed init of EI screen
* Fixed lint issues
* Update README to indicate Wayland support in GNOME 46
* Add missing word
* Fixed comment positions
* Automate CI env
* Tone down debug log messages
* Add missing comma
* Remove redundant log line
* Add missing atom ctor init
* Init members with `None`
* Use in-class init and delcare getter inside if init
* Temp revert of changes ahead of unit test repair
* Move IPC header to shared, restore X clipboard test, simplify test cmake, new X clipboard unit test
* Suppress sonar for undefs
* Remove base dir include
* Revert "Temp revert of changes ahead of unit test repair"
This reverts commit 8f84b6ea5d5828f1be1362de3809279bcacb8cc8.
* Use new accessor
* Use default dtor
* Beef up to 32 core
* Use enum class
* Make IPC protocol headers const at all levels
* Use enum class and const char for better type safety
* Use unique_ptr for m_clipboard
* Use `-j` instead of `-j8` to utilize full parallelism
* Increase thread count for sonar-scanner
* Use 32 threads
* Use in-class init for IpcClientProxy members
* Use const instead of #define
* Remove ctor member inits
* Use unique_ptr on win
* Implement temp bin dir for windows with more robust post-build copy
* Fixed missing iostream
* Add warning about copy errors
* Only run clean-gcda on Linux
* Use in-class init for IPC mutex
* Do no-op on Windows
* Hide clean-gcda task
* Move flakey test to integtests
* Delete dead code
* Test
* Temp disable post_config_all
* Disable post config step
* Revert "Disable post config step"
This reverts commit 2f956a7714ba9bedacd4b39d4ae00940c3d565d6.
* Revert "Temp disable post_config_all"
This reverts commit b44ed72e44f838bfe1309f6e9672d2f1c6f21b75.
* Restore -j8
* Simplify error handling
* Use const for test port
* Remove python check
* Update changelog
* Fixed order
* Fixed bad issue number
* Fixed bin copy source path
* Remove redundant except
* Reorganize CMake Packaging module
* Match if statements to function order
* Cleanup root, res, and doc dirs
* Move deps to requirements.txt file
* Reorganize and format CMake files
* Rename changelog lint
* Add reccomended extension
* Workflow to lint CMake files
* Move CMake lint to script
* Try lighter dep
* Use venv
* Add --format arg
* Format all CMake files
* Convert bash script to Python
* Set CMake line ending format
* Restore formatting
* Add pyyaml dep
* Remove unused arg
* Rename config file
* Remove comment
* Repair copyrights (broken by defualt cmake-format)
* Restore 3rd party copyright
* Break up libs config into smaller macros
* Better macro name
* Load config after venv
* Make intentional noop clearer
* Only use upload step if required (make skip clearer)
* Use CPack for deb and rpm packaging
* Add upload step for Linux
* Remove cpack dep, doesn't exist
* Roll back presets version
* Fixed distro like match
* Update ChangeLog
* Legacy checkout for some distros
* All distros support v4
* Trying out newer Linux distros
* Install Git on Docker images
* Install without actions (not available before checkout)
* Delete useless action
* Install Python
* Support for Arch and OpenSUSE
* Add Arch and OpenSUSE to deps
* Name steps
* Full OpenSUSE names
* Mark Git dir safe
* Add pkgconf
* Legacy CMake for Debian 11
* Add OpenSSL to OpenSUSE
* Drop OpenSUSE Leap (no C++20 support)
* Skip packaging for Arch and OpenSUSE (for now)
* Shorten Arch/OpenSUSE names
* Clearer step name
* SImpler bootstrap
* Shell not needed
* Update apt
* Don't check return code
* Simplify python deps commands
* Add STGZ/.sh package type
* Prevent input prompt
* Only config git safe dir when needed
* Try cache v4
* Safe dir for Ubuntu
* Safe dir for Arch
* All Docker images seem to need safe dir config
* Refactor env var getters
* Make Ubuntu build extra packages
* Condense bootstep to single step
* Fixed var name
* Fixed bootstrap logic
* Simplify logic for upload condition (Windows and macOS)
* Make package/upload condition easier to understand
* Add Manjaro
* Generic names for Linux .tar.gz and .sh packages
* Add Manjaro deps
* Swap macOS matrix entries
* Add Red Hat UBI
* Remove RHEL subscription manager
* Throw on unsupported package distro
* Conditionally install pip and venv
* Remove extra pip arg
* Add config for RHEL
* Install EPEL for RHEL
* Back-out RHEL as EPEL requires subscription
* Restore Python deps logic
* Fixed bug: Packacking run twice
* Testing arm32v7 and arm64v8
* Revert "Testing arm32v7 and arm64v8"
This reverts commit cb3caf188d2b79ed083a62fc091de295f9889f3d.
* Re-add icon and shortcut file for Linux to package
* Support OpenSUSE RPM build
* Check return code
* Add `rpm-build` for OpenSUSE
* Reorg packages
* Remove busybox-which
* Add --non-interactive
* Move --non-interactive to correct position
* Experiment with makepkg
* Check and print package commands
* Make distro version optional
* Use 8 cores to build
* Default to distro name only
* Fixed bad PKGBUILD filename
* Use 4-part version for Arch
* Remove comma from conflicts
* Use .tar.gz from cwd
* Generate checksum for Arch
* Fixed file extension
* Use shell to print output
* Don't use shell
* Gaurd against bad cmd_utils.run
* Fixed bad import
* Use list command
* Fixed unable to run list commands
* Use source file name
* Simplify PKGBUILD to use make install
* Change install prefix
* Use DESTDIR
* Copy .desktop and .png to build dir
* Restore original `install(FILES...`
* Improving comments
* Fixed: makepkg runs from `src` by default
* Move error after command print
* Remove shell arg
* Package as a user instead of root (makepkg can't run as root)
* Fixed codesign runs in shell
* Allow list commands in shell on windows
* Don't use sudo on arch
* Install sudo on Arch
* Fixed typo
* Fix ownership of build directory for package user
* Improve example .env
* Change to depend on libstdc++6
* Add TODO
* Fixed Fedora version
* Remove libstdc++ deps (names vary between distros)
* Roll back to Fedora 40 and 39
* Improve comment
* Remove unneccesary default
Add a SYSTEM_PUGIXML CMake option that can be used to build the package
against system-provided version of pugixml instead of the vendored one.
Multiple Linux distributions have a policy against bundling libraries,
and in this particular case there doesn't seem to be any justification
to using the bundled library version.
Fixes#7118
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix checkbox spelling
* SYNERGY-907 Client tray language switcher reverts to EN
*Update changelog
* SYNERGY-907 Client tray language switcher reverts to EN
*Temporary disable language sync logic
* SYNERGY-907 client tray language switcher reverts to en
*Update changelog
* Synergy 907 client tray language switcher reverts to en
*Fix sonar
* Synergy 907 client tray language switcher reverts to en
*Fix sonar
* Synergy 907 client tray language switcher reverts to en
*Fix chnagelog
* SYNERGY-907 Client tray language switcher reverts to EN
*Add prototype of keyboard layout names transfer(Windows part)
* SYNERGY-907 Client tray language switcher reverts to EN
*Add keyboard layout determination(Mac part)
* SYNERGY-907 Client tray language switcher reverts to EN
*Add language check on client side
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix Windows build
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Add logs
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Add protocol update
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Add server side of language sync
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Remove unused variables
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*AFix mac language determination
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Clean up logs
* SYNERGY-907 Client tray language switcher reverts to EN
*Replace logs with messagebox on Windows
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Add mac messagebox, revert protocol changes
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix minor language bugs
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Update chagelog
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Minor fixes
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix Linux build
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix sonar code smells
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix Linux build
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Add Linux language determination
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix sonar codesmells
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix sonar codesmells
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Replace custom xml parser with tinyxml2
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix PR comments
* SYNERGY-907 Client tray language switcher reverts to EN
*Update changelog
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix unix build
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix unix build
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix sonar code smells
* SYNERGY-907 Client tray language switcher reverts to EN
*Update changelog
* SYNERGY-907 Client tray language switcher reverts to EN
*Replace tinuxml with pugixml
* SYNERGY-907 Client tray language switcher reverts to EN
*Add pugixml as a git submodule
* SYNERGY-907 Client tray language switcher reverts to EN
*Add missed files
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix sonar code smells
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix comments from PR
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix sonar code smell
* SYNERGY-907 Client tray language switcher reverts to EN
*add tests for x11 files parser
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix include for unix build
* SYNERGY-907 Client tray language switcher reverts to EN
*Add test coverage for new logic
* SYNERGY-907 Client tray language switcher reverts to EN
*Add test coverage for new logic
* SYNERGY-907 Client tray language switcher reverts to EN
*Add code coverage
*Fix code smells
* SYNERGY-907 Client tray language switcher reverts to EN
*Return missed file
* SYNERGY-907 Client tray language switcher reverts to EN
*Improve code coverage of x11Layouts parser
* SYNERGY-907 Client tray language switcher reverts to EN
*Add client args code coverage
* SYNERGY-907 Client tray language switcher reverts to EN
*Return runtime language sync
* SYNERGY-907 Client tray language switcher reverts to EN
*Return windows current keyboard layout determination
* SYNERGY-907 Client tray language switcher reverts to EN
*Return Linux language determination
* SYNERGY-907 Client tray language switcher reverts to EN
*Remove debug code
* SYNERGY-907 Client tray language switcher reverts to EN
*Move back Carbon current language determination
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix language change for existed languages on iOS and Linux
* SYNERGY-907 Client tray language switcher reverts to EN
*Return protocol missed parameter
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix macOS language change
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix language sync (when it is disabled)
* SYNERGY-907 Client tray language switcher reverts to EN
*Add correct language choosing
*Fix code coverage tests
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix windows build and tests
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix macOS build and tests
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix language change for first letter in keystroke
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix macOS build
* SYNERGY-907 Client tray language switcher reverts to EN
*Partially fix Sonar codesmells
* SYNERGY-907 Client tray language switcher reverts to EN
*Partially fix Sonar codesmells
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix build
* SYNERGY-907 Client tray language switcher reverts to EN
*Added logging for language change process
*Fixed language change process for Windows
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix double layout change in key repeat event
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix determination of current language on windows
*Removed legacy code of restoring language when leaving screen
*Fix double group change on Linux
* SYNERGY-907 Client tray language switcher reverts to EN
*Temp fix for language change on Linux
* SYNERGY-907 Client tray language switcher reverts to EN
*Add XSync to normalize Linux language polling and setting
*Remove setxkbmap using
* SYNERGY-907 Client tray language switcher reverts to EN
*Add keyboard layout changing on Linux with DBus
* SYNERGY-907 Client tray language switcher reverts to EN
*Add comments to new language change function
*Logical fix
* SYNERGY-907 Client tray language switcher reverts to EN
*Remove input attaching
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix language change on macOS
* SYNERGY-907 Fix review issues
* SYNERGY-907 Fix review comment for Windows
* SYNERGY-907 Removed debug trace
Co-authored-by: Andrii Batyiev <andrii-external@symless.com>
Co-authored-by: user <user@users-Mac-mini.local>
Co-authored-by: Serhii Hadzhilov <serhii-external@symless.com>
- reordered includes to prevent accidental dependencies.
- moved arch specific files into their own folder (easier to include with cmake).
- renamed non-class files to reflect new code style (lower case with underscores).
- using full relative paths for includes (easier for understanding dependencies).
- using #pragma once instead of classic-style header guards.
- On Mac client main thread is used for cocoa application in order to simulate drag.
- Send dragging file dir from Windows server to Mac client while dragging after switching screen.
- Dragging information sending is immature now (need to support multi files dragging in the future).
- Used Cocoa function to monitor dragg pasteboard.
- Changed Mac client to use another thread for event queue instead of the main thread.
- Change fileRecieveComplete to fileRecieveCompleted.
- Fixed line endings
- Integ test for file transfer
- Fixed crashed problem when log info is larger than 2048 bytes
- Fixed compile error caused by std exception (by Feng ye)
- Fixed include path on Mac and linux (by Feng ye)
* wrote CCryptoStream and supporting unit tests
* changed CStreamFilter to accept CMockEventQueue
* changed CStreamFilter's dtor to virtual because it is inherited