Repository navigation
Mouse Jump settings: render preview from Windows wallpaper with acrylic taskbar - #51128
Niels Laute (niels9001) wants to merge 4 commits into
Conversation
Replace the pixel-art MouseJump-Desktop.png preview source with a fake two-screen desktop rendered from the user's wallpaper, with a Windows 11 style acrylic taskbar, and copy regions with high-quality bicubic sampling. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Niels Laute (@niels9001) - I know it's only a Draft PR at present, but I've pulled it locally and it looks really good :-) In case you were looking at improving the current "Win 3.11"-style bezels as well, I've been doing a bit of work to sync some new rounded corners with smoother highlight and shadow rendering down from FancyMouse - it's a work in progress at the moment but the ticket (and a first PR) is here for reference so we don't accidentally duplicate effort: |
… card - Replace the Segmented control and 'Copy to Custom' button with a ComboBox in the expander header (renamed 'Preview style') - Always show the style settings; picking a preset loads its values, and editing any setting switches to Custom - Thumbnail size card: generic description, value shown as secondary text next to the edit button Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Michael Clayton (@mikeclayton) Yeah we got some pointers from the design team to tweak a few things to have it be more inline with the overall Settings UX guidance, hence this PR 😁. This PR is ready for review.. if it makes more sense to merge it into your PR, please let me know! |
🧭 PR intakeVisual evidence: Required — The pull request changes product UI files, so reviewers need to see the visible result. Visual evidence was detected in the PR description. Recommendation
✅ Ready for reviewThis PR passed the automated intake checks and is ready for maintainer review. Automated PR intake; PowerToys maintainers make final decisions. |
The Panels folder only contained MouseJumpPanel. Move it next to the other Settings controls, update the namespace, page xmlns, csproj entry, search index scan list and dev docs. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Niels Laute (@niels9001) - I'd just merge yours tbh to get it shipped. Mine is in 2 parts and includes some fairly big changes to the internals to properly support WinUI controles (rather than rending single combined bitmap) and it's got some performance gains as well, so I think it'll have some merge conflicts that will need dealing with. Better to sneak yours in first and then I'll deal with and conflicts in mine... I did make a mock-up of what the "Bezelled" style would look like with your change and mine both deployed though:
|

Summary of the Pull Request
Refreshes the Mouse Jump settings in Settings > Mouse utilities:
MouseJump-Desktop.png) is replaced by one generated from the user's Windows wallpaper, with a Windows 11 style acrylic taskbar drawn on top. It is also sampled at higher quality, so it looks crisp.PR Checklist
Detailed Description of the Pull Request / Additional comments
Preview image
Helpers/MouseJumpPreviewDesktop.csbuilds a cached fake two-screen desktop (960×540 primary, 576×360 secondary, bottom-aligned):SPI_GETDESKWALLPAPERand is cover-fitted per screen.COLOR_DESKTOP. If the wallpaper file can't be loaded, it falls back to the bundledAssets\Settings\Modules\Wallpaper.png.SystemUsesLightTheme. It shows a Start logo, monochrome app icons and tray/clock placeholders.Helpers/SmoothImageRegionCopyService.cs: anIImageRegionCopyServicethat uses HighQualityBicubic. The built-in nearest-neighbour copier aliases photos.MouseUtilsViewModel_MouseJump.cs: now uses the generated desktop and copy service. It no longer loads the PNG through a Lazy that was recreated on every access.Images/MouseJump-Desktop.pngand itsEmbeddedResource.GetSysColorandCOLOR_DESKTOPP/Invoke toNativeMethods.The Compact, Bezelled and Custom preview styles still render through the existing Mouse Jump
DrawingHelper, so their borders and bezels still match the real Mouse Jump UI.Preview style and thumbnail size UI (
MouseJumpPanel.xaml/.cs)PropertyChangedon the view model for the 12 style properties, and ignores changes while it is applying a preset.W × H) shown in secondary text, and the edit button next to it.Project layout
MouseJumpPanel.xaml/.csfrom theSettingsXAML\Panelsfolder, where it was the only file, toSettingsXAML\Controls\MouseJump. The namespace is nowMicrosoft.PowerToys.Settings.UI.Controls. Updated the page xmlns, the.csprojentry, the XamlIndexBuilder scan list (Panels→Controls) and the dev docs.Validation Steps Performed
tools\build\build.cmdinsrc\settings-ui\Settings.UI(arm64 Debug): passed with exit code 0 and an empty errors log, for each commit.LayoutHelper/DrawingHelperpipeline in a scratch harness. Both checked visually.SettingsXAMLafter the move. All 15MouseUtils_MouseJump_*entries are still indexed and mapped toMouseUtilsPage.PowerToys.Settings.exeand opened Mouse utilities > Mouse Jump.