90 Commits
Author SHA1 Message Date
Shabirjan427 77aaeafc06 fix: keep X11 dialogs above the window that owns them
Top-level windows never set WM_TRANSIENT_FOR, so the window manager could
raise an owner over its dialog. The owner is disabled while the dialog is
open, so the program then looked frozen with its prompt out of sight.

Pass each window's owner to the X11 backend and set the property before
the window is mapped.

Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Diagnosed the hidden dialog and wrote the change from a request to fix the failures found in a live Bitvise test.
2026-11-05 19:53:16 +01:00
mirkobrombin 0d2cbd3233 fix: end a paint when its window changes size inside it 2026-11-05 09:04:46 +00:00
mirkobrombin b87aa49bbd feat: send messages and copied data to the windows of other processes 2026-11-04 17:12:43 +00:00
mirkobrombin c5d1553668 feat: post messages to the windows of other processes 2026-11-04 17:06:35 +00:00
mirkobrombin 84dfa0e477 feat: find and enumerate the windows of other processes 2026-11-04 17:01:05 +00:00
mirkobrombin d3de1f8752 feat: answer more window, queue, locale, resource, time and activation calls in the guest 2026-11-04 12:48:39 +00:00
mirkobrombin 8084a5f05c feat: show driver surfaces at their client size and GDI children over them 2026-11-04 12:48:38 +00:00
mirkobrombin 0a68913edb fix: let visible windows exist when no display is attached
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: window creation no longer fails without a display; presentation skipped instead
2026-11-03 15:50:44 +00:00
mirkobrombin 9a091d54c9 fix: leave the resize after a screen change to the message loop 2026-11-02 22:36:09 +00:00
mirkobrombin e639e7fe16 fix: answer window queries for windows of another process 2026-11-02 21:42:43 +00:00
mirkobrombin 3732dc619a fix: accept message-only children and reparenting
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: HWND_MESSAGE handling and its test
2026-11-01 18:43:28 +00:00
mirkobrombin d582652232 fix: fill the host gaps the guest components hit
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Added missing window, GDI, memory, text and multibyte behavior in the host that the own guest components need.
2026-10-31 06:18:52 +00:00
mirkobrombin 1d561e2ecd fix: give each window its own GPU surface, hidden ones included 2026-10-29 23:18:44 +00:00
mirkobrombin ee84de1ecb feat: answer GetSystemMetricsForDpi and every metric index 2026-10-29 19:44:05 +00:00
mirkobrombin 0e8e37d45f fix: load a class menu named by a string
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote the string menu name lookup for window classes and its menu client check.
2026-10-29 19:21:40 +00:00
mirkobrombin d47a59fcbf fix: let a window make its children while it is being created
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Fixed child window creation during WM_NCCREATE and wrote the nccreate child client test.
2026-10-29 18:57:12 +00:00
mirkobrombin cdfcbf6a4b feat: broadcast posted messages to every top-level window
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Made posted broadcast messages reach every top-level window.
2026-10-28 11:11:21 +00:00
mirkobrombin 35813cb12a feat: let RAVEN_DUMP_WINDOWS name the moment of the window list 2026-10-28 05:41:24 +00:00
mirkobrombin 2df3ae0720 fix: let child windows draw their own borders in WM_NCPAINT 2026-10-27 05:44:20 +00:00
mirkobrombin 592900d2d8 feat: answer the dark mode functions uxtheme publishes by number 2026-10-27 05:44:20 +00:00
mirkobrombin e543a09c9a feat: draw the dark variants of visual styles programs ask for 2026-10-27 04:27:35 +00:00
mirkobrombin 870ca1a029 feat: draw a dark window frame when DWM is asked for one 2026-10-27 04:10:44 +00:00
mirkobrombin 1da5be6bbb feat: open the window menu from the caption 2026-10-27 02:08:53 +00:00
mirkobrombin d4adc44e8d feat: give an SSH client's dialogs double clicks, split buttons and drop-down lists 2026-10-27 01:17:41 +00:00
mirkobrombin 44a593867c feat: run an SSH client's terminal and file transfer windows 2026-10-26 23:13:38 +00:00
mirkobrombin c88285ef1a fix: keep a browser window's last page while the next one loads 2026-10-26 16:27:27 +00:00
mirkobrombin 8b8c13b727 fix: keep browser windows from showing black frames 2026-10-26 06:11:52 +00:00
mirkobrombin 4259bc0a56 feat: show the cursor programs choose on the host pointer 2026-10-26 06:11:52 +00:00
mirkobrombin 1974d67284 fix: keep a held key's translation across a keymap change 2026-10-25 20:58:10 +00:00
mirkobrombin 5ca60c6e94 feat: add an experimental X11 desktop backend
Refs #10

Assisted-by: Claude Code:claude-opus-5.5
AI-Scope: wrote the XCB presentation, Vulkan and EGL surface support, the --desktop=x11 option and the Xvfb tests from the issue #10 plan
2026-10-25 16:17:49 +00:00
mirkobrombin ab11bf58b8 fix: keep menu popup input that arrives through a queue status check
Assisted-by: Claude Code:claude-opus-5.5
AI-Scope: traced menu clicks lost under the X11 desktop to deliver_pending and wrote the fix
2026-10-25 16:17:49 +00:00
mirkobrombin acddd36586 fix: wait for matching window messages without busy polling
Assisted-by: Codex:GPT-6
AI-Scope: Implement blocking message waits and cover message filters and wakeups.
2026-10-25 04:38:33 +01:00
mirkobrombin 8b5a113a8f fix: synchronize desktop dimensions and GPU surface resizing 2026-10-25 03:00:05 +01:00
mirkobrombin 14d44fb628 feat: add a native OpenGL bridge 2026-10-25 01:39:15 +02:00
mirkobrombin 0a0fe4be89 feat: add shared Windows process state and parallel guest execution 2026-10-24 16:24:23 +00:00
mirkobrombin f9f3a67f1c fix: serve the Windows calls that Inno Setup, 7-Zip and VLC make 2026-10-23 21:27:15 +00:00
Mirko Brombin cd910f5113 feat: paint windows in turn, track popup menus and keep mouse button state for drawing programs 2026-09-23 16:33:40 +00:00
Mirko Brombin 3b0c195958 feat: draw GDI paths, cursors, clip paths and font data, and show windows once their controls are painted 2026-09-23 00:12:56 +00:00
Mirko Brombin 9737dc4f4d feat: start overlapped windows at the minimum tracking size 2026-09-21 15:02:08 +00:00
Mirko Brombin 57ab23b7d6 feat: paint parents before their children and repaint the children a parent without WS_CLIPCHILDREN drew over 2026-09-21 11:15:42 +00:00
Mirko Brombin bb9cf43cf1 feat: create and activate side-by-side contexts from manifests and give programs the common controls 6 classes their manifests ask for 2026-09-21 10:33:51 +00:00
Mirko Brombin 6b8b140041 feat: keep the window handles in their own set, and look for windows to paint without handing every window out for change 2026-09-21 04:19:08 +02:00
Mirko Brombin 8300ee7b6e feat: leave a caret shaped by a blank bitmap undrawn, and find the changed rows of a frame by their hashes 2026-09-21 03:12:17 +02:00
Mirko Brombin 6e4754d4d3 feat: stop comparing menus again before every guest run, since no call changes a menu across a callback 2026-09-21 02:38:43 +02:00
Mirko Brombin 19c9572005 feat: add release icons, memory contexts and free bitmaps in the guest, and publish the guest's tables only for what changed 2026-09-21 02:06:58 +02:00
Mirko Brombin 2974d4855f feat: set and read device context colors, background mode and text alignment in the guest through an attribute table the runtime applies 2026-09-21 01:11:12 +02:00
Mirko Brombin be25866137 feat: answer TranslateMessage, TranslateAcceleratorW and CallMsgFilterW for messages they leave alone, and GetDesktopWindow, in the guest 2026-09-21 00:59:13 +02:00
Mirko Brombin 52738d38f7 feat: draw a window's frame again only when what it shows changed 2026-09-21 00:37:48 +02:00
Mirko Brombin 1e73efa1fc feat: answer CallWindowProc, GetSystemMetrics and GetSysColor in the guest 2026-09-21 00:19:55 +02:00
Mirko Brombin ab17c6aedf feat: answer GetObject on bitmaps in the guest from a bitmap table the runtime keeps current 2026-09-20 23:46:55 +02:00