Upgrade the pinned driver, validate menu and taskbar focus ownership, patch untitled Shell resolution, and remove duplicate scroll scaling. Publish package provenance, verification boundaries and matching marketplace checksum. Go tests, vet, build and byte-level package verification passed.
34 lines
1.5 KiB
Diff
34 lines
1.5 KiB
Diff
diff --git a/libs/cua-driver/rust/crates/platform-windows/src/win32/windows.rs b/libs/cua-driver/rust/crates/platform-windows/src/win32/windows.rs
|
|
index b13588d..b0bccf5 100644
|
|
--- a/libs/cua-driver/rust/crates/platform-windows/src/win32/windows.rs
|
|
+++ b/libs/cua-driver/rust/crates/platform-windows/src/win32/windows.rs
|
|
@@ -281,14 +281,26 @@ fn window_info_by_handle(hwnd: u64) -> Option<WindowInfo> {
|
|
return None;
|
|
}
|
|
let title_len = unsafe { GetWindowTextLengthW(native) };
|
|
- if title_len == 0 {
|
|
+ // An exact PID/HWND remains a valid identity for untitled native shell
|
|
+ // surfaces. Keep ordinary application/overlay discovery filters intact.
|
|
+ let untitled_shell = matches!(
|
|
+ window_class_name(native).as_str(),
|
|
+ "Shell_TrayWnd"
|
|
+ | "Shell_SecondaryTrayWnd"
|
|
+ | "NotifyIconOverflowWindow"
|
|
+ | "TopLevelWindowForOverflowXamlIsland"
|
|
+ | "#32768"
|
|
+ | "Progman"
|
|
+ | "WorkerW"
|
|
+ );
|
|
+ if title_len == 0 && !untitled_shell {
|
|
return None;
|
|
}
|
|
let mut buf = vec![0u16; (title_len + 1) as usize];
|
|
unsafe { GetWindowTextW(native, &mut buf) };
|
|
let title_len = buf.iter().position(|&c| c == 0).unwrap_or(buf.len());
|
|
let title = String::from_utf16_lossy(&buf[..title_len]);
|
|
- if title.trim().is_empty() {
|
|
+ if title.trim().is_empty() && !untitled_shell {
|
|
return None;
|
|
}
|
|
let minimized = unsafe { IsIconic(native) }.as_bool();
|