Skip to content

windows: add native Windows support#59

Merged
JalonSolov merged 7 commits into
vlang:mainfrom
GGRei:windows-native-support
Jun 13, 2026
Merged

windows: add native Windows support#59
JalonSolov merged 7 commits into
vlang:mainfrom
GGRei:windows-native-support

Conversation

@GGRei

@GGRei GGRei commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds native Windows support validation for gui, centered on the MSVC/vcpkg path.

This PR adds:

  • native Windows setup/preflight checks with actionable diagnostics
  • Windows-focused CI smoke workflow for MSVC validation
  • hardened Windows native dialogs, notifications, printing delegation and D3D11 readback paths
  • regression tests for the Windows bridge and setup classifier
  • Windows documentation and a manual smoke checklist for behavior that cannot be fully proven in CI

Validation

  • VJOBS=6 v test nativebridge/_readback_abi_test.v nativebridge/_bridge_ex_test.v
  • VJOBS=6 v test _windows_setup_preflight_test.v winsetup/preflight_test.v
  • v check-md README.md docs/WINDOWS.md docs/WINDOWS_MANUAL_SMOKE.md docs/PRINTING.md docs/ROADMAP.md

Notes

Some Windows behavior still requires real interactive/manual validation and is documented in docs/WINDOWS_MANUAL_SMOKE.md, including native dialogs, notification delivery, PDF handler behavior and D3D11 runtime readback/export.

@GGRei GGRei marked this pull request as draft June 11, 2026 14:27
@GGRei GGRei force-pushed the windows-native-support branch from 5a548d3 to 94151df Compare June 11, 2026 14:36
@GGRei GGRei marked this pull request as ready for review June 11, 2026 14:37
@GGRei GGRei marked this pull request as draft June 12, 2026 09:49
@GGRei GGRei marked this pull request as ready for review June 12, 2026 09:49
@GGRei GGRei marked this pull request as draft June 12, 2026 11:58
@GGRei GGRei marked this pull request as ready for review June 12, 2026 12:47
@JalonSolov

JalonSolov commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

Bouncing to force pickup of CI change.

@JalonSolov JalonSolov closed this Jun 13, 2026
@JalonSolov JalonSolov reopened this Jun 13, 2026
@GGRei GGRei marked this pull request as draft June 13, 2026 17:30
@GGRei GGRei marked this pull request as ready for review June 13, 2026 18:49

@dy-tea dy-tea left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks fine to me.

Comment thread theme_bundle.v
medium f32 = -1
large f32 = -1
text f32 = -1
spacing_small f32 = -1 @[json: 'small']

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure why this was renamed?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This rename is internal only.

On the Windows/MSVC path, the generated C for SpacingBundle.small hit a name/macro collision and broke _theme_bundle_test.v. Renaming the V field avoids emitting small as the C member name.

The external theme JSON format is unchanged: @[json: 'small'] keeps the JSON key as "small", so theme bundles still use "spacing": { "small": ... }.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah right, I forgot that windows had small defined as a macro.

@JalonSolov JalonSolov merged commit 26f7784 into vlang:main Jun 13, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants