microsoft / microsoft/PowerToys

CmdPal: Support background image rotation from a folder

Open
#45,879 1 comment 0 reactions 0 assignees View on GitHub
CmdPal-HostUX Product-Command Palette
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.

Image

Contributor guide

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.