microsoft / microsoft/PowerToys
CmdPal: Support background image rotation from a folder
- Dominant language
- C
- Stars
- 139k
- Forks
- 8.6k
- PR merge metrics
- PR metrics pending
Description
## Description of the new feature / enhancement
Allow Command Palette's background image setting to accept a **folder path** in addition to a single file. When a folder is provided, Command Palette picks a random image from that folder each time it's activated.
This could be implemented as:
- Extending `BackgroundImagePath` to detect folder vs file
- Or adding separate settings like `BackgroundImageFolder` + `BackgroundImageShuffle` toggle
## Scenario when this would be used?
Users who want visual variety in their Command Palette — similar to how Windows desktop wallpaper supports **slideshow from folder** (screenshot below).
I use a pool of cat images and want a different one each time I open Command Palette. Currently the only workaround is an external script that modifies `settings.json` on a timer to trigger hot-reload, since Command Palette caches the image in memory after the first load. A native implementation would be much cleaner and could live alongside the existing Personalization > Background settings (opacity, blur, brightness, fit).
## Supporting information
Windows desktop has had folder-based wallpaper slideshow for years (see screenshot reference). Terminal emulators like iTerm2 also support this pattern. The infrastructure is mostly in place — Command Palette already hot-reloads settings.json and has a full background image pipeline. This would be a natural extension of the Personalization page.
Contributor guide
Research direction
Start by locating Command Palette's Personalization background settings and the existing BackgroundImagePath handling. Trace activation, image caching, and settings hot-reload behavior; done should include folder selection, random image choice on each activation, and compatibility with the existing background options.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100