Commit graph

2450 commits

Author SHA1 Message Date
sithlord48
9f2327932d refactor: IApp::start remove unused args 2025-10-07 13:01:47 +01:00
sithlord48
1b44a24d75 refactor: IApp::initApp remove unused args 2025-10-07 13:01:47 +01:00
sithlord48
8db65da345 refactor: use QString to set log level value
fixes: #8999
2025-10-07 12:40:18 +01:00
sithlord48
06263ceaad feat: drop cli11 2025-10-01 10:55:03 -04:00
sithlord48
4a5f173422 feat: remove toml config file only use our QSettings based format
remove deskflow/Config and related tests
2025-10-01 09:41:12 -04:00
sithlord48
e30025ea8b feat: SettingsDialog, add control to adjust scrollSpeed option for clients 2025-09-30 06:39:54 -04:00
sithlord48
59d860874e refactor: App::ParseArgs remove all unneeed arguments 2025-09-30 06:39:54 -04:00
sithlord48
5978694d95 chore: remove unused ArgParser 2025-09-30 06:39:54 -04:00
sithlord48
d98f8a524d remove: argsBase 2025-09-30 06:39:54 -04:00
sithlord48
37827f0540 refactor: remove ClientArgs 2025-09-30 06:39:54 -04:00
sithlord48
6fa8ba087a refactor: move remoteHost to coreArgs 2025-09-30 06:39:54 -04:00
sithlord48
a78959e66f refactor: move invert-scroll to coreArgs 2025-09-30 06:39:54 -04:00
sithlord48
5fc00f7af4 refactor: use bool for invert scrolling 2025-09-30 06:39:54 -04:00
sithlord48
2cb36777f9 refactor: move languageSync to coreArgs 2025-09-30 06:39:54 -04:00
sithlord48
b0fe79d527 refactor: move yscroll to coreArgs 2025-09-30 06:39:54 -04:00
sithlord48
efebe9ca56 refactor: remove ServerArgs 2025-09-30 06:39:54 -04:00
sithlord48
bf7a50ab0e refactor: move -c --config to coreArgs 2025-09-30 06:39:54 -04:00
sithlord48
cfedfc2c1e refactor: move peerCert option to coreArgs 2025-09-30 06:39:54 -04:00
sithlord48
cfd580fb21 refactor: move ArgsBase:m_pname to App 2025-09-30 06:39:54 -04:00
sithlord48
1884ab3555 refactor: move --no-hooks to coreArgs 2025-09-30 06:39:54 -04:00
sithlord48
eeaf139bd9 refactor: move no-restart to CoreArgs
chore: Client remove unused ClientArgs member m_args
2025-09-30 06:39:54 -04:00
sithlord48
295137dbd2 refactor: CoreArgs Add display option 2025-09-30 06:39:54 -04:00
sithlord48
c2ee366e23 refactor: move preventsleep option into CoreArgs 2025-09-30 06:39:54 -04:00
sithlord48
a8348b1ccb refactor: move tls-cert to coreArgs 2025-09-30 06:39:54 -04:00
sithlord48
ff4c9dc421 refactor: move enable-crypto to new core option secure to set the TLS setting 2025-09-30 06:39:54 -04:00
sithlord48
53b36801e1 refactor: move Log option to coreArgs 2025-09-30 06:39:54 -04:00
sithlord48
f3a1bbaf5b refactor: move setting of log level to CoreArgParser 2025-09-30 06:39:54 -04:00
sithlord48
05f377e21b refactor: Handle Name option in CoreArgParser 2025-09-30 06:39:54 -04:00
sithlord48
ead49c4025 refactor: move address option to deskflow-core, split into --interface (-i) and --port (-p) options 2025-09-30 06:39:54 -04:00
sithlord48
5e02adc772 refactor: deskflow-core take over --version arg for App class
change the serverAppTest to not call version
2025-09-30 06:39:54 -04:00
sithlord48
10f34f214f refactor: new Classes CoreArg and CoreArgParser to use to create and parse core options 2025-09-30 06:39:54 -04:00
sithlord48
6f574a3076 refactor: set const for Reverse FQDN name to use for deployment on linux 2025-09-30 06:17:23 -04:00
sithlord48
dc86538456 feat: Set app id on wayland this is required for restore tokens to work correctly 2025-09-30 06:17:23 -04:00
sithlord48
7698980576 refactor: simplify desktop::platform::isWayland 2025-09-30 06:17:23 -04:00
sithlord48
9fe445ebd0 feat: add methods to check if running from a sandbox, flatpak and or snap 2025-09-30 06:17:23 -04:00
sithlord48
087afd22b2 refactor: use CoreProcess::m_appPath to store app 2025-09-28 10:53:16 -04:00
sithlord48
8192d7b2d8 refactor: remove Settings::Client::Binary and Settings::Server::Binary use kCoreBinName, instead 2025-09-28 10:53:16 -04:00
sithlord48
d9ce9c4f10 chore: remove unused CoreProcess::extracted 2025-09-28 10:53:16 -04:00
sithlord48
4dfc98c93c fix: SettingsDialog, ensure debug warning is shown without changing the combobox 2025-09-28 10:36:23 -04:00
sithlord48
abbfc91192 chore: PriorityQueue::comp add no_unique_address attritribute 2025-09-25 15:01:17 +01:00
sithlord48
e3f5e045b7 chore: FileLogOutputter::write use Static QFile::rename in place of local file method 2025-09-25 15:01:17 +01:00
sithlord48
7f7e7de841 chore: SecureSocket serviceConnect / serviceAccept make anonymous ISocketMultiplexer a pointer const 2025-09-25 15:01:17 +01:00
sithlord48
bd63d54a9e chore: EiScreen::m_powerManager add no_unique_address 2025-09-25 15:01:17 +01:00
sithlord48
9dae55fc6f chore: remove unused ClientProxy1_5::m_events 2025-09-25 15:01:17 +01:00
sithlord48
e35a2b1c29 chore: remove unused ClientProxy1_7::m_events 2025-09-25 15:01:17 +01:00
sithlord48
4157367aaa chore: remove unused InputFilter::RestartServer::m_events 2025-09-25 15:01:17 +01:00
sithlord48
3945dc927c chore: remove unused ArgsBase::m_disableTray 2025-09-25 14:41:35 +01:00
Nick Bolton
801ada88b7 fix: correct spelling of convertLayoutToISO in X11LayoutsParser 2025-09-25 09:18:06 -04:00
Nick Bolton
c234f2fc66 fix: Do not reuse listen sockets on Windows 2025-09-25 14:00:48 +01:00
sithlord48
ff1726677b chore: remove unused --service and --relaunch options for windows 2025-09-24 16:28:19 +01:00
sithlord48
57e34ded54 chore: rename IApp::standardStartup -> IApp::start 2025-09-24 16:28:19 +01:00
sithlord48
03e014c753 feat: Remove daemon / no-daemon option 2025-09-24 16:28:19 +01:00
Roman Vasiyarov
9f8c45b449 fix: XWindowsScreen: stop centering panned screens on client when leaving screen
panned screens still needs `xtestIsXineramaUnaware` option enabled. this change
forcefully uses XTest only when leaving
useful examples:
* double 1 FullHD screen (main output) by:
	`xrandr --fb 3840x1080 --output DP-1 --panning 3840x1080+0+0/3840x1000+0+80`,
	leaving top 80 pixels for moving mouse out without actual panning
* dedicate right half of framebuffer to FullHD TV (second output):
	`xrandr --fb 3840x1080 --output HDMI-0 --panning 1920x1080+1920+0`
2025-09-23 12:12:59 +01:00
Roman Vasiyarov
bf5b0de6ee fix: XWindowsScreen: properly calculate xrandr/xinerama screens
this allows screens to overlap, use panning, etc
2025-09-23 12:12:59 +01:00
Roman Vasiyarov
3aef2f4309 chore: XWindowsScreen: remove duplicate function 2025-09-23 12:12:59 +01:00
sithlord48
35c7fe7fc4 fix: screensettingsDialog, do not allow aliases to be ip addresses
fixes: #8952
2025-09-15 16:31:52 +01:00
sithlord48
612ca91f9c chore: rename XWindowsPowerManager => XDGPowerManager
fixes: 8949
2025-09-15 13:21:51 +01:00
Nick Bolton
fcdea215be Reapply "refactor: App use Uniqueprt for SocketMultiplexer"
This reverts commit 6f18cf74c5.
2025-09-12 16:03:22 +01:00
Nick Bolton
6f18cf74c5 Revert "refactor: App use Uniqueprt for SocketMultiplexer"
This reverts commit 4d738b4784.
2025-09-12 15:03:52 +01:00
Nick Bolton
162cb85811 fix: Improve output loop error handling in MSWindowsWatchdog
Prevents high CPU usage while waiting for data (ERROR_NO_DATA)
2025-09-12 13:17:50 +01:00
Nick Bolton
5ea8d0326a fix: Use QString for Windows error functions
Was returning only first char of error message (mild-mojibake)
2025-09-12 13:17:50 +01:00
Louis des Landes
7a2591a1fa fix: wayland sleep inhibit on client
Fixes #8827
Adds the XWindowsPowerManager to the EiScreen as, despite the name, this
works on Wayland as well.
2025-09-12 10:54:25 +01:00
sithlord48
2f2754ab97 refactor: LogDock::eventFilter mark as override 2025-09-11 14:53:20 +01:00
sithlord48
9883fb988a refactor: remove Arch::hostname, use QSysInfo::machineHostName directly in the only place its used 2025-09-11 14:53:20 +01:00
sithlord48
38a74d7d0f refactor: Arch::getHostName(), use QSysInfo::machineHostname in place of system specific impl 2025-09-11 11:18:12 +01:00
sithlord48
949f1d6534 refactor: MainWindow, minimize / restore action use window-*-pip icons 2025-09-11 10:57:08 +01:00
sithlord48
de42f53d68 refactor: new LogDock, handle hiding and float correctly' 2025-09-11 10:57:08 +01:00
sithlord48
c4c2f7f37f feat: begin to use QStrings for strings
feat: get windows building with the UNICODE forced by using Qt
refactor: remove ARCHString use QString to convert to / from utf8
build: (arch) link to common
build: (base) link to arch
build: (io) Link to common
build: (client) link to common
build: (server) link to common
fix: Append to log file instead of creating a new one each log line
refactor: Trim cipher description for neater log output
fix: Update log messages to use wide string format for Unicode support
fix: Correct event creation to use wide string for Unicode compatibility
refactor: Use QStringDecoder for UTF-8 handling on Windows Daemon child process
fix: Use correct wide type for Win32 consts
2025-09-10 18:15:19 +01:00
sithlord48
66a022a012 fix: Adjust log level for unconfigured client as we react to this in the gui 2025-09-10 14:31:13 +01:00
Nick Bolton
19eefd65c1 fix: Prevent log visibility toggle when window is hidden 2025-09-10 11:51:37 +00:00
Nick Bolton
ad383ad9d4 chore: Remove unused daemon installation and uninstallation methods 2025-09-10 11:32:02 +00:00
sithlord48
539ddcaf48 refactor: ScreenConfigDialog, make sure to populate the screen model with the server config after its been made 2025-09-09 15:59:07 +00:00
sithlord48
b30f8d253c refactor: XWindowsKeyState remove name for unused KeyId in remapKeyModifiers 2025-09-05 11:52:17 +01:00
sithlord48
c477d0fcc6 refactor: XWindowsKeyState::init remove unused display var 2025-09-05 11:52:17 +01:00
sithlord48
bc63961e7e refactor: EIEventQueueBuffer remove unused screen from constructor 2025-09-05 11:52:17 +01:00
sithlord48
30ce0bdf45 refactor: SecureSocket, remove names for unused parameters for socket service accept and serviceConnect 2025-09-05 11:52:17 +01:00
sithlord48
dd66dd21bb refactor: IDataSocket, add maybe_unused for constructors event pointer 2025-09-05 11:52:17 +01:00
sithlord48
27075a0260 refactor: StreamBuffer::write use emplace when adding m_chunks 2025-09-05 11:52:17 +01:00
sithlord48
6cfd89af8c refacor: ServerConfigDialog::toggleClipboard use static access to ServerConfig::defaultClipboardSharingSize 2025-09-05 11:52:17 +01:00
sithlord48
8e99700657 refactor: ServerConfigDialog mark that deselected maybe_unused when calling the selectionChanged for our lists 2025-09-05 11:52:17 +01:00
sithlord48
e21c4cdd4d refactor: CoreProcess::addGenericArgs remove unused processMode var 2025-09-05 11:52:17 +01:00
sithlord48
88efc14bc2 refactor: ServerConfig, use static access to switchCornerNames() 2025-09-05 11:52:17 +01:00
sithlord48
a9d518fbc8 refactor: X11LayoutParser:appendVectorUniq, capture elem by ref in our lambda 2025-09-05 11:52:17 +01:00
sithlord48
43b1014700 refactor: X11LayoutParser::getAllLanguageData , do not shadow variables from outer for loop with the inner one (i.e use differnt nanes for each var) 2025-09-05 11:52:17 +01:00
sithlord48
2e722bdfeb refactor: Server::handleToggleScreenEvent remove name of the incomming event var to indicate its not used in the method 2025-09-05 11:52:17 +01:00
sithlord48
aedbffa809 refactor: server/Config use empty() to check if args are empty 2025-09-05 11:52:17 +01:00
sithlord48
dc0db9d192 refactor: LogWidget remove unused Q_SIGNALS delclaration 2025-09-05 11:52:17 +01:00
sithlord48
9f3e724218 refactor: ScreenSettingsDialog::removeAlias make const 2025-09-05 11:52:17 +01:00
Jonathan Wakely
f98f8b10d1 refactor: Construct std::string outside critical section
There's no need to hold the mutex while constructing a `std::string`
from the `char` string.

Also use `inet_ntop` instead of the potentially thread-unsafe
`inet_ntoa` that might use a static buffer for the result.

This makes the `INet` case match the `INet6` case below.
2025-09-04 16:56:46 +01:00
Jonathan Wakely
b788d63044 refactor: Give internal linkage to global mutex
The `static` keyword was removed by #8674 but I think it should be
restored so that this global can't clash with anything else called
`::s_mutex` elsewhere in the executable.
2025-09-04 16:56:46 +01:00
sithlord48
d5936a9e08 refactor: ScreenSettingsDialog, do not use auto connect slots 2025-09-03 10:38:59 +01:00
sithlord48
81c53d3690 refactor: ScreenSettingsDialog, conform to naming conventions 2025-09-03 10:38:59 +01:00
sithlord48
89003082d7 refactor: continue to improve the screen settings dialog ui 2025-09-03 10:38:59 +01:00
Tomaz Canabrava
fe1a48fa28 refactor: Rework Computer Settings
Removed almost half of the lines, and still made it
more pretty.
2025-09-03 10:38:59 +01:00
Tomaz Canabrava
c4b2f91424 refactor: Move ServerConfig to the config folder 2025-09-03 10:38:59 +01:00
Tomaz Canabrava
f16c13fa54 refactor: ScreenSettingsDialog, Constify validator variables 2025-09-03 10:38:59 +01:00
sithlord48
43ce3c50e5 refactor: move log to dockwidget simplifying resize code 2025-09-01 18:12:41 +01:00
sithlord48
204a6b5a44 refactor: New LogWidget to handle log output in the mainwindow 2025-09-01 18:12:41 +01:00
sithlord48
a6dc455477 fix: Settings reset on windows, create new profile dir when not in native mode
fixes: #8916
2025-09-01 17:22:15 +01:00
sithlord48
138ede0536 refactor: use If in place of switch that looks for single case 2025-09-01 16:57:39 +01:00
sithlord48
eae089d3ec chore: ServerConfigDialog, conform to naming standards for members 2025-09-01 16:57:39 +01:00
sithlord48
340df69ca2 refactor: ServerConfigDialog, set members in alphbetical order, correct initlization order 2025-09-01 16:57:39 +01:00
sithlord48
507c98adff refactor: EIKeyState::fakeKey use if in place of a switch that cares only about a single case 2025-09-01 16:57:39 +01:00
sithlord48
0501f2892d chore: Messages::showClientError remove unneeded capture from lambda 2025-09-01 16:57:39 +01:00
Kris
104d2facdb feat: add switchToNextScreen hotkey to cycle through computers 2025-09-01 11:39:52 -04:00
Kris
398c9726f3 fix: fixes the mouse label issue 2025-09-01 11:39:52 -04:00
sithlord48
eb2f885983 chore: conform CoreProcess to naming standards 2025-09-01 16:18:02 +01:00
Nick Bolton
4a16931c5d refactor: Remove QProcessProxy and simplify CoreProcess
Making a proxy class for QProcess to make GTest work is an excellent example of over-abstraction making simple things hard to do. I just wanted to call a function on QProcess and had to jump through hoops to do it.

