Commit graph

1520 commits

Author SHA1 Message Date
sithlord48
60c7e512f2 refactor: use enum for secure sockets
based on barrier: 57769cf
2025-02-17 16:26:29 +00:00
sithlord48
e996471e37 refactor: use enum for connections security level
based on barrier: 5c7d719
2025-02-17 16:26:29 +00:00
sithlord48
638349b48a feat: add config for client cert required
based on barrier: 8bc280e0
2025-02-17 16:26:29 +00:00
sithlord48
3e7b14cbd4 fix: Attempt to load SSL certs when connecting
based on barrier: c0ce8937, 4d73ed9f
2025-02-17 16:26:29 +00:00
sithlord48
5288546231 refactor: use const for tlsDb expected size 2025-02-14 12:44:29 +00:00
sithlord48
fbaa0a8433 feat: use sha256
based-on: a428b61c7d
 based-on: b7757fbd68
 based-on: a238b27879
2025-02-12 13:41:45 +00:00
sithlord48
743c3feef3 refactor: use FingerprintData for fingerprints
based-on: 7cced74119
2025-02-12 13:41:45 +00:00
sithlord48
d0d5182425 refactor: use new Fingerprint database
based-on: 50534ecb43
   based-on: be8ba0d132
2025-02-12 13:41:45 +00:00
sithlord48
298b1047c4 refactor: add ssl consts into common/constansts 2025-02-12 13:41:45 +00:00
Vamshi Maskuri
aaa64e986e feat!: Add support for FingerPrintDatabase 2025-02-12 13:41:45 +00:00
sithlord48
7d79a4d729 chore: TlsCertificate, remove unused items 2025-02-12 13:41:45 +00:00
sithlord48
2058519e57 refactor: generate Certs using secureUtils method 2025-02-12 13:41:45 +00:00
sithlord48
5a71d63923 refactor: secureutils add pemFileCertFingerprint 2025-02-12 13:41:45 +00:00
sithlord48
fb32f141cc refactor: secureUtils fingerprint method
Signed-off-by: sithlord48 <sithlord48@gmail.com>
2025-02-12 13:41:45 +00:00
sithlord48
39da277ead refactor: use vector<uint8_t> for keys 2025-02-12 13:41:45 +00:00
sithlord48
a98f2d745e refactor: move SecureSocket::formatFingerprint -> SecureUtils std::string formatSSLFingerprint
based on 0e406d4918
         9d8e1faf59
         b793675ef8
2025-02-12 13:41:45 +00:00
Nick Bolton
524c3b0e7b refactor: Change log level for active desktop query to debug 2025-02-11 13:06:51 +00:00
sithlord48
e420b9b986 chore: small cmake cleanup
lib/platform: use the REQUIRED_QT_VERSION when looking for Qt Dbus module
  lib/deskflow: rm extra space in cmake file
2025-02-11 13:06:51 +00:00
Nick Bolton
ac6809d40f refactor: Rename core process start/stop function names 2025-02-11 13:06:51 +00:00
sithlord48
610786ad2e chore: clean up extra empty lines 2025-02-11 13:06:51 +00:00
Gwilherm Folliot
9dcfb6cc9b fix: Wrong cb_activated signature in input-capture
The options argument was missing so the argument data wasn't the right
one and the method cb_disabled was actually called on a GVariant*
instead on a PortalInputCapture*
2025-01-30 14:50:08 -05:00
sithlord48
26367635d9 refactor: QTextStream& screen::writeScreensSection(QTextStream&) -> QString Screen::screenSection()
refactor: QTextStream& screen::writeAliasSection(QTextStream&) -> QString Screen::aliasSection()
2025-01-30 15:36:21 +00:00
sithlord48
beb4069845 fix: Screen Missing Icons on server config
Fixes#8155
2025-01-30 15:36:21 +00:00
sithlord48
55772e1133 chore: remove unused ARCH::vsnprintf 2025-01-29 21:07:31 +00:00
sithlord48
43c6bec790 Revert "feat!: Add support for FingerPrintDatabase"
This reverts commit 8f219b735e.
2025-01-28 19:31:03 -05:00
Vamshi Maskuri
8f219b735e feat!: Add support for FingerPrintDatabase 2025-01-28 20:33:11 +00:00
Stephen Jensen
30a37a8a50 chore: Switched event buffer from Carbon to GCD 2025-01-28 13:11:24 +00:00
sithlord48
7f6caec162 chore: reset screen xywh on update_shape
based on https://github.com/input-leap/input-leap/pull/2167
2025-01-28 11:33:55 +00:00
sithlord48
1085df54ed refactor: Reuse compliance
build files and documentation: MIT
  images / sources: GPL-2.0-only
  breeze icons: LGPL-2.0-only
  Microsoft MSM file, vc redist license
2025-01-27 17:05:47 -05:00
sithlord48
c2b3f551d2 chore: String update copyright 2025-01-25 15:43:44 +00:00
sithlord48
f255d77eee chore: add string::fromHex 2025-01-25 15:43:44 +00:00
sithlord48
3125eba014 chore: add string::fromHexChar 2025-01-25 15:43:44 +00:00
sithlord48
9b1489384c chore: String toHex should return a string not do inplace conversion 2025-01-25 15:43:44 +00:00
sithlord48
ac54a97a3f chore: rm use of "Arch" from "String" 2025-01-25 15:43:44 +00:00
re2zero
cc4701a0c2 fix: Fix detect language
It perhaps no variant for a keyboard's layout, set a default value in order to continue detect local language.

Log: Fix detect language.
2025-01-23 16:54:14 -05:00
sithlord48
2040df435f fix: #8107: Remove legacy tray code 2025-01-23 19:16:29 +00:00
sithlord48
62f53bbb92 fix: check bsdpath for evdev fixes #8112 2025-01-21 17:15:42 -05:00
Nick Bolton
6eec07b6dc refactor: Use correct log level for failure messages
This change may help us turn up some everyday problems in the field that get missed due to not using debug log level.

This could also make the log a bit noisier, so at a later date we may need to downgrade anything that is not actually a failure/warning.
2025-01-21 16:46:34 -05:00
Birk Magnussen
b13afbbbb9 Properly seek to start of keymap descriptor 2025-01-21 12:07:54 +00:00
sithlord48
ffe8153c35 build: remove unused TM_IN_SYS_TIME define 2025-01-21 06:27:36 -05:00
sithlord48
afc736e2c8 build: remove unused STDC_HEADERS 2025-01-21 06:27:36 -05:00
sithlord48
ae7e2f70ce build: remove unused PTHREAD_CREATE_JOINABLE 2025-01-21 06:27:36 -05:00
sithlord48
9a1cb5941b build: remove unused define HAVE_X11_XKBLIB_H 2025-01-21 06:27:36 -05:00
sithlord48
fa35d2913d build: remove HAVE_X11_EXTENSIONS_XKBSTR_H define 2025-01-21 06:27:36 -05:00
sithlord48
1115d3287e build: remove HAVE_SYS_STAT define 2025-01-21 06:27:36 -05:00
sithlord48
46cfb281af build: remove HAVE_STRING_H define 2025-01-21 06:27:36 -05:00
sithlord48
365d6f76c2 build: remove HAVE_STRINGS_H define 2025-01-21 06:27:36 -05:00
sithlord48
05275b303f build: remove HAVE_STRFTIME define 2025-01-21 06:27:36 -05:00
sithlord48
535d241f7b build: remove unused STDINT define 2025-01-21 06:27:36 -05:00
sithlord48
3e9289328a build: remove unused INTTYPES define 2025-01-21 06:27:36 -05:00
sithlord48
bac86455d2 build: remove unused HAVE_MEMORY_H 2025-01-21 06:27:36 -05:00
sithlord48
b394f32c01 build: remove unused CXX_STDLIB define 2025-01-21 06:27:36 -05:00
sithlord48
312347bc17 build: remove unused CXX_MUTABLE define 2025-01-21 06:27:36 -05:00
sithlord48
6541ce3f84 build: remove unused CXX_EXTENTION define 2025-01-21 06:27:36 -05:00
sithlord48
b4a5b580bd build: remove unused CXX_CASTS define 2025-01-21 06:27:36 -05:00
sithlord48
d72fd2b3d9 build: remove unused ACCEPT_TYPE_ARG3 2025-01-21 06:27:36 -05:00
sithlord48
5ce9aaea13 build: remove has_BOOL define 2025-01-21 06:27:36 -05:00
sithlord48
cc6bfcc1c2 build: remove unused SIZE defines 2025-01-21 06:27:36 -05:00
sithlord48
efca38babc build: remove size_t define 2025-01-21 06:27:36 -05:00
sithlord48
401326e9d7 build: use CMAKE_PROJECT_NAME and CMAKE_PROJECT_PROPER_NAME to set our kAppName and KAppId 2025-01-21 06:27:36 -05:00
sithlord48
89ec18a8e4 feat: bake in light and dark icon theme 2025-01-20 10:42:29 +00:00
sithlord48
067d6810f3 chore: gui lib, remove unused include dirs 2025-01-19 09:39:54 -05:00
sithlord48
19920801fa build: gui lib use explicit sources 2025-01-19 09:39:54 -05:00
sithlord48
16396bdbaa build: Unify copyright into one cmake var 2025-01-14 21:42:43 +00:00
sithlord48
793f40e582 chore: remove basic_types.h 2025-01-14 20:30:45 +00:00
sithlord48
96092df4fc refactor: replace UInt32 with uint32_t 2025-01-14 20:30:45 +00:00
sithlord48
27eb83c981 refactor: replace SInt32 with int32_t 2025-01-14 20:30:45 +00:00
sithlord48
7487eeaa3a refactor: replace UInt16 with uint16_t 2025-01-14 20:30:45 +00:00
sithlord48
1ed49e7487 refactor: replace SInt16 with int16_t 2025-01-14 20:30:45 +00:00
sithlord48
ba11eba91e refactor: replace UInt8 with uint8_t 2025-01-14 20:30:45 +00:00
sithlord48
8ea20cf6da refactor: replace SInt8 with int8_t 2025-01-14 20:30:45 +00:00
sithlord48
3875e41154 fix: Enter screen on mac os asap to ensure event hand off
based on https://github.com/input-leap/input-leap/pull/2116
2025-01-09 14:02:01 +00:00
sithlord48
9501b59f81 fix: Save the try icon setting 2025-01-07 20:33:37 -05:00
sithlord48
6c95daf0a1 chore: remove stdstring.h use include <string> instead 2025-01-08 00:11:34 +00:00
sithlord48
3991e0c1a1 refactor: use std::string in place of String
basedon: https://github.com/debauchee/barrier/pull/709
2025-01-08 00:11:34 +00:00
sithlord48
42a17726d9 feat: Allow users to pick mono color (based on isDarkMode) or colorful icon 2025-01-07 23:51:34 +00:00
sithlord48
5d41537505 refactor: remove macOS check for icon theme macOS 11+ uses a mask 2025-01-07 23:51:34 +00:00
sithlord48
13a3c2d281 Chore: rm unused DESKFLOW_GUI_HOOK Items 2025-01-07 17:15:48 -05:00
Oren Trutner
a55fafb4fc fix: messages read into vector are cut off by 4 bytes 2025-01-07 21:09:03 +00:00
sithlord48
ca5f41684f fix: MacOS Hide and Show from dock on window close / hide 2025-01-07 09:19:20 -05:00
sithlord48
351c5123ef fix: Mac Os use Native Hide Event 2025-01-03 13:56:39 +00:00
sithlord48
ce02bb85b3 chore: update gnome tray fix link to https://extensions.gnome.org/extension/615/appindicator-support/ 2025-01-02 13:44:06 +00:00
sithlord48
13b58f2f7a fix: 8017, move wayland error to debug context 2024-12-28 20:46:51 +00:00
sithlord48
638970d65e feat: Visiblity toggle for the log on the main window 2024-12-26 14:45:52 +00:00
sithlord48
9811586718 fixes: #7940 Use std::string insert to in place of arg sub for std::string static 2024-12-26 13:06:21 +00:00
sithlord48
858c41c946 fix: #7942, Correctly substitute config name part
fixes https://github.com/deskflow/deskflow/issues/7942
2024-12-26 12:28:19 +00:00
Vamshi Maskuri
ab44559df6 fix(CVE-2021-42076): Enforce maximum message length to prevent memory exhaustion
based on barrier: debauchee/barrier@7ab8e01, debauchee/barrier@cc36982,
debauchee/barrier@e33c81b, debauchee/barrier@af90f39, debauchee/barrier@fd5295e
2024-12-26 10:45:21 +00:00
Vamshi Maskuri
626e8c7364 fix(CVE-2021-42074): Handle SSL race conditions and segmentation fault
based on barrier: debauchee/barrier@8b937a4
2024-12-26 10:24:22 +00:00
Vamshi Maskuri
937ac053fe fix(CVE-2021-42075): Close connection on app-level handshake failure
based on barrier: debauchee/barrier@deefecc
2024-12-18 17:23:27 +00:00
sithlord48
f06a789d25 build: wix generation for windows with cpack 2024-12-18 12:10:53 -05:00
sithlord48
e4ecbdae8a fix: macOS correctly restore window when hidden with command+H 2024-12-18 09:52:17 -05:00
sithlord48
bf4f513d7e chore: format *.m and *.mm files 2024-12-18 09:52:17 -05:00
Pedro Navarro
8aec0dd5bb fix: UTF-16 surrogate handling.
The data pointer needs to move before decoding the second
surrogate, and not after. The first surrogate was begin decoded
again, resulting in an invalid codepoint.

This affected clipboard operations originating on Windows machines,
where the text is encoded in UTF-16 and copying characters from a
high plane (like emojis) was broken.
2024-12-18 08:28:47 -05:00
Pedro Navarro
53b9c0908e fix: Windows, avoid encoding empty data to the clipboard
Do not attempt to convert null data to clipboard format and exit
early
2024-12-17 14:19:24 +00:00
Pedro Navarro
252d11a316 feat: Windows, Use a clipboard format listener to monitor the clipboard
On Windows monitor the clipboard using a Clipboard format listener instead
of the legacy clipboard viewer chain, which was unreliable as it required
other programs to maintain the clipboard chain properly and couldn't
recover it any window in the clipboard viewer chain stopped responding
to messages.

Monitor the clipboard sequence number to not process the clipboard more
than once.
2024-12-17 14:19:24 +00:00
sithlord48
6b7291f4b1 chore: src/lib/server/Config remove redundant c_str call 2024-12-04 10:40:58 -05:00
sithlord48
2349ce7f52 chore: replace simple cases of typedef with using 2024-12-04 10:40:58 -05:00
sithlord48
37acc3b2fc chore: IArchTaskBarReciver subclasses Icon pointer should not be a const 2024-12-04 10:40:58 -05:00
sithlord48
6498fe5a6b refactor: use Qt Required Version rm configure_qt macro for its one use 2024-12-04 10:05:34 -05:00
sithlord48
4e23460c6f refactor: no configure_openssl macro 2024-12-04 10:05:34 -05:00
sithlord48
d6c682a923 chore: rm unused src/lib/gui/gui_config.h 2024-12-04 10:05:34 -05:00
sithlord48
4f8ae57ffd build: always include headers 2024-12-04 10:05:34 -05:00
sithlord48
03f1408a98 refactor: mv src/lib/gui/VersionChecker => src/gui/src/ 2024-12-04 10:05:34 -05:00
sithlord48
7f9fd80f98 refactor: remove workarounds for unsupported ms vc versions 2024-12-04 10:05:34 -05:00
sithlord48
c05a87b716 refactor: rm src/lib/common/copyright, add to src/lib/common/constants 2024-12-04 10:05:34 -05:00
sithlord48
4a83eb711f build: generate version info, use it for all sources of version 2024-12-04 10:05:34 -05:00
sithlord48
f321f6596b build: make an interface lib out of the common folder 2024-12-04 10:05:34 -05:00
sithlord48
147869e3a5 build: remove DESKFLOW_SHOW_DEV_THANKS define 2024-11-15 12:20:17 +00:00
sithlord48
25dd0ddfbc build: rm DAEMON_BINARY_NAME 2024-11-15 12:20:17 +00:00
sithlord48
45a61310a4 build: rm CORE_BINARY_NAME define 2024-11-15 12:20:17 +00:00
sithlord48
2213f3f746 build:rm CLIENT_BINARY_NAME define 2024-11-15 12:20:17 +00:00
sithlord48
e52ce58541 build: rm SERVER_BINARY_NAME define 2024-11-15 12:20:17 +00:00
sithlord48
bdcf770de6 build: rm DESKFLOW_VERSION_URL define 2024-11-15 12:20:17 +00:00
sithlord48
e865397f12 build: rm DESKFLOW_WEBSITE_URL define 2024-11-15 12:20:17 +00:00
sithlord48
b5d0417714 build: rm DESKFLOW_AUTHOR_NAME define 2024-11-15 12:20:17 +00:00
sithlord48
403830ceea build: rm DESKFLOW_APP_NAME define
Unify Server APP USER_CONFIG_NAME and SYSTEM_CONFIG_NAME
 Some unix users may need to move their config to deskflow.conf from .deskflow.conf
