What is the simplest a way to have the desktop wallpaper cycle through images that are in subfolders? This is not possible using the normal way of setting a wallpaper in

System Preferences --> Desktop & Screen Saver

The format of the images:

-> Folder one
--> one 1.jpg
--> one 2.jpg

-> Folder two
--> two 1.jpg
--> two 2.jpg
  • Do you want to cycle through images of a folder and it's subfolder at the same time? – gentmatt Mar 10 '12 at 15:24
  • All the images are in subfolders – user17866 Mar 12 '12 at 20:36
  • The Mac Screensaver won't use smartfolders in Mountain Lion (10.8.2). You can create the smartfolder... and you can actually select it in the drop down from the Screensaver, but when you do, all the files listed inside the Smartfolder are grayed out, as is the 'Choose' button. So, smartfolders don't work at this time. :( I am looking for another option, or a fix, for this as well, as it's driving me nuts that it doesn't work. I have over 5,000 pictures per year for about 10 years, so putting them into one folder isn't practical. And I don't want to use iPhoto... I use Picasa and like it much b – Cynthia Oct 12 '12 at 19:54

It looks like selecting multiple different folders for images for your Desktop or Screen Saver is not a native function. In other words, if you have a hierarchy of a main folder, Pictures, then underneath you have folders (for example) Family, Vacation, and Wedding, and you only want to display Family, and Vacation, there would be no way to do that. I think the simplest would be to create a folder with all the images you want on your Desktop/Screensaver.

  • 1
    Or create a smart folder that contains all the files from all subfolders so you don't have to duplicate anything. – Thomas Ploeger Aug 17 '12 at 10:48

I found a way!

You can use the terminal ln -s command to create soft links from all of the folders you want into a single folder.

For example, if these 3 directories have wallpapers located in ~/images1, ~/images2, ~/images3, and you want to use all of them as your wallpapers:

  1. Create a wallpaper directory somewhere: mkdir ~/wallpapers
  2. Create soft links of all the images from the 3 directories to the ~/wallpapers directory: ln -s ~/images1/*.jpg ~/wallpapers/, for one.

This isn't a real copy, since you're creating soft and not hard links. It'll barely take any space on your hard-drive.

There's a small catch, though: If you add new wallpapers to the directories, you need to link them manually. However, I believe this can be automated using AppleScript or Automator.


I slowly built a terminal command through trial and error and some Googling, exactly for this purpose. It will take all JPGS from a folder and it's subfolders and create symlinks in another directory which you will use to give to the desktop wallpaper chooser.

Be sure both directories exist first.

find "$dirPictures" -type f -iname "*.jpg" -print0 -exec ln -s {} "$dirTarget" ';'

You must log in to answer this question.