9

Is there any way to get a single wide desktop wallpaper to span a dual monitor setup in OS X?

1
  • 1
    Thanks for the program name. In case anyone else stumbles across this, MultiScape can be found on Github github.com/robbiet480/multiscape
    – user114301
    Jan 19, 2012 at 3:09

5 Answers 5

5

Without splitting the image by hand into two halves (one for each monitor)? Not currently.

3

The Mac App Store app Multi Monitor Wallpaper worked perfectly for me, despite my rather unusual display configuration:

  • MacBook Pro (2017, 15")
  • Four external monitors (5 total monitors)
  • Combination of retina (built-in screen) and non-retina (all 4 externals) displays
  • 4 of the monitors are side-by-side, while the 5th is positioned on top of (above) the others
  • One of the external monitors is in portrait orientation (other 4 in standard landscape orientation)

Multi Monitor Wallpaper shows you an outline of your combined monitor layout, and allows you to stretch / zoom / reposition your selected image across the monitors.

It then automatically handles cutting up the image and setting it as the background image for each monitor.

I have no affiliation with the app; I'm just a fan!

4
  • This app cost $2.99 as of this comment
    – jgawrych
    Oct 16, 2018 at 21:12
  • It is now $10USD per year!
    – muzzamo
    May 10, 2020 at 22:45
  • 1
    Disgusting, and hilarious at the same time. Nobody needs to be paying a subscription for putting an image on the background of their desktop. Absurd.
    – Volte
    Jul 17, 2021 at 17:14
  • It $16/year now. I agree, it's absurd to pay a subscription for setting a wallpaper.
    – Jan Groth
    Jul 18, 2021 at 5:02
2

Their is a program called Multiscape that would automatically do what Chealion explained by getting your screen dimensions and automatically sizing and splitting the wallpaper. Although the google code page is down. If you want to go on a treasure hunt Multiscape is what you're after.

2

Adding a follow up here so it ends up on the google indexes. I have a way to make this work for static and dynamic backgrounds using some open source tools

Prerequisites

  • You'll need Homebrew unless you're ready to do a lot of ./configure && make && make install
  • The base prereq: imagemagick >= 7.0.8-50 (i.e., brew install imagemagick)
  • For dynamic desktops you'll need Xcode (App Store), wallpapper, and jq (i.e., brew tap mczachurski/wallpapper && brew install wallpapper jq)

Steps: I'm using Catalina.heic and .tiff outputs for an example here but it can be any image format for inputs and output

  1. Make a directory for your images - mkdir -p ~/Library/Desktop\ Pictures/Catalina\ {Left,Right}

  2. Extract the right and left images (left will be zero or even, and right will be odd) - convert /System/Library/Desktop\ Pictures/Catalina.heic -crop 2x1@ +repage ~/Library/Desktop\ Pictures/Catalina%d.tiff

  3. If you're just wanting a static background you can skip to step 7 (left image will be Catalina0.<ext> and right will be Catalina1.<ext>)

  4. We need to extract the azimuth and altitude from the original image (technically you could use mp4box but it's overkill) - cd ~/Library/Desktop\ Pictures; cat /System/Library/Desktop\ Pictures/Catalina.heic | grep -aoP '(?<=apple_desktop:solar=")[^"]+' | base64 -d | plutil -convert json -; cd -

    • If this command fails, you may need to install GNU Grep to handle the -P option. Install with brew install grep—it will be installed as ggrep by default.
  5. We need to convert the output to something that wallpapper understands

    • Right: cat ~/Library/Desktop\ Pictures/\<stdin\> | jq '.ap.d as $d|.ap.l as $l|.si|map({fileName:"Catalina\((.i*2)+1).tiff",altitude:.a,azimuth:.z})|(.[$d]["isForDark"]=true)|(.[$l]["isForLight"]=true)|(.[0]["isPrimary"]=true)' > ~/Library/Desktop\ Pictures/right.json
    • Left: cat ~/Library/Desktop\ Pictures/\<stdin\> | jq '.ap.d as $d|.ap.l as $l|.si|map({fileName:"Catalina\(.i*2).tiff",altitude:.a,azimuth:.z})|(.[$d]["isForDark"]=true)|(.[$l]["isForLight"]=true)|(.[0]["isPrimary"]=true)' > ~/Library/Desktop\ Pictures/left.json
  6. Now we can just get wallpapper to create the files we need: for side in Left Right; wallpapper -i ~/Library/Desktop\ Pictures/${side:l}.json -o ~/Library/Desktop\ Pictures/Catalina\ ${side}/Catalina.heic

  7. Now just add the files as desktop backgrounds (open ~/Library/Desktop\ Pictures will open the directory in Finder.app for you)

1
  • Doesn't seem to work with the .madesktop format Apple is using these days (step 2 gives convert: must specify image size `/var/folders/19/dj4gh90n7vl9578xxdt0h5mm0000gp/T/magick-u-7BuFCGfDWsXoVnj53eab7CUGrNV54y' @ error/mvg.c/ReadMVGImage/186.). Do you have an idea on how to deal with .madesktop wallpapers?
    – sampleuser
    Jul 28, 2022 at 17:00
2

Adding to this thread for future folks who land here from search. I found this reddit post which lists some options. Notably:

  • Fresco - free on Mac app store. I tried it and it worked well.
  • Superpaper - Open source and cross-platform (though it says it hasn't been tested on Mac, I didn't try).
1
  • Just tried Fresco. Works perfectly
    – Wildcard27
    Aug 21, 2023 at 5:03

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .