⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠴⠶⠒⣒⡒⠒⠤⠄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡟⡀⠀⠀⠀⠀⠀⢠⡀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠑⠤⣀⠀⠁⠒⠄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣠⠆⢧⣀⡀⠀⠀⠀⣞⡇⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⣤⡀⠀⠀⠉⠐⠒⠂⠒⠒⠒⠂⠉⠁⠀⢸⠀⠸⡀⠀⠉⠒⢴⡋⢣⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⢿⣦⣄⣠⣤⣤⣤⣤⣤⣤⣀⣀⠀⣼⠀⠀⢣⠀⠀⠀⠀⣉⣺⡀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⠿⣿⣿⣿⣿⣿⣿⣿⣿⣾⠀⣀⠀⠓⠀⠀⠀⠹⠣⡱⡀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⠛⠻⣿⣿⣿⡀⢸⣷⣦⣤⣀⠀⠀⢣⢹⡇⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢱⠈⠛⣷⠀⢿⣿⣿⣿⣿⣶⠞⠚⠃⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⡒⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠳⣄⠈⠱⢦⣙⣿⣿⡿⢧⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣄⠳⡀⠀⠀⠀⣀⡀⠤⣤⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⣀⠼⠀⠀⠑⠢⠼⡀⠀⠈⠉⠉⠁⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣆⢈⡲⠒⠉⢀⡤⠊⠁⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣲⠤⠒⠈⠁⠀⠀⠀⠀⡤⠀⠈⣗⢄⡀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡿⢸⣿⣆⣰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠦⣄⡀⠀⠀⠀⠀⠀⡜⠀⠀⠀⠘⡀⠈⠢⡀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠞⠀⢀⣙⣟⠈⢆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣖⢤⡀⠀⠠⡃⠀⠀⠀⠀⢗⣒⡤⠜⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠔⠁⠀⣠⠎⠉⢻⣦⠈⠣⡀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⢀⠾⣿⡿⠟⠀⢰⢧⠀⠀⠀⠀⣻⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⡎⠀⠀⡴⠁⠀⠀⠀⠙⢷⡄⠘⢄⠀⠀⠀⢀⢤⣊⣁⣈⡉⠒⢴⡓⠋⠁⠀⠀⠀⢸⡄⢣⡀⠀⠀⡟⢤⡀⠀⠀⠀⠀⠀
⠴⠮⠭⢤⡀⠈⠑⢄⠀⠀⢸⠀⠀⡼⢁⣀⣀⣀⠀⠀⠈⠻⣆⠀⠳⠔⣪⣟⣭⠷⠛⠓⠛⠛⠶⠮⢿⣷⣂⡄⠀⢸⣷⡀⠑⠤⣼⡡⠔⠃⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠈⢆⠀⠀⠓⢐⠏⠀⡸⠁⠀⠀⠀⣀⠬⠓⠊⠉⣹⡗⢀⣶⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⢀⠞⠻⠁⠀⣼⣿⣷⣄⣸⣿⡄⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠈⢷⠄⢠⠊⠀⢰⠃⡀⠤⠒⣿⠅⠀⠀⠀⢰⠁⣰⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠳⢾⣷⠀⢸⢤⡤⠖⠉⠀⠀⠀⠀⢀⡎⠴⠻⠤⠤⢀⣀⠀⠀⣀⠀⠴⠎⠁⠀⠀⠀⢀⠀⠀⣿⣿⣿⢾⣽⡿⡇⠱⢄⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢘⣾⡄⣼⠁⠀⠀⠀⠀⠀⠀⠀⠘⢷⢦⣤⣤⣤⣤⣬⣱⣏⠀⠀⠀⠀⠀⠀⠀⠀⢸⠀⢠⣿⣾⣿⣯⣿⣿⡿⠀⠀⠉⣢⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢸⣚⡇⢼⢔⡦⢄⣀⠀⠀⠀⠀⠀⠸⣧⠺⣍⠉⣉⠀⠀⠘⡷⠄⠀⠀⠀⠀⠀⠀⡸⢁⣾⢯⣿⣟⡾⣽⣿⣇⠀⢴⣴⠋⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠸⣏⢧⠘⡄⠈⠒⠤⡉⠐⡄⠀⠀⣠⣻⢇⠻⣦⡀⠉⠁⠒⢸⣼⠀⠀⠀⠀⠀⡰⢃⣾⣿⣿⣿⣾⣽⣿⣿⣿⡄⢸⠁⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⡎⣧⠘⡄⠀⠀⠘⡷⠇⢠⢞⡯⡱⢎⣷⣶⣝⣦⣄⡀⡼⣿⠀⠀⠀⠀⣰⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⢸⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⡬⢳⡘⡄⠀⢀⣾⢞⡵⣋⢶⡽⠻⣿⣿⣿⡏⠉⡟⣹⡿⡀⠀⠀⠀⣿⡛⣿⡿⣿⣿⡟⠋⢻⣿⣿⣿⠀⠀⢧⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⡱⢛⡜⢦⣾⡵⣋⢶⡽⠋⠀⠀⢻⣿⡟⠀⣸⠀⣏⠇⡇⠀⠀⢀⡟⣿⣏⠶⣱⠏⠀⠀⢸⣿⡉⠛⢄⠀⠈⢆⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣷⢩⢞⣶⣾⡗⡿⣏⠀⢄⠉⠉⣿⡉⠀⠀⡇⠀⣟⠀⠈⠒⠐⣺⣏⢿⣿⣾⠃⠀⠀⠀⠘⡍⢷⡀⠀⠈⠒⢺⠄⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢟⣎⣾⣿⠻⡜⣇⠈⢧⡌⠀⢸⠁⢧⢀⣸⡇⠀⠹⡀⠀⢠⠞⢘⣧⣞⣻⡛⣧⠀⠀⠀⠀⢹⠀⡑⢄⠢⠤⡟⠘⡄⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡰⣣⠞⣬⠿⠚⢵⣍⢎⡳⣄⢳⡀⢹⠆⡾⠊⡇⠇⠀⢠⡇⠠⠟⢁⣼⡷⠋⠙⢷⣩⢧⡀⠀⠀⠀⣇⠘⡈⢆⠀⢻⠃⡶⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢀⡾⣚⣵⠟⠁⠀⠀⠀⠈⢹⢶⠭⣗⣵⡃⡸⡰⠋⡼⠀⠀⠀⠃⠀⡔⠉⠁⠀⠀⠀⠀⠙⠻⣧⡀⠀⠀⠘⡄⢣⠈⠆⠀⢰⠁⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠿⠓⠉⠀⠀⠀⠀⠀⠀⡰⠁⢸⠐⡄⠀⢠⡷⢁⠜⠀⠀⠀⣀⣴⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠁⠀⠀⠀⡷⢈⡆⠀⠀⡇⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡇⢠⣾⠀⢱⠀⣿⣧⠃⠀⠀⣠⢞⢿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣧⠸⠀⠀⣸⡇⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢳⣱⣇⠀⠈⡆⡇⣿⠀⣠⠚⣡⠏⡞⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡇⠀⡆⠀⡏⡇⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⡷⢪⣧⡀⢀⡇⢻⡇⠀⣴⢫⢱⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢧⠀⠇⢸⠀⣇⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⡥⡇⠱⣾⣇⠘⣷⣞⢣⢳⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢇⠈⡜⠀⢸⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⠃⠀⠈⢿⣆⢿⢧⢣⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢳⣷⠀⠘⡆⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢾⡜⣧⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢷⡀⢰⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣘⡃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣮⡇
Extensión de Raycast para cambiar de wallpaper en macOS (Apple Silicon) desde un grid con miniaturas reales — como un selector estilo rofi/wofi, pero nativo de Raycast.
wallpaper-presets/— extensión de Raycast que muestra tus wallpapers en un grid con miniaturas y los aplica con un Enter.
Sobre los widgets de las capturas: si ves widgets en pantalla en algún screenshot de este setup, esos son de Color Widgets, una app aparte de la App Store — no forman parte de este repo ni se instalan con él. Color Widgets es una app sandboxeada sin API, AppleScript ni URL scheme, así que no hay forma de automatizarla desde afuera; para guardar combos de widgets usa la función interna "Themes" de la propia app.
Todo esto está construido sobre Raycast en vez de una app propia porque:
- Es gratis para lo que usamos aquí (las extensiones no requieren plan Pro).
- Es transparente: las extensiones son código TypeScript/React normal, auditable, sin binarios ocultos.
- Reemplaza a Spotlight con un lanzador con esteroides y ya trae soporte nativo para correr comandos propios (extensiones) sin tener que escribir una app Swift desde cero.
- macOS (probado en Apple Silicon)
- Node.js
Descárgalo desde raycast.com e instálalo. Ábrelo al menos una vez para que quede corriendo en la barra de menú (lo vas a necesitar activo para los siguientes pasos).
Clona este repo o descarga solo esa carpeta. Adentro:
cd wallpaper-presets
npm install
npm run devnpm install trae las dependencias (@raycast/api, etc.) y npm run dev (que por debajo corre ray develop) compila la extensión, genera los tipos (raycast-env.d.ts, autogenerado — no lo edites a mano) y la registra en Raycast en modo desarrollo bajo el nombre "Set Wallpaper".
Déjalo corriendo: el comando solo existe en Raycast mientras ese proceso siga vivo. Si cierras la terminal o reinicias la Mac, tienes que volver a correr npm run dev.
mkdir -p ~/.config/desktop-presets/wallpapersMete ahí las imágenes que quieras usar como preset (jpg, png, heic o webp). El nombre del archivo es el título que se muestra en el grid.
Abre Raycast (⌥+Espacio) y busca "Set Wallpaper" — deberías ver el grid con las miniaturas.
Para no tener que pasar por el buscador de Raycast cada vez:
Raycast → Settings (⌘,) → Extensions → Wallpaper Presets → Set Wallpaper → Hotkey
Presiona la combinación que quieras (por ejemplo Shift+Cmd+Space, que no tiene uso por defecto en macOS) y listo — te abre el grid directo desde cualquier app.
desktop-presets/
└── wallpaper-presets/ # Extensión Raycast (TypeScript/React)
├── package.json
├── tsconfig.json
└── src/set-wallpaper.tsx
MIT


