Quantum
042450a708
[idd] helper: implement basic config class
2025-09-17 18:05:00 +10:00
Quantum
9009217366
[idd] helper: stop using MsgWaitForMultipleObjects
...
`MsgWaitForMultipleObjects` doesn't handle inner message loops,
which may happen during `TrackPopupMenu`, causing exits to fail.
2025-09-15 09:22:27 +10:00
Quantum
c4f3936d98
[idd] helper: split CWindow into base class and CNotifyWindow
2025-09-15 09:22:27 +10:00
Quantum
daa78bcf47
[idd] debug: full Unicode handling and log as UTF-8
...
This commit makes `CDebug` use Unicode internally instead of whatever
random code page is in use. It also gets rid of the horrible character
counting and replaces that with `vasprintf` and `vaswprintf` helpers
(partially inspired by Linux) which allocates a buffer.
For HRESULT logging, the error code in both hex and decimal are included.
The output is now guaranteed to be UTF-8.
2025-09-14 20:00:25 +10:00
Quantum
eff8555f9b
[idd] helper: wait on parent process directly
2025-09-14 17:16:23 +10:00
Quantum
c873aa4c4e
[idd] helper: use separate log for child process
2025-09-14 17:16:23 +10:00
Quantum
5c1d604a22
[idd] helper: correctly pump message and destroy window
2025-09-14 17:16:23 +10:00
Quantum
94550e09b4
[idd] helper: use CWindow helper to avoid global state
2025-09-14 09:49:39 +10:00
Quantum
9d48e70983
[idd] helper: switch to fully Unicode to avoid encoding issues
2025-09-14 09:49:39 +10:00
Geoffrey McRae
0feaa716c5
[idd] helper: implement enable/disable priv
...
Implements `EnablePriv` and `DisablePriv` so the helper can now
interact with the desktop. Fixes issues with setting cursor position
2025-09-07 13:07:15 +00:00
Geoffrey McRae
6a4edfc6b6
[idd] helper: added new helper service
...
build / client (Debug, map[cc:clang cxx:clang++], libdecor) (push) Waiting to run
build / client (Debug, map[cc:clang cxx:clang++], xdg-shell) (push) Waiting to run
build / client (Debug, map[cc:gcc cxx:g++], libdecor) (push) Waiting to run
build / client (Debug, map[cc:gcc cxx:g++], xdg-shell) (push) Waiting to run
build / client (Release, map[cc:clang cxx:clang++], libdecor) (push) Waiting to run
build / client (Release, map[cc:clang cxx:clang++], xdg-shell) (push) Waiting to run
build / client (Release, map[cc:gcc cxx:g++], libdecor) (push) Waiting to run
build / client (Release, map[cc:gcc cxx:g++], xdg-shell) (push) Waiting to run
build / module (push) Waiting to run
build / host-linux (push) Waiting to run
build / host-windows-cross (push) Waiting to run
build / host-windows-native (push) Waiting to run
build / obs (clang) (push) Waiting to run
build / obs (gcc) (push) Waiting to run
build / docs (push) Waiting to run
As the IDD itself runs in a WUMDF sandbox, it doesn't have enough
access to perform interactive operations such as moving the cursor.
This helper service communicates with the IDD over a named pipe,
so that we can perform these things, as well as in the future provide
a configuration GUI.
2025-03-28 12:05:02 +00:00