Quantum
fddcb7f2d4
[idd] helper: define WIN32_LEAN_AND_MEAN globally
...
build / client (Debug, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / module (push) Has been cancelled
build / host-linux (push) Has been cancelled
build / host-windows-cross (push) Has been cancelled
build / host-windows-native (push) Has been cancelled
build / idd (push) Has been cancelled
build / obs (clang) (push) Has been cancelled
build / obs (gcc) (push) Has been cancelled
build / docs (push) Has been cancelled
It doesn't really help that much, but since we are defining it in
some headers, we might as well do it everywhere so it actually has
some effect in case the headers were included in a different order.
2025-09-23 02:07:18 +10:00
Quantum
48ab317fa0
[idd] helper/notify: delete icon when exiting
2025-09-23 02:03:06 +10:00
Quantum
b504627145
[idd] helper/notify: correctly handle menu dismissal
2025-09-17 20:47:52 +10:00
Quantum
4585362f54
[idd] helper/config: implement window positioning, fonts, and high DPI support
2025-09-17 18:05:00 +10:00
Quantum
e123e02e15
[idd] helper/CWindow: use sane value for hbrBackground
2025-09-17 18:05:00 +10:00
Quantum
85e728b59e
[idd] helper: add simple static widget implementation
2025-09-17 18:05:00 +10:00
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
d006dbb547
[idd] helper/CWindow: add onClose and onDestroy hooks
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
19989ce9fb
[idd] helper: add icon context menu with log directory open
2025-09-15 01:38:13 +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
8c3a2d01bc
[idd] helper/PipeClient: use event and async I/O to interrupt read
...
An event, `m_signal`, is created and signalled when either `m_running` or
`m_connected` is changed by another thread, so that the pipe thread knows
to interrupt the read.
The pipe is now opened as async to allow interruption, and the I/O
operations now use overlapped I/O.
Other changes include:
* Changing `m_pipe` to `HandleT<HANDLETraits>` since `CreateFile` returns
`INVALID_HANDLE_VALUE` instead of `NULL` on error.
* Remove the call to `WaitNamedPipeA` because it's useless and returns
immediately without waiting if the pipe doesn't exist.
2025-09-14 17:17:21 +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
67e1574d20
[idd] helper: add notification icon
2025-09-14 09:49:39 +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
Quantum
4ff5ce02d7
[idd] helper: add icon to resource
2025-09-14 09:49:39 +10:00
Quantum
ff8650829c
[idd] install: create NSIS installer script
2025-09-13 00:32:00 +10:00
Quantum
6e00dedc2b
[idd] helper: enable per-monitor DPI awareness
2025-09-11 18:45:43 +10:00
Quantum
e816847fb1
[idd] all: use UTF-8 source code
2025-09-11 17:00:35 +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
7afb9b93eb
[idd] driver: improve display mode support and resolution switch
2025-03-29 22:42:49 +00:00
Geoffrey McRae
db1dda00c8
[idd] all: update to sdk 10.0.26100 and iddcx 1.10
2025-03-29 22:42:48 +00:00
Geoffrey McRae
91e8440c9d
[idd] vs: remove dynamically generated VersionInfo.h from the repo
2025-03-28 14:13:34 +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