Skip to content

StartMenu: Windows 11 Start button placement and responsive native drag-and-drop - #2566

Draft
projektion0 wants to merge 5 commits into
Open-Shell:masterfrom
projektion0:fixes/windows11-start-menu-improvements
Draft

projektion0 wants to merge 5 commits into
Open-Shell:masterfrom
projektion0:fixes/windows11-start-menu-improvements

Conversation

@projektion0

Copy link
Copy Markdown

Dragging and moving files through the Start Menu can stall at the native "Replace files in the destination" dialog until Windows Start is opened. This change lets the native Shell negotiate asynchronous transfers and keeps the menu usable and up to date while the transfer runs.

This draft collects the related Windows 11 changes developed and tested together, with separate commits for build support, the Start button, drag-and-drop, and shortcut-location resolution.

Changes

  • Add an opt-in Keep Open-Shell start button at left edge (Windows 11) setting, disabled by default. The Open-Shell button can stay on the left while the native Windows Start button keeps its normal position, including centered alignment. It applies to the native Windows 11 taskbar, with English and German setting strings.
  • Preserve native Shell asynchronous drop negotiation instead of forcing synchronous operations. Keep the menu open without taking focus from transfer dialogs; refresh changed folders through Shell notifications while preserving menu selection and submenu placement. Restore dismissal when clicking the desktop after a transfer dialog has taken focus.
  • Initialize the drag preview from a copy of the cached icon with straight alpha, and restore its visibility above newly raised submenus through the visual drop helper. The actual file-operation drop target remains on its original STA.
  • Fix Open file location after 1e7a52a: resolve BHID_LinkTargetItem on the worker STA, obtain its target PIDL, and fall back to the original PIDL for non-links or unresolved links. This commit is cherry-picked from YellowNest/aaa8c635, preserving the original author. The separate shortcut-folder command retains its behavior.
  • Add a focused Visual Studio 2026 Start Menu solution, v145 selection with the existing v143 fallback for VS 2022, skin copying, and build instructions. Add an isolated native Shell-link regression test.

Validation

  • Rebased the custom source onto upstream master 9dfa7fa5c3614de15d0ff4f3eba7edd9e2dcbd24 in a separate checkout; all 12 feature source files match the locally tested version.
  • Visual Studio 2026 / MSVC v145, Release x64: successful build, 0 warnings, 0 errors. NuGet restored the JSON package but omitted its .targets import locally; the import was recovered from the restored package archive before building.
  • python tests/run_open_containing.py: 68 checks passed, using real Shell links, target binding and PIDL extraction. Only the final Explorer folder-selection call is intercepted. Covers Unicode/spaces/arguments, folder links, non-links, unresolved links, error propagation, STA execution and caller message pumping.
  • Local Windows 11 manual testing confirmed the drag-and-drop flow, menu refresh, desktop dismissal and drag preview behavior. Full UI verification of the later Open file location fix remains pending; a Windows 11 VM probe did not complete.
  • git diff --check passes. Toolset property evaluation selects v143 for VS 2022 and v145 for VS 2026. VS 2022 compilation, x86/ARM64 builds and installer packaging have not been run for this draft.

Built binaries, external language DLLs, the local deployment script and private machine paths are excluded. Release version numbering remains under the existing release scripts.

projektion0 and others added 5 commits October 17, 2026 23:59
Preserve native Shell async transfer negotiation, retain menus without stealing focus from transfer dialogs, and observe folder changes. Restore outside-click dismissal and keep the Shell drag preview visible above raised submenus.
@projektion0

Copy link
Copy Markdown
Author

Preserve native Shell asynchronous drop negotiation is implemented to have a bugfix for hanging copy dialog when moving folders via drag&drop in start menu and replacing files

@ge0rdi

ge0rdi commented Oct 18, 2026

Copy link
Copy Markdown
Member

It would be great to not mix new features and fixes (of existing ones) in single PR.
I'd suggest to separate Keep Open-Shell start button at left edge (Windows 11) into single PR.

Comment thread OpenShell-VS2026.sln

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.

I don't like adding another SLN file.
We can convert existing SLN to VS2026 (just explicitly save it once opened in VS2026).

That way it will be opened with VS2026 by default.
But it will still load in VS2022 (if VS2026 is not present).

We need to do official builds with VS2022 (due to Win7 support). But that will work fine even with SLN file saved by VS2026.

@ge0rdi

ge0rdi commented Oct 18, 2026

Copy link
Copy Markdown
Member

Please, add references to issues/discussions that given commit aims to fix.
So that we have information what was the problem we are fixing.

This branch has not been deployed

No deployments
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