Commit graph

655 commits

Author SHA1 Message Date
sithlord48
0ff72441e6 chore: use c++17 style if,switch init-initilizer where possible
chore: correct spelling of "colon" in NetworkAddresses variables
chore: correct some multi line defines near needed init-initilizers
2025-05-20 16:20:07 +01:00
sithlord48
bdffda9a2f chore: replace typedef with using 2025-05-20 16:20:07 +01:00
Sam Umbach
14cb921d4c Resolve deprecated-enum-float-conversion compiler warnings
- Observed on macOS Monterey 12.7.6 with cmake version 4.0.1, Homebrew clang version 20.1.4, Target: x86_64-apple-darwin21.6.0
2025-05-14 11:05:41 -04:00
sithlord48
8f53b88bb6 chore: remove unused tests
Remove Unused Mocks
Remove remaing uses of TEST_ENV and its guarded items
2025-05-08 15:26:44 +01:00
sithlord48
5365e34f08 feat: remove drag and drop support, its broken on all platforms 2025-05-08 09:47:41 -04:00
sithlord48
55a7fa3266 Port simplified EventTypes from 8b23570379 2025-05-05 17:17:01 -04:00
sithlord48
99dae58fd3 chore: clean up macos code smell missed by sonarscan 2025-05-03 21:23:15 +01:00
sithlord48
e9ccd513f7 chore: clean up windows code smells missed by sonarscan 2025-05-03 21:13:09 +01:00
sithlord48
81c19c6ee8 chore: XClipboardUTF8Converter use default for deconstructor 2025-05-02 12:12:17 +01:00
sithlord48
1276a4a29c chore: XClipboardUCS2Converter use default for deconstructor 2025-05-02 12:12:17 +01:00
sithlord48
d97f4d87ad chore: XClipboardTextConverter use default for deconstructor 2025-05-02 12:12:17 +01:00
sithlord48
d5cbd002a9 chore: XClipboardHTMLConverter use default for deconstructor 2025-05-02 12:12:17 +01:00
sithlord48
31a6fd23e7 chore: XClipboardBMPConverter use default for deconstructor 2025-05-02 12:12:17 +01:00
sithlord48
f6c6d4e3a7 chore: XClipboardAnyBitmapConverter use default for constructor / deconstructor 2025-05-02 12:12:17 +01:00
Dustin Kaiser
2192636d2b fix(wayland): release portal input capture when EI_EVENT_DISCONNECT is encountered, refactoring
Fixes #8005.
2025-05-01 12:35:00 +01:00
Dustin Kaiser
6194868e89 chore(wayland): add debug logline in EiScreen::handle_portal_session_closed 2025-05-01 12:35:00 +01:00
Peter Hutterer
00f53c1aac fix(ei): Drain all events sitting in our pipe
If we're starved for resources, we may end up with more than 64
notifications in our pipe before we get to actually read them.
Those notifications are just that though, so let's drain them.
2025-05-01 10:04:28 +01:00
Nick Bolton
35f0e9e6e4 feat(gui): Retry mechanism for Windows Daemon IPC client 2025-04-29 13:13:07 +01:00
sithlord48
ec4851d326 chore: XWindowsUtil, use auto where possible 2025-04-28 13:50:43 +01:00
sithlord48
f338e5e7a8 chore: XWindowScreenSave, use auto where possible 2025-04-28 13:50:43 +01:00
sithlord48
55b48a5db7 chore: XWindowsScreen, use auto where possible 2025-04-28 13:50:43 +01:00
sithlord48
352a871729 chore: XWindowsKeyState, use auto where possible 2025-04-28 13:50:43 +01:00
sithlord48
b103f28202 chore: XWindowsClipboardBMPConverter, use auto where possible 2025-04-28 13:50:43 +01:00
sithlord48
39b49acb56 chore: XWindowsClipboardAnyBitmapConvertor, use auto where possible 2025-04-28 13:50:43 +01:00
sithlord48
5d4fbc8ea6 chore: XWindowClipboard, use auto where possible 2025-04-28 13:50:43 +01:00
sithlord48
3dfa3d5069 chore: EiScreen, use auto where possible 2025-04-28 13:50:43 +01:00
sithlord48
6d9c66b03f chore: EiKeyState, use auto where possible 2025-04-28 13:50:43 +01:00
sithlord48
63d65bb47b chore: use nullptr where possible in place of NULL 2025-04-28 13:08:40 +01:00
sithlord48
60dc4c0cd8 chore: remove unneed mac os version checks 2025-04-28 12:52:55 +01:00
sithlord48
d6ace78a58 chore: XWindowUtils, default should be first or last case for switches 2025-04-28 11:47:04 +01:00
sithlord48
41fda741b3 chore: Use override for override methods 2025-04-28 11:27:33 +01:00
sithlord48
71b6f07220 feat: remove stopOnDeskSwitch, its broken 2025-04-22 10:00:45 +01:00
Nick Bolton
1202145bb8 fix(daemon): Use scheduled state when start is scheduled 2025-04-16 05:28:23 -07:00
Nick Bolton
abc963f886 fix(daemon): Only log XArchEvalWindows result when GetExitCodeProcess fails 2025-04-16 05:28:23 -07:00
Nick Bolton
4988196c47 fix(daemon): Use missing %s when logging XArchEvalWindows result 2025-04-16 05:28:23 -07:00
Nick Bolton
8a2b6bd688 fix(daemon): Validate process handle and ID before shutdown 2025-04-16 05:28:23 -07:00
sithlord48
fde880fb6f chore: add default case for EI_EVENT handling 2025-04-07 11:23:28 +01:00
sithlord48
7f6a68bb2f chore: lib/base/Event remove unused headers 2025-03-25 14:11:23 +00:00
sithlord48
8b5a61f07f refactor: remove ArchFile, move only use of getInstallDir to MSWindowsWatchdog 2025-03-25 08:39:05 +00:00
sithlord48
c1a7b836ce refactor: remove unused ArchMiscWindows::processDialog 2025-03-24 12:16:39 +00:00
sithlord48
498ffe85c3 chore: remove StdSet and include set directly where needed 2025-03-21 11:42:32 +00:00
sithlord48
cd3f9b2e7d chore: remove StdMap and include map directly where needed 2025-03-21 11:42:32 +00:00
sithlord48
42b16efdb9 chore: remove StdList and include list directly where needed 2025-03-21 11:42:32 +00:00
sithlord48
003f87db9e chore: remove StdVector and include vector directly where needed 2025-03-21 11:42:32 +00:00
sithlord48
26fa6860e4 chore: Move used code from Win32Hook to MSWindowsHook and remove Win32Hook 2025-03-21 11:42:32 +00:00
sithlord48
13c325eb3f chore: rename lib/common/stdvector.h => lib/common/StdVector.h 2025-03-20 13:06:45 +00:00
sithlord48
a3ad66dfb0 chore: rename lib/common/stdset.h => lib/common/StdSet.h 2025-03-20 13:06:45 +00:00
sithlord48
3bad718bb7 chore: rename lib/common/stdmap.h => lib/common/StdMap.h 2025-03-20 13:06:45 +00:00
sithlord48
40c10766f3 chore: rename lib/common/stdlist.h => lib/common/StdList.h 2025-03-20 13:06:45 +00:00
sithlord48
3c86d9dc83 chore: rename lib/common/constants.h.in => lib/common/Constants.h.in 2025-03-20 13:06:45 +00:00
sithlord48
099262d8ce chore: rename lib/common/common.h => lib/common/Common.h 2025-03-20 13:06:45 +00:00
sithlord48
d7b20fad5c chore: rename lib/platform/wayland.h => lib/platform/Wayland.h 2025-03-20 13:06:45 +00:00
sithlord48
6e6a88af87 chore: rename lib/platform/dfwhook.h => lib/platform/Win32Hook.h 2025-03-20 13:06:45 +00:00
sithlord48
2ef23b8206 chore: rename lib/deskflow/protocol_types => lib/deskflow/ProtocolTypes 2025-03-20 13:06:45 +00:00
sithlord48
ecf70f09f3 chore: rename lib/deskflow/option_types => lib/deskflow/OptionTypes 2025-03-20 13:06:45 +00:00
sithlord48
397c652e1c chore: rename lib/deskflow/mouse_types => lib/deskflow/MouseTypes 2025-03-20 13:06:45 +00:00
sithlord48
1666a30b94 chore: rename lib/deskflow/clipboard_types => lib/deskflow/ClipboardTypes 2025-03-20 13:06:45 +00:00
sithlord48
827d020d16 chore: rename lib/deskflow/key_types => lib/deskflow/KeyTypes 2025-03-20 13:06:45 +00:00
sithlord48
0138372871 chore: rename lib/base/log_outputters => lib/base/LogOutputters 2025-03-20 13:06:45 +00:00
sithlord48
27451d3425 refactor: move Screensaver inhibate call for xwindows from arch to platform 2025-03-17 16:59:43 +00:00
Nick Bolton
16517ca541 refactor(daemon): More helpful and less noisy logging 2025-03-14 14:19:46 +00:00
Nick Bolton
e8ea9f53ee refactor(daemon): Separate arg parsing from program control flow 2025-03-14 14:19:46 +00:00
Nick Bolton
a099276e4e refactor: Move Windows SendSAS call to new thread
Moving the SAS event wait and SendSAS call prevents blocking the main thread allowing for more responsive watchdog (e.g. faster restart Core client/server on session switch).
2025-03-12 12:18:32 -04:00
Nick Bolton
87fb06781c refactor: Change shutdownExistingProcesses to static in MSWindowsWatchdog 2025-03-12 12:18:32 -04:00
Nick Bolton
b9017de881 refactor: Use simpler lock_guard for Windows daemon set process config 2025-03-12 12:18:32 -04:00
Nick Bolton
24d1d4e620 refactor: Simplify lock_guard usage by removing explicit mutex type 2025-03-12 12:18:32 -04:00
Nick Bolton
3bcc1e11ed chore: Move Windows event constants to constants file 2025-03-12 12:18:32 -04:00
Nick Bolton
5b091dee56 refactor: Rename SAS IPC event name to be more specific 2025-03-12 12:18:32 -04:00
Nick Bolton
3344644d2e chore: Remove old ctrl+alt+del PostMessage call (for Windows XP and below) 2025-03-12 12:18:32 -04:00
sithlord48
6e8952c8a0 chore: update formating for clang-format 20.1.0 2025-03-11 10:57:51 -04:00
sithlord48
3a4bf35e22 refactor: Remove unneeed find_packate calls for Qt Components. Qt is found by Libaraies.cmake and accesable to all items in the src folder 2025-03-06 19:17:53 +00:00
Nick Bolton
5eac984757 chore: Add mutex for process state management in MSWindowsWatchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
1bd3f5060e refactor: Add Doxygen comments for MSWindowsWatchdog member functions 2025-03-03 14:33:46 +00:00
Nick Bolton
55b4cffd3f chore: Remove unused setStartupInfo member function from MSWindowsWatchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
51ec36f23d chore: Set default values for m_foreground and m_activeDesktop MSWindowsWatchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
58cb2b76de chore: Remove unused include in MSWindowsWatchdog.h 2025-03-03 14:33:46 +00:00
Nick Bolton
8d4a715b1c chore: Make MSWindowsWatchdog constructor explicit 2025-03-03 14:33:46 +00:00
Nick Bolton
997d4a9473 chore: Move free functions to top of Windows watchdog source 2025-03-03 14:33:46 +00:00
Nick Bolton
0f11b61576 chore: Reduce complexity of outputLoop in Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
98aba612c0 chore: Improve loop stop log line in Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
b0547f6713 chore: Use ref to const for openProcessForKill arg in Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
40fefb9369 chore: Use string_view for MSWindowsWatchdog::setProcessConfig 2025-03-03 14:33:46 +00:00
Nick Bolton
d8d022e9fe chore: Scope constants in Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
84194cf5ef chore: Use default init instead of ctor init Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
cd5ba1382d chore: Clean up shutdownExistingProcesses (unused var and use if-init) in Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
c84b4e3f00 refactor: Reduce complexity of mainLoop in Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
be8029deb6 chore: Remove unused g_activeDesktop from Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
dbb9b3bf5a chore: Remove unused trimDesktopName from Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
32bf9aa02a chore: Use const auto instead of enum for kOutputBufferSize in Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
0891afdd63 chore: Use nullptr instead of NULL in Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
f7ab6aba58 chore: Remove unused includes from Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
74e8a63dcd chore: Remove unused getCommand from Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
475172597a chore: Remove unused m_ready from Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
8c30ed7a59 chore: Remove unused m_autoDetectCommand and ctor arg from Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
44f72a29e9 refactor: Use state machine for Windows daemon watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
4db77ba2f7 chore: Improve function name for setting daemon process config 2025-03-03 14:33:46 +00:00
Nick Bolton
f0c60f5ca9 chore: Improve logging for pipe readers in Windows watchdog 2025-02-28 17:58:16 +00:00
Nick Bolton
f46474c9f2 refactor: Use WaitForSingleObject instead of sleep for Windows process shutdown 2025-02-28 17:58:16 +00:00
Nick Bolton
a99d408be1 chore: Improve logging related to Windows daemon start/stop/install/uninstall 2025-02-28 17:58:16 +00:00
Nick Bolton
19c41e2ac5 fix: Improve Windows daemon stop speed by using non-blocking pipes and shorter sleep times 2025-02-28 17:58:16 +00:00
Nick Bolton
5a7f6bd1c0 refactor: Remove old Windows TCP IPC implementation (replaced by Qt equivalent) 2025-02-28 17:58:16 +00:00
Nick Bolton
a3b0ec28fc refactor: Improve logging message for process backoff and reset failure count when no command is set 2025-02-28 17:58:16 +00:00
Nick Bolton
e07a2efbcc refactor: Implement Windows event loop in AppUtilWindows for graceful shutdown handling 2025-02-28 17:58:16 +00:00
Nick Bolton
e967944c1e fix: Strip line endings for Windows daemon file logging
Windows file logger and `OutputDebugString` already add new lines, so remove the ones added by the Core.
2025-02-28 17:58:16 +00:00
Nick Bolton
80cc323f5a refactor: Improve logging and error handling for SendSAS function in Windows watchdog 2025-02-28 17:58:16 +00:00
Nick Bolton
90e63e2e9e refactor: Exclude current process when killing existing process from Windows daemon 2025-02-28 17:58:16 +00:00
Nick Bolton
0d2d9f385d feat: Implement basic IPC connection between Daemon and GUI 2025-02-28 17:58:16 +00:00
Nick Bolton
e808eed413 refactor: Improve Windows daemon failure backoff for faster client restarts on first fail 2025-02-19 18:23:10 +00:00
Nick Bolton
16c57d7960 refactor: Improve log message related to desk switch on Windows 2025-02-19 18:23:10 +00:00
Nick Bolton
200d32db80 chore: Improve log message for leave screen warning on Windows 2025-02-19 18:23:10 +00:00
Nick Bolton
2322f312a9 refactor: Improve logging for errors when setting/getting cursor pos on Windows 2025-02-19 18:23:10 +00:00
Nick Bolton
c9a360a144 fix: Restore active desktop name check in Windows daemon
- Use `PIPE_NOWAIT` to skip empty stderr output on process output reading from Windows daemon watchdog
- Use `CreateProcess` result to determine when to call `CloseHandle` in Windows daemon watchdog
- Trim output from active desktop process in Windows daemon watchdog
- Improve error logging in Windows daemon watchdog
2025-02-19 18:23:10 +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
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
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
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
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
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
13b58f2f7a fix: 8017, move wayland error to debug context 2024-12-28 20:46:51 +00:00
sithlord48
bf4f513d7e chore: format *.m and *.mm files 2024-12-18 09:52:17 -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
2349ce7f52 chore: replace simple cases of typedef with using 2024-12-04 10:40:58 -05:00
sithlord48
4e23460c6f refactor: no configure_openssl macro 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
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
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
46a6f74fb7 build: rm DESKFLOW_APP_ID define 2024-11-15 12:20:17 +00:00
sithlord48
fb686ede21 refactor: remove desktop legacy 2024-10-30 20:04:55 +00:00
sithlord48
9e2880f714 build(lib/platform): Explicit Sources 2024-10-24 15:11:03 -04: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
90d27a174d refactor: do not include full modules in qt files 2024-10-21 14:30:02 +01: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
932ca44d75 build: use pragma once not ifndef def pattern for headers 2024-10-08 06:52:41 -04:00
Nick Bolton
6bb1bcad8c chore!: Relocate commercial code downstream 2024-10-01 14:39:05 +01:00
Nick Bolton
4f0e8cb844 feat: change most domains to Deskflow 2024-09-22 13:11:25 +01:00
pika
835dc4ec25 fix: gate leave() with canLeave(), allowing cleanup 2024-09-18 16:30:15 -04:00