microsoft / microsoft/PowerToys

Hotkey to advance the wallpaper slideshow on the monitor under the cursor

Open
#48,862 0 comments 0 reactions 0 assignees View on GitHub
Needs-Triage
Dominant language
C
Stars
139k
Forks
8.6k
PR merge metrics
PR metrics pending

Description

### Description of the new feature / enhancement

If your desktop background is a slideshow, the only way to skip to the next image is right-click desktop, "Next desktop background". There's no keyboard shortcut, and on multiple monitors it always changes one screen in a fixed order, not the one you want.

I'd like a configurable hotkey that advances the slideshow on the monitor under the mouse cursor. That's it for the core feature.

It should be easy: Windows already has `IDesktopWallpaper::AdvanceSlideshow(monitorId, forward)`, which can target a specific monitor. Get the cursor position, find the monitor, call the API. No extra state to store, Windows still owns the folder, order and shuffle.

Where should this live? I'd rather ask than assume. Maybe a small new utility, maybe part of LightSwitch, maybe a Command Palette command. Happy to send a PR once you tell me the preferred home.

### Scenario when this would be used?

Mainly presenting and screen sharing. I run my own photos as a slideshow across 3 monitors. Sometimes the current image doesn't fit what I'm showing, and I want to jump to the next one on that specific screen fast.

Right now that means grabbing the mouse, opening the context menu, and clicking "Next desktop background" a few times until the right monitor changes. One keypress would make it instant.

### Supporting information

This is the small, doable core of #36221. That issue bundles it with much bigger ideas (per-monitor presets, AI image filtering), so I'm pulling out just the hotkey part to keep it triable. The rest stays out of scope here.

Why it can't be done today: the context menu calls advance without a monitor argument, so it can't target the screen under the cursor, even though the API supports it.

API: `IDesktopWallpaper::AdvanceSlideshow(monitorId, forward)` plus `GetMonitorDevicePathAt` to find the monitor under the cursor. Stable since Windows 8. No own state, reuses the existing hotkey and settings infrastructure.

Contributor guide

Open the contributing guide

Research direction

Start by tracing the existing desktop context-menu slideshow command and the existing hotkey and settings infrastructure. Check how the cursor position maps to a monitor, then verify the Windows APIs named in the issue. Done means a configurable hotkey advances only the slideshow on the monitor under the cursor without adding application state.

Written by the indexing model from the issue text.

Assessment

Domain
desktop, operating-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.