Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

mission control - how do I change all my wallpapers

So Lion gives me the chance to have separate wallpapers per "space" or whatever we're calling them now. However, I don't really want to and the idea of changing 9 spaces wallpapers one at a time seems like a retrograde step not a move forward. Is there any way to change all of them at once?

MacBook, Mac OS X (10.7)

Posted on Jul 20, 2011 3:08 PM

Reply
Question marked as Best reply

Posted on Jul 23, 2011 4:57 PM

It is actually very easy to change all of the desktops at once to do that go to desktop 1 and change the wallpaper after that all futere desktops created will match the wallpaper of desktop one. With the exception of the desktops already created. You will have to change them manually. But if you just change desktop 1 (the main desktop) all future desktops will be the same. Hope this helped.

74 replies

Jun 19, 2012 11:53 AM in response to computerfox

I'm not going to download a dmg file when I know nothing about its contents. Do you have a page that talks about what your download does and how it does it? If not, can you please put one up and link to the disk image file from it? If you've found a better solution to this problem, I'd love to use it, but just downloading programs and executing them blindly is how Really Bad Things Happen (TM).

Jun 19, 2012 12:10 PM in response to vanRijn

I completely understand. Unfortunately since this isn't an open source project that I created I can not get too deep with the details. It simply runs a system call to set the wallpaper and then calls another system call that actually activates the changes. That's about it. I just think its kinda stupid to waste 5 to 10 minutes resetting spaces just to change my wallpaper.

Jul 2, 2012 2:36 AM in response to atlaz

Can I suggest an easier method. Which doesn't involve deleting existing desktops and having to relink the apps you have pinned. No adding an extra app that doesn't do anything you can't do yourself in 5 minutes. New desktops will have the default picture set as Desktop 1.


Open Safari or whatever your favorite browser is.

Open the picture you want for the desktop in the browser.

Move the browser to the desktop that you want use for that particular picture

Right click or two fingers on the trackpad and select "Use image as Desktop Picture" on the picture.

Jul 2, 2012 5:57 AM in response to virtualsj

This method has actually been mention quite a number of times, but please explain to me how moving Safari over to each desktop is easier than just using a two click application to change ALL of your desktop wallpapers....


I have a feeling that this thread isn't really going anywhere. Basically you have three methods:


1-Delete all desktops

2-Change each desktop individually

3-Write/use an app that does it for you


My opinion:


1-Option 1 should never be done and is a horrible solution

2-Even though you don't have to reset all your apps, you have to go through all the desktops inividually

3-Much better since with TWO CLICKS you can change ALL desktops

Jul 2, 2012 6:07 AM in response to computerfox

computerfox,


I don't want to get into a flame war. There are many ways to achieve the same task. In the end if the user is given multiple options it's really up to them on which method they care to choose. I applaud you for witing an app to achieve what you want but I think people are wary against putting apps on from untrusted sources. Not that I am in any way saying that you are not trust worthy.


Just out of curiosity have you written an app to switch between screen resolutions. For some time I was using cscreen and controlling it with applescript but alas it hasn't worked since going to Lion.

Jul 2, 2012 6:12 AM in response to virtualsj

It's all good man. You were just saying that you had a simpler solution and really was curious how that was simpler.


To change between resolutions? Can't you do that natively with settings->displays? Also, I tend to keep monitors on my toolbar so it's always there if I need to change resolutions. There's really no need to write a brand new app for that, if I understand you correctly....

Jul 2, 2012 7:11 AM in response to computerfox

computerfox wrote:


I completely understand. Unfortunately since this isn't an open source project that I created I can not get too deep with the details. It simply runs a system call to set the wallpaper and then calls another system call that actually activates the changes. That's about it. I just think its kinda stupid to waste 5 to 10 minutes resetting spaces just to change my wallpaper.


Seems pretty hefty at 100Mb for the download, in that case. 😕

Jul 2, 2012 7:47 AM in response to atlaz

atlaz wrote:


So Lion gives me the chance to have separate wallpapers per "space" or whatever we're calling them now. However, I don't really want to and the idea of changing 9 spaces wallpapers one at a time seems like a retrograde step not a move forward. Is there any way to change all of them at once?


You can do this in Terminal, if that doesn't scare you.


defaults write com.apple.desktop Background '{default = {ImageFilePath="/Library/Desktop\ Pictures/Lion.jpg"; };}'; killall Dock


If you copy the above command into Terminal and hit 'return', it should change all 9 of your desktops (or however many you've got) to the Lion.jpg. Of course, that's probably not what you want, but you can change it to the image you prefer just by changing the path between the quotes in {ImageFilePath="path to your file here" part.


Remember that if the folder name contains a space, like 'Desktop Pictures" you will need to put a \ before each space as in 'Desktop\ Pictures'. You can see this in the Lion example. If all the pictures you want to use are actually in the Desktop Pictures folder, then you can just copy the whole command above and just change the jpg name at the end (i.e., /Lion.jpg to /yourPic.jpg).


It shouldn't be that hard to write a simple Applescript to do this if anyone fancies experimenting, please share it here! 🙂

Jul 2, 2012 7:51 AM in response to computerfox

I was just thinking this morning that there must be an easier way to do this via command line or AppleScript or Python or something, and I found something that seems like it will work for my needs at http://stackoverflow.com/questions/431205/how-can-i-programatically-change-the-b ackground-in-mac-os-x


There are shell script examples and python examples that both work for me. Here's what I'm using, based on the python script Glen mentioned at http://stackoverflow.com/a/6738885/1496328. I've saved it to ~/bin/osxsetbackground.py and I pass it the filename of the picture I want to use as my background on all my desktops.


#!/usr/bin/env python


from appscript import *

import sys

import os


argv1 = sys.argv[1]

background = os.path.abspath(argv1)

print 'Changing all desktop backgrounds to: ', background


se = app('System Events')

desktops = se.desktops.display_name.get()

for d in desktops:

desk = se.desktops[its.display_name == d]

desk.picture.set(mactypes.File(background))

Jul 2, 2012 9:48 AM in response to atlaz

First, if we are all lucky Apple fixed this in Mountain Lion, so it may make sense at this point to just wait until that comes out. But I like the approach of a script to solve this.


A while back when I first got Lion and upon the suggestion of someone else (I think early in this thread), I changed all my desktop backgrounds to point to the same image that I placed in a stationary folder and I named that image "desktop.png". When I want to change the background on all my desktops, I simply rename and/or convert the new image to "desktop.png" and place it in the stationary folder overwritting the old image. Do a "Killall Dock" command in terminal and I am done.


This works well for me but I took that a bit further since I know my way around PhotoShop and FireWorks and created one large image in that folder with the same name, "desktop.png" only with multiple layers (each layer being one of my favorite backgrounds). I then just turned on a single layer of whichever image I want for my desktop and save that. Again doing the "Killall Desktop" to apply the changes. This works better, but there is a definite limit to how many layers you can have as desktop backgrounds before PS or FW starts to crash.


So I was thinking that it would be nice if there was a script that - each time I moved a new image into the stationary folder - renamed the image in the stationary folder automatically to desktop.png (or whatever all your desktops are pointing to) and then ran the "Killall Dock" command. Then it would simply be a matter of dragging the desired background image into the stationary folder and running the script.

mission control - how do I change all my wallpapers

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.