2024-11-15 12:20:17 +00:00
sithlord48
9b59acdf26 build: rm DESKFLOW_DOMAIN define 2024-11-15 12:20:17 +00:00
sithlord48
46a6f74fb7 build: rm DESKFLOW_APP_ID define 2024-11-15 12:20:17 +00:00
sithlord48
a0666f0167 refactor mv: res/gui => src/gui/res 2024-11-12 14:00:59 +00:00
sithlord48
77c4707ec5 refactor: mv src/lib/gui/TrayIcon => src/gui/src/TrayIcon 2024-11-12 14:00:59 +00:00
sithlord48
f31cb26e0b
refactor: mv src/lib/gui/widgets => src/gui/src/widgets 2024-11-08 07:05:57 -05:00
sithlord48
dc5c2b9422
refactor: mv src/lib/gui/dialogs/SettingsDialog => src/gui/src/dialogs/SettingsDialpg 2024-11-08 07:05:54 -05:00
Nick Bolton
8273c0e70b chore: Replace screen leave/enter asserts with warnings 2024-11-06 20:55:59 -05:00
sithlord48
155e4d6b32 refactor: ui less aboutDialog 2024-11-06 14:50:39 +00:00
sithlord48
f87b4bc0c2 refactor: mv AboutDialog to gui/src/dialogs/ 2024-11-06 14:50:39 +00:00
sithlord48
f66a0219f6 fix: isDarkMode Check
while newer Qt does provide a method to check if dark mode
  Its not always correct the old method is
  Anytime the text is lighter then the window its dark mode.
2024-11-06 14:50:39 +00:00
sithlord48
45f328cd80 fix: crash on --help arg 2024-11-05 13:26:00 -05:00
sithlord48
fb686ede21 refactor: remove desktop legacy 2024-10-30 20:04:55 +00:00
sithlord48
ce784ab383 refactor: CoreTool use arch classes directly 2024-10-30 20:04:55 +00:00
sithlord48
946a2b778e refactor: rm unused coreTool include in tlscert.h 2024-10-30 20:04:55 +00:00
sithlord48
45bde73810 chore: settingsDialog rm unused CoreTool include 2024-10-30 17:41:17 +00:00
sithlord48
1b13c843aa build(lib/server): Explict Sources 2024-10-24 15:11:03 -04:00
sithlord48
9e2880f714 build(lib/platform): Explicit Sources 2024-10-24 15:11:03 -04:00
sithlord48
e8010eea60 build(lib/net): Explicit sources 2024-10-24 15:11:03 -04:00
sithlord48
75c0b53113 build(lib/mt): Explicit Sources 2024-10-24 15:11:03 -04:00
sithlord48
bf96a641bf build(lib/ipc): Explicit Sources 2024-10-24 15:11:03 -04:00
sithlord48
7db781b9bf build(lib/io): Explicit Sources 2024-10-24 15:11:03 -04:00
sithlord48
8bfe0c18bc build(lib/app): Explicit Sources 2024-10-24 15:11:03 -04:00
sithlord48
10f7b05a73 build(lib/client): Explicit Sources 2024-10-24 15:11:03 -04:00
sithlord48
ba97d63403 build(lib/base): Explicit Sources 2024-10-24 15:11:03 -04:00
sithlord48
da4b85b3fb build(lib/arch): Explicit Sources 2024-10-24 15:11:03 -04:00
Nick Bolton
5657152c58 chore(gui): Add _what's this_ for Windows service setting 2024-10-24 14:29:13 +01:00
sithlord48
7b7ff81a9f build: Require libei and libportal from the system on linux
Removing remaining meson parts
2024-10-22 09:42:32 -04:00
sithlord48
df91d845f7 build(win32): Link wintoast correctly 2024-10-22 10:53:51 +01:00
sithlord48
f3657edc80 refactor: use Q_EMIT 2024-10-21 14:30:02 +01:00
sithlord48
2a8a43a689 refactor: remove unused strings 2024-10-21 14:30:02 +01:00
sithlord48
498e3aa015 refactor: use static regularexpressions and matches 2024-10-21 14:30:02 +01:00
sithlord48
58323f515f refactor: use multi arg were possible 2024-10-21 14:30:02 +01:00
sithlord48
560345cf4f refactor: add context object for lambdas 2024-10-21 14:30:02 +01:00
sithlord48
90d27a174d refactor: do not include full modules in qt files 2024-10-21 14:30:02 +01:00
sithlord48
8b54b84880 refactor: use const for ranged loops 2024-10-21 14:30:02 +01:00
sithlord48
45050d3d36 refactor: use modern range for loops in place of old foreach macro 2024-10-21 14:30:02 +01:00
Nick Bolton
a5cd0fab9e feat: Option to change server protocol in GUI 2024-10-19 23:46:42 +01:00
Nick Bolton
512faeea28 test: Modularize hello back logic and add tests 2024-10-19 23:46:42 +01:00
sithlord48
47366f1272 feat: Dynamic client Barrier/Synergy hello back response to server 2024-10-19 23:46:42 +01:00
sithlord48
bf4a762124 build: use vcpkg for all depends, vcpkg action on ci to cache 2024-10-19 03:07:13 -04:00
Nick Bolton
a32463586c ci: Catch std::exception on toml::parse_file 2024-10-18 21:01:39 +01:00
sithlord48
9c9feba565 build: use File to dl toml++ if not on system 2024-10-18 15:02:34 -04:00
sithlord48
710c1dd353 build: get CLI11 via file download if not on system 2024-10-18 13:34:10 -04:00
sithlord48
9b9ecb0d05 chore: Adjust Clang-format linter rules
120 Column Lines
 Block Indent for Bracket Align
 Custom Line Break Rules
 No Single Line Functions
2024-10-17 21:38:29 +01:00
sithlord48
3f2bb2531a fix: Let users select version number and build in About Dialog
Fixes: #7722
2024-10-17 19:51:00 +01:00
Nick Bolton
219958898e chore: Replace assert with warning for screen boundary issue 2024-10-17 11:17:05 +01:00
Nick Bolton
1dc449fe0a fix: Use OPENSSL_EXE_DIR instead of OPENSSL_ROOT_DIR on Windows 2024-10-16 20:17:53 -04:00
Nick Bolton
9a5c1a3212 chore: Remove Wayland experimental pop 2024-10-16 14:00:10 +01:00
Nick Bolton
87b4e3b7fe fix: Check for errors before reading version string 2024-10-15 07:57:53 -04:00
Nick Bolton
636e3eab96 feat: Respect XDG_CONFIG_HOME in server/client 2024-10-14 17:43:30 +01:00
Nick Bolton
9c4f6e6d0b chore: Change TLS dir to same as Qt config 2024-10-14 17:43:30 +01:00
Kentaro Hayashi
24db09b023 fix: align --display explanation in help message
Broken "." position was fixed like this.

Before:

        --display <display>  when in X mode, connect to the X server
                               at <display>
  .      --no-xinitthreads    do not call XInitThreads()

After:

        --display <display>  when in X mode, connect to the X server
                               at <display>.
        --no-xinitthreads    do not call XInitThreads()

Signed-off-by: Kentaro Hayashi <kenhys@xdump.org>
2024-10-14 13:11:30 +01:00
Nick Bolton
c630ad0952 test: Coverage for AboutDialog.cpp 2024-10-13 19:52:09 +01:00
sithlord48
4500e7a1aa build: use @only to configure config.h 2024-10-12 21:06:55 -04:00
sithlord48
78a8bba7a4 refactor: move res/config.h.in -> src/lib/config.h.in 2024-10-12 21:06:55 -04:00
sithlord48
02c5418b9e build(cmake): Require SSL 1.1.1 or higher
Link using OpenSSL provided alises
  Remove Windows specifc check ssl macro for simpler check
2024-10-12 14:23:56 +01:00
sithlord48
eedb3ad1c3 chore: rm unused string_utils file 2024-10-11 17:10:50 +01:00
sithlord48
932ca44d75 build: use pragma once not ifndef def pattern for headers 2024-10-08 06:52:41 -04:00
Nick Bolton
049e34f7a5 chore: Remove word 'beta' from Wayland message 2024-10-02 09:17:57 -04:00
Nick Bolton
6bb1bcad8c chore!: Relocate commercial code downstream 2024-10-01 14:39:05 +01:00
Nick Bolton
2d732a4b9d fix: Use library config for Windows OpenSSL 2024-10-01 14:04:05 +01:00
James Spurin
1003e07854 feat: Update onMouseMoveSecondary to allow offset adjustments 2024-09-24 18:53:30 +01:00
Nick Bolton
b904cba040 feat: ask for permission before update check 2024-09-22 13:14:03 +01:00
Nick Bolton
4f0e8cb844 feat: change most domains to Deskflow 2024-09-22 13:11:25 +01:00
Nick Bolton
2671507f63 fix: various typos found by unit193 2024-09-22 07:11:42 -04:00
Nick Bolton
5b27f0c90b build: set BUILD_DATE instead of using __DATE__ for reproducible build 2024-09-21 20:14:04 +01:00
pika
835dc4ec25 fix: gate leave() with canLeave(), allowing cleanup 2024-09-18 16:30:15 -04:00
Chris Rizzitello
660fb9daff
fix: protocol compatibility with Synergy (#7524)
* fix: protocol compatiblity wity synergy

* Apply clang format

* Update ChangeLog

---------

Co-authored-by: Nick Bolton <nick@symless.com>
2024-09-18 18:25:20 +01:00
Nick Bolton
0220a481f2
Fix broken CI caused by renaming project to Deskflow (#7522)
* Bump CI

* Use 2 core arm runner

* Update ChangeLog

* Fixed filename `deskflowc.exe.manifest`

* Remove  .vscode/settings.json file

* Restore test values to make tests work (test values should not contain app name)

* Fixed syntax error in Windows watchdog

* Add `sonar-project.properties` file

* Change default core count

* Add default package prefix

* Default product name in CMake

* Tweak ChangeLog
2024-09-18 10:56:29 -04:00
enzious
9dc6377bd9
fix: windows build typos (#7521) 2024-09-18 11:09:56 +01:00
Chris Rizzitello
ed1217e9cc
Use Deskflow Name (#7519)
* Use Deskflow Name

* Remove business-oriented options from issue templates

* Remove business-oriented workflow

* Bump version to 3.0.0 (to avoid confusion with previously used version numbers 1.x & 2.x)

* Update readme to reflect new project name and goals

* Found some more "synergy" to rename

* Rename `synlib` to `app`

* Rename `syntool` to `deskflow-legacy`

* Rename `synwinhk` to `dfwhook`

* Rename dirs from synergy to deskflow

* Rename more "Synergy" files

* Rename app bundle ID

* Fixed copyright typo

* Rename only title in serial key dialog (to be moved downstream later)

* Preserve original serial key window for moving downstream

* Restore dialogs ready for moving downstream

* Rename `QDeskflowApplication` to `DeskflowApplication` (the Q is confusing)

* Restore Volker's original project name

* Fixed mimetype

* Fixed weird grammar

* Fixed (more) weird grammar

* Broken link, restoring (but we should move all links out of source)

* Broken link, restoring (but we should move all links out of source)

* Add write permission to valgrind-analysis.yml

* Restore AUR conflicts

* Apply Clang format

* Update ChangeLog

* Back out version change

---------

Co-authored-by: Nick Bolton <nick@symless.com>
2024-09-17 20:00:25 +01:00
Nick Bolton
74c0deed3f
Move some EI server log messages to higher log levels (#7497) 2024-09-09 13:33:57 +01:00
Nick Bolton
8beeaf4276
Add warnings for missing Wayland libs and features (#7492)
* Add warnings for libei and libportal

* Add warning about experimental Wayland support

* Update ChangeLog

* Move GUI res files to root res dir

* Fixed crazy qrc shenanigans

* Move Wayland warning logic, add tests, improve core retry

* Also install py modules with pip since meson can be in venv

* Throw error when no libei

* Add warnings when no libportal

* Allow failure then success to show related to Wayland (for switching modes)

* Fixed formatting

* Fixed includes

* Simplify warning message

* Add log hint

* Show warning when error already shown

* Only check for Wayland if X or libei

* Add error message when quitting dur to remote desktop error

* Improve consistency of portal log lines
2024-09-09 11:18:17 +01:00
Nick Bolton
735fb0e8c4
Add --config-toml arg for TOML config file (#7489)
* Add CLI11 lib

* Use newer arg parser for to add --config-toml arg

* Fix bug where coco doesn't run in elevated console

* Improve macro names

* Fixed incorrect macro name

* Improve coverage for TOML config load

* Allow legacy args and use toml config arg in launch.json

* Update ChangeLog

* Fail coverage workflow on integ test fail

* Remove line break
2024-09-06 21:03:19 +01:00
Nick Bolton
ad330d7fba
FreeBSD GitHub runner with vmactions/freebsd-vm@v1 (#7474)
* Add experimental BSD job to CI

* Remove container

* cd into ` synergy/synergy/`

* Change unix to bsd

* Use only run param and not prepare

* Install python3 on FreeBSD

* Add missing command to prepare param

* Add all the Unix-like BSD-derived

* Use latest python3 for NetBSD and DragonFly BSD

* Use env for cmd and correct prepare commands

* Add deps config for unix-like

* Install Python deps on Unix-like

* Return matching entry in `get_unix_like_os`

* Add cmake dep for cmakelang py module

* Back out Unix-like support in `install_deps.py` (Python is tricky on BSD)

* Back out BSD from config

* Create install_deps.sh script for BSD-derived

* Use .sh script instead of .py for BSD-derived

* Add other case and fixed syntax

* Use /usr/bin/env

* Use more available sh

* Restore debian command

* Fixed syntax error

* Remove prepare args

* Remove space

* Use which instead of command

* Add libX11 dep

* Add other BSD-derivatives

* Set CMAKE_REQUIRED_INCLUDES

* Fixed bad separator for CMAKE_REQUIRED_INCLUDES

* Add debug lines

* Set CMAKE_REQUIRED_LIBRARIES to lib names

* use CMAKE_REQUIRED_QUIET

* Set CMAKE_REQUIRED_FLAGS for BSD

* Message for BSD packaging

* Make PKG_CONFIG_FOUND optional

* Move debug to all OS

* Remove solaris for now, too many missing packages

* Add missing  override to XWindowsScreen.h

* Add PC_GLIB_INCLUDE_DIRS

* Fixed glib include

* Make libnotify optional

* Set CMAKE_LIBRARY_PATH

* Only run tests if toml++ available

* Also run integ tests

* Remove DragonFly (C++ version too old)

* Fixed NetBSD command

* Aww sucks. Well, I tried. Patches welcome

* Update ChangeLog

* Fixed README for OpenBSD, NetBSD, DragonFly BSD, Solaris

* Add missing case for SunOS

* Drop redundant virtual specifiers

* Print libs on FreeBSD

* Restore link_directories

* Beef up to ubuntu-24.04-16-core-x64, export QT_QPA_PLATFORM, improve comment

* Remove debug line

* Simplify debug text

* Restore ubuntu-latest

* Fixed really stupid typo

* Beef up with ubuntu-22.04-16-core-x64

* Revert "Beef up with ubuntu-22.04-16-core-x64"

This reverts commit 3de5773ef6c6eea99b93d3ee8448b0b95dc00dde.

* Add missing name

* Make .sh file primary deps file

* Tweaked deps instruction label
2024-09-06 10:03:34 +01:00
Nick Bolton
94d9baca2d
Use vcpkg to manage openssl dep instead of choco (#7471)
* Brighter red

* Move openssl to vcpkg.exe

* Revert "Move openssl to vcpkg.exe"

This reverts commit 36f39d916f3cc2c8ce779442bd964bd6af7edd69.

* Add missing copyright

* Fix copyright dates

* Remove openssl from choco

* Install openssl using vcpkg

* Add deps for vcpkg

* Add missing vcpkg manifest

* Revert "Add deps for vcpkg"

This reverts commit c266d29c2cec4474a181b89c2f759b62ed67db10.

* Make vcpkg Windows only

* Improve comment about vcpkg

* Remove unused var

* Add caching for vcpkg

* Reorg launch.json

* Remove static env var for openssl on Windows

* Add openssl dep to vcpkg

* Update ChangeLog

* Add OpenSSL include dir

* Remove pointless choco cache

* Remove vcpkg downloads

* Remove wixtoolset for CI already installed on GitHub runners

* Use `Remove-Item` instead of `rmdir`

* Move cmake and ninja out of choco

* Revert "Move cmake and ninja out of choco (winget not supported on GitHub runner)"

This reverts commit a65c02d275e58705b8cd86fac72629284191d737.

* Move cmake and ninja to winget and don't use choco on CI

* Remove winget action

* Use scoop on CI and winget locally

* Use `seanmiddleditch/gha-setup-ninja` for Ninja

* Improve comments

* Install Ninja before deps

* Use system vcpkg if installed

* Revert "Use system vcpkg if installed"

This reverts commit 4ddee1c66e8cace458c047285a70d2f98cf9d82c.

* Add comment about why we're using local vcpkg

* Fixed comment about VC++

* Improve config comments

* Delete dead code

* Improve comment about vcpkg/buildtrees
2024-09-04 16:52:37 +01:00
Nick Bolton
0eadaec2d8
Port EI fixes to use pipe2 instead of pipe and fcntl (#7470)
* Kill build to prevent multiple processes running in dev

* Port EI fixes to use `pipe2` instead of `pipe` and `fcntl`
2024-09-03 20:18:13 +01:00
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
Nick Bolton
bcdf70a298
Make Meson-provided packages optional (#7459)
* Make Google Test optional

* Download googletest with brew

* Set gtest and gmock lib vars in Libraries.cmake

* Fixed cmake format

* Add googletest-devel for openSUSE

* Fixed missing Meson arg for Windows

* Add gmock-devel for openSUSE

* Fixed openSUSE package names

* Fixed openSUSE package names (correct OS)

* Add success message to disambiguate confusing messages

* Restore original gtest lib var for subproject

* Make WinToast optional

* Fixed formatting

* Fixed cmake format

* Only build WinToast sources if found
2024-09-02 09:28:27 +01:00
Nick Bolton
1ebfe2ac7d
Use EI screen when XDG_SESSION_TYPE is "wayland" (#7455)
* Use EI screen when XDG_SESSION_TYPE is wayland

* Log when using EI vs X

* Update ChangeLog
2024-08-30 22:35:20 +01:00
Nick Bolton
4d84097334
Change default value for dev thanks message (1.16) (#7453)
* Forward port: Change default value for dev thanks message

* Remove sneaky submodules

* Update ChangeLog
2024-08-30 21:14:02 +01:00
Nick Bolton
4e844bf307
Wayland support (port Red Hat libei and libportal impl) (#7449)
* 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
2024-08-30 15:53:25 +01:00
Nick Bolton
3293deff39
Improve error handling and use long long for dates (#7442)
* Improve error handling

* Remove unused includes

* Use long long for unix date

* Update ChangeLog

* Fixed include

* Clang format
2024-08-14 00:13:17 +01:00
Nick Bolton
28cefff13b
Share file line logic between logger and message box (#7441)
* Share file line logic between logger and message box

* Update ChangeLog
2024-08-13 22:39:09 +01:00