Bye bye QProcessProxy! We can do much better with QTest.
2025-09-01 16:18:02 +01:00
Nick Bolton
78b83c5639 fix: Use correct log function for process exit status in onProcessFinished 2025-09-01 08:05:07 -04:00
sithlord48
9cf25c4caf feat: Allow suppression of generic client connection dialog
fixes 8907
2025-09-01 10:57:59 +01:00
sithlord48
f0e02724ee refactor: CoreProcess::onProcessFinished add using for ProcessState enum 2025-09-01 10:04:52 +01:00
sithlord48
60e71aad38 fix: missing IPC messages
fixes #8905
2025-09-01 10:04:52 +01:00
sithlord48
4e8a67925f refactor: Add Tooltip to log levels and show a label with info about debug level affecting performance
fixes: #8889
2025-08-28 00:45:40 +01:00
sithlord48
cba3881f41 refactor: Move all messages that are checked for by GUI in the log to new IPC Level so the gui can work with any filter level 2025-08-28 00:45:40 +01:00
sithlord48
78eb353985 refactor: Settings Allow all log levels to be shown in the Gui 2025-08-28 00:45:40 +01:00
sithlord48
e7880b72f1 chore: Mainwindow convert comments for regenerateLocalFingerprint to doxygen comments 2025-08-27 19:18:59 -04:00
sithlord48
d864361085 feat: Improve fingerprint comparison dialog, to show both remote and local prints (server is always on left of dialog)
fixes: #8866
2025-08-27 19:18:59 -04:00
sithlord48
66366dd95b refactor: Fingerprintprevew, Add optional title text, remove label for cypher type and add option to toggle the sha mode so art or hash is visible 2025-08-27 19:18:59 -04:00
sithlord48
2c6c65f71e refactor: MainWindow new localFingerprint method to read the local fingerprint from the db, this is split from showMyFingerprint 2025-08-27 19:18:59 -04:00
sithlord48
9eede5470c refactor: TLSUtil do not check it tls is enabled before regenerating the certificate
fixes #8890
2025-08-27 05:51:15 -04:00
Nick Bolton
07edccb469 fix: Add 'Hyper' key handling
In the X11 code, we mapped hyper to super, so perhaps it makes sense to do that here too:

