Skip to content

Instantly share code, notes, and snippets.

@willurd
Last active January 18, 2020 11:02
Show Gist options
  • Star 17 You must be signed in to star a gist
  • Fork 6 You must be signed in to fork a gist
  • Save willurd/5829224 to your computer and use it in GitHub Desktop.
Save willurd/5829224 to your computer and use it in GitHub Desktop.
Set the Desktop Background for all of your open Spaces in Mountain Lion
read -e IMAGE;
defaults write com.apple.desktop Background "{default = {ImageFilePath='$IMAGE'; };}"
killall Dock

Instructions

  1. Open Automator and create a new Service
  2. Set "Service receives selected" to "image files"
  3. Add a "Run Shell Script" action to the workflow, remove the default script contents, and paste the set-wallpaper.sh script into it
  4. Save as "Set as Wallpaper"

The service should then be available to you when right-clicking image files. Right-clicking an image file (png, jpg, etc) in the Finder and choosing "Set as Wallpaper" will set that image as the Desktop Background image for all open Spaces. No need to quit apps or delete Spaces!

You can use an app like Services Manager to organize your Finder context menus.

@frantzmiccoli
Copy link

If you are starting from a blank installation you need to change the background picture at least once per space (otherwise the entity don't exist in the SQLite database structure).

@stephantual
Copy link

Very useful - doesn't take care of the alignment settings but in itself a massive improvemnt over the dreadful process of having to go space by space :) Thank you! 👍

@TheFullResolution
Copy link

TheFullResolution commented Oct 7, 2018

Right now on Mojave, script corrupts desktoppicture.db - for now only fix is to delete this file from ~/Library/Application Support/Dock/

@Kondenko
Copy link

@TheFullResolution thanks for the warning! Have you found a script that works on Mojave?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment