Commit graph

3876 commits

Author SHA1 Message Date
Nick Bolton
0f335d46bb fix: Store server config window state in memory instead of on disk 2025-10-13 08:50:30 -04:00
sithlord48
2b203c8cdd refactor: use CoreProcess::CorrectedAddress in CoreProcess::setAddress 2025-10-13 08:34:12 -04:00
sithlord48
ac7bd1ceca refactor: CoreProcess make wrapIpv6, Simplify wrapIpV6 method 2025-10-13 08:34:12 -04:00
sithlord48
de6be901b9 refactor: CoreProcess use Settings::defaultvalue for server Config in place of constructing in CoreProcess 2025-10-13 08:34:12 -04:00
sithlord48
0ab65410cc refactor: CoreProcess::restart simplify method 2025-10-13 08:34:12 -04:00
sithlord48
a057437e1a refactor: MainWindow::coreProcessStarting move logic into coreProcessStateChanged 2025-10-13 08:34:12 -04:00
sithlord48
f9c007cc3a refactor: CoreProcess Remove the starting signal and use it like the others via CoreProcess::coreProcessStateChanged 2025-10-13 08:34:12 -04:00
sithlord48
d45196304f chore: CoreProcess remove unsed includes 2025-10-13 08:34:12 -04:00
sithlord48
004089f887 refactor: Coreprocess remove single use one liner persistLogDir, make dir in start if needed 2025-10-13 08:34:12 -04:00
sithlord48
13990438d3 refactor: CoreProcess::processStateToString use QVariant conversion to string, make static member of CoreProcess 2025-10-13 08:34:12 -04:00
sithlord48
a120441a10 refactor: CoreProcess::processModeToString use QVariant::fromValue().toString().toLower() to create the string, make method static member of CoreProcess 2025-10-13 08:34:12 -04:00
sithlord48
26c2f672be chore: remove unimplimented CoreProcess::processModeString 2025-10-13 08:34:12 -04:00
sithlord48
48195f9347 refactor: CoreProcess::start seed args with value of coreMode, use it when checking if server 2025-10-13 08:34:12 -04:00
sithlord48
5a632bbb6d refactor: remove CoreProcess::modeString 2025-10-13 08:34:12 -04:00
sithlord48
173638d6f5 refactor: CoreProcess remove addSeverArgs handle server config in CoreProcess::start 2025-10-13 08:34:12 -04:00
sithlord48
bd0c5a68f1 refactor: CoreProcess append log option in start Method, remove now unused addClientArgs , and args parameter from addServerArgs 2025-10-13 08:34:12 -04:00
sithlord48
e3f940c70a refactor: Simplify CoreProcess::QuoteArgs, use QString::Simplify and simplify logic in the loop 2025-10-13 08:34:12 -04:00
sithlord48
bb1e2ecc78 refactor: makeQuotedArgs is now a static private member or CoreProcess 2025-10-13 08:34:12 -04:00
sithlord48
8d0c368c8f refactor: CoreProcess::start return early if called with coreMode of None 2025-10-13 08:34:12 -04:00
sithlord48
9e94a4fe0e refactor: CoreProcess::start, early return if process is already started 2025-10-13 08:34:12 -04:00
sithlord48
a346ff6161 chore: X11LayoutsParser remove stray semi colon 2025-10-13 12:45:44 +01:00
sithlord48
eed4b49ea0 chore: remove unused member App::configSection 2025-10-13 12:45:44 +01:00
sithlord48
88c0c49ba3 chore: remove unused member App::s_helpVersionArgs 2025-10-13 12:45:44 +01:00
Nick Bolton
f64d430f96 fix: Remove assertion for unused name parameter in daemonize function 2025-10-13 07:23:59 -04:00
sithlord48
04b3f5c769 chore: remove unused name parameter from ARCH->daemonize 2025-10-09 13:30:41 +01:00
sithlord48
aae3067f03 fix: stop retry if core has crashed
fixes: #9003
2025-10-07 14:57:22 +01:00
sithlord48
8ea2671e65 refactor: cleanup daemonApp args 2025-10-07 13:01:47 +01:00
sithlord48
12ea23a3bd refactor: App::run remove unused args 2025-10-07 13:01:47 +01:00
sithlord48
0bc82c3a57 refactor App::runInner remove unused argc and argv 2025-10-07 13:01:47 +01:00
sithlord48
3270b40455 refactor: App, remove args from static startup methods to make StartupFunc no longer take args 2025-10-07 13:01:47 +01:00
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
558833ca05 fix: windows, unable to use settings until a QApp is made
fixes: #9000
2025-10-07 12:22:46 +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
7b866ec632 refactor: make sure to use static args on ArgParsers::NameTest 2025-09-24 16:28:19 +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
d1897efa8b chore: LogTests, Fix codeQL issue with args in the printTestWithArgs test 2025-08-30 10:07:41 +01:00
sithlord48
490dac5048 refactor: LogTests use private log member 2025-08-30 10:07:41 +01:00
sithlord48
549133e619 refactor: LogTests, read buffer capture before release 2025-08-28 08:20:14 +01:00
sithlord48
323d011476 chore: remove unused include for ArchString 2025-08-28 08:20:14 +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