`src/lib/platform/XWindowsUtil.cpp`
```
  case XK_Super_L:
  case XK_Super_R:
  case XK_Hyper_L:
  case XK_Hyper_R:
    return kKeyModifierBitSuper;
```
2025-08-26 09:52:43 -04:00
Zhuofeng Wang
927075688c fix: Pass ClientScrollDirection to EiScreen 2025-08-26 09:08:45 -04:00
sithlord48
b18c3b588f refactor: EIKeyState, compare to the current state when seeing if modifiers are inactive, suggested by wismill 2025-08-26 11:23:29 +01:00
Nick Bolton
34c439b3de refactor: Use single case to ignore mods in EI mod mask 2025-08-22 17:04:16 +01:00
Nick Bolton
934ddf1499 fix: Disable meta mod (fixes alt key bug) 2025-08-22 17:04:16 +01:00
Nick Bolton
4302d50a42 feat: Use xkb_keymap_mod_get_mask in EiKeyState if available
Introduced in xkbcommon v1.10.0
2025-08-22 16:06:03 +01:00
sithlord48
3e96c4d0aa refactor: Include breeze fallback icons for connect and disconnect 2025-08-22 09:54:20 +01:00
sithlord48
d368b92165 refactor: CoreProcess::onProcessFinished Stop trying to restart the core process if its already running 2025-08-22 09:54:20 +01:00
sithlord48
97e3524a24 build: SecureSocket, include io/FileSystem in SecureSocket.cpp 2025-08-22 09:54:20 +01:00
sithlord48
299ebea0e2 refactor: replace QString::toStdString().c_str with qPrintable(...) 2025-08-22 09:54:20 +01:00
sithlord48
3a66969dec refactor: add XdpRestoreToken to list of valid keys so its not removed if cleansettings is run 2025-08-21 07:54:21 -04:00
sithlord48
d3c0ce8895 refactor: move all exit codes to new ExitCodes
add new exitcode s_exitDuplicate for when exiting because of already running instance
2025-08-21 12:34:50 +01:00
sithlord48
26983dc0e4 refactor MainWindow, move start and restart inline with mode options
update labels for the mode buttons actions and menu actions
                     use callstart / callstop for connect and disconect icons
