rconradharris / reddit-background

Set your Linux and Mac OS X desktop background to images pulled from Reddit
101 stars 17 forks source link

Multi-monitor support broken: Only works on Desktop 1 even with `--desktop` option. #36

Open mturley opened 7 years ago

mturley commented 7 years ago

I'm seeing some odd behavior here. For context, I'm using a USB port replicator with DisplayLink drivers to use my mac on two external monitors and the built-in laptop screen as a 3-monitor layout. I'm running macOS 10.11.6.

OSX Spaces identifies the three screens as Desktop 1, Desktop 2 and Desktop 3. But, when I run reddit-background, no matter which options I pass, it will only download images into the Desktop 1 directory and only sets the wallpaper for Desktop 1. Running with --desktop 2 or --desktop 3 downloads a file to the Desktop 1 directory and applies it to Desktop 1. If I use --image-count 3, it will download 3 images to the Desktop 1 directory. If I use --desktop 2 --download-directory ~/Reddit\ Backgrounds/Desktop\ 2/ It will download an image to the directory ~/Reddit Backgrounds/Desktop 2/Desktop 1 and apply it to Desktop 1.

Weirdly, when I run it with --desktop 2 and --desktop 3 it does remove the old wallpapers on those desktops and replace them with an "empty" blue background color.

rconradharris commented 7 years ago

@mturley We're using /usr/sbin/system_profiler SPDisplaysDataType under-the-hood to discover what displays are available. Could you run that command manually and paste what it returns?

mturley commented 7 years ago

Hey, @rconradharris thanks for the reply. Sorry I didn't get around to this yet, and I'm at home away from my monitors. When I'm in the office tomorrow I'll get back to you.

mturley commented 7 years ago

@rconradharris here's my system_profiler output:

$ /usr/sbin/system_profiler SPDisplaysDataType
Graphics/Displays:

    AMD Radeon R9 M370X:

      Chipset Model: AMD Radeon R9 M370X
      Type: GPU
      Bus: PCIe
      PCIe Lane Width: x8
      VRAM (Total): 2048 MB
      Vendor: ATI (0x1002)
      Device ID: 0x6821
      Revision ID: 0x0083
      ROM Revision: 113-C5670E-777
      gMux Version: 4.0.20 [3.2.8]
      EFI Driver Version: 01.00.777

    Intel Iris Pro:

      Chipset Model: Intel Iris Pro
      Type: GPU
      Bus: Built-In
      VRAM (Dynamic, Max): 1536 MB
      Vendor: Intel (0x8086)
      Device ID: 0x0d26
      Revision ID: 0x0008
      gMux Version: 4.0.20 [3.2.8]
      Displays:
        Color LCD:
          Display Type: Retina LCD
          Resolution: 2880 x 1800 Retina
          Retina: Yes
          Pixel Depth: 32-Bit Color (ARGB8888)
          Mirror: Off
          Online: Yes
          Built-In: Yes

Looks like it only detects the one display. Strange and disconcerting that it is attached to the Intel graphics and not the Radeon GPU... hmm. Probably because I'm using displays attached to a USB port replicator.

mturley commented 7 years ago

Note that the one display that is reported above appears to be just the onboard macbook laptop screen (Display Type: Retina LCD). Neither of my attached monitors appear, even though the only one monitor that reddit-backround works for is one of the two USB-attached monitors.

mturley commented 7 years ago

Weird update, after running system_profiler a few more times, it looks like my one macbook display appears on the Radeon GPU sometimes, and the Intel Iris sometimes. Probably irrelevant to this issue.