2025-08-20 16:09:08 -04:00
sithlord48
a0d75b28ba refactor: SettingsDialog, group client options together into a groupClientOptions 2025-08-20 15:50:26 -04:00
sithlord48
e9cec877f2 fix: SettingDialog, only lock the check peers checkbox in updateTlsControls when in client mode
fixes #8870
2025-08-20 15:50:26 -04:00
sithlord48
0bb8ff646a refactor: SettingsDialog, prevent updateControls from being called twice at startup 2025-08-20 15:50:26 -04:00
sithlord48
9268fef89d refactor: SettingsDialog remove duplicate code by calling updateTlsControlsEnabled inside updateTlsControls 2025-08-20 15:50:26 -04:00
sithlord48
6f8b3f481d refactor: adjust the help message for core to combine server and client message fixing man page deployment 2025-08-20 20:33:20 +01:00
sithlord48
3b2d7fc0b3 feat: Switch to deskflow-core instead of split binaries 2025-08-20 20:33:20 +01:00
sithlord48
7cac145500 fix: Allow Gui to work with core ,server or client binaries
fixes: #7951
2025-08-20 20:33:20 +01:00
sithlord48
b2aa638b1f feat: Support Remote Desktop token persistance 2025-08-19 15:46:14 +01:00
sithlord48
2990a1f686 refactor: Server, reorder private member vars to avoid un unessary padding 2025-08-18 11:45:21 +01:00
sithlord48
c3f2c04a28 refactor: remove IAppUtil. AppUtil is the base class now 2025-08-18 11:45:21 +01:00
sithlord48
347cb46f15 refactor: remove IEventJob 2025-08-18 11:45:21 +01:00
sithlord48
bcb6c368b1 refactor: remove unneeded common/Common includes 2025-08-18 11:45:21 +01:00
sithlord48
a9e87d5ef5 refactor: remove INode class as base for Server and Client objects 2025-08-18 11:45:21 +01:00
sithlord48
4eec183598 refactor: remove IInterface class, that only adds a virtual construcor 2025-08-18 11:45:21 +01:00
sithlord48
6c6e5fc4d2 refactor: MainWindow use static for cleanup of QLocalServer 2025-08-15 12:15:40 +01:00
sithlord48
0d7d21aeb2 refactor: Action LockCursorMode => Action::LockCursorMode enum class 2025-08-15 12:15:40 +01:00
sithlord48
ea6f4ce221 refactor: Action SwitchDirection => Action::SwitchDirection enum class 2025-08-15 12:15:40 +01:00