hhannine / superpaper

A cross-platform multi monitor wallpaper manager.
MIT License
1.12k stars 46 forks source link

Black image for a display when spanning #73

Closed hhannine closed 3 years ago

hhannine commented 3 years ago

No those pics didn't appear as wallpapers at all. i deleted 2 profiles and the cache content, left running_profile. this is the content of the fresh cache

Originally posted by @kinoegit in https://github.com/hhannine/superpaper/issues/68#issuecomment-708910395

hhannine commented 3 years ago

@kinoegit Let's continue here. Is it correct that you have 2 full HD displays? It is the right one that always gets the black image?

  1. could you try simple span if it works?
  2. how about multi image with the same or separate images?
kinoegit commented 3 years ago

I've been busy at work.

  1. simple span works fine
  2. multi image with the same or separate images works fine too its only 'advanced span' that has that issue
hhannine commented 3 years ago

Good to hear, it's not KDE related then. Are you using perspective settings? If you are, does it work if you disable them? If it starts to work with them disabled, would you share the perspective settings you have entered?

If you are not using perspectives, would you list out all your advanced options?

kinoegit commented 3 years ago

advanced options

hhannine commented 3 years ago

Would you share the debug log when you apply with that?

kinoegit commented 3 years ago

superpaper -d:

/home/kinoe/.local/lib/python3.8/site-packages /home/kinoe/.config/superpaper /home/kinoe/.config/superpaper/profiles None None None None None None True use_hotkeys: True hk_binding_next: ('control', 'super', 'w') hk_binding_pause: ('control', 'super', 'shift', 'p') get_display_data output: NUM_DISPLAYS = 2, RES_ARR = [(1920, 1080), (1920, 1080)], OFF_ARR = [(0, 0), (1920, 0)] Display(resolution=(1920, 1080), digital_offset=(0, 0), phys_size_mm=(480, 270), detected_phys_size_mm=(480, 270), ppi=101.6, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='HDMI1') Display(resolution=(1920, 1080), digital_offset=(1920, 0), phys_size_mm=(530, 300), detected_phys_size_mm=(530, 300), ppi=92.01509433962264, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='DP1') config.sections: ['7609373442098865376'] DisplaySystem loaded: P.N.Offs: [(0.0, 54.08641975308642), (1922.148148148148, 0.0)], bezel_mmṣ: [(0.0, 0.0), (0.0, 0.0)], user_diagonal_inches: [21.7, 24.0], use_perspective: True, def_perspective: None update_bezels: (0.0, 0.0) update_bezels: (0.0, 0.0) Updating diagonal_inches Updated PPI = 101.51645945079716 and phys_size_mm = (480.39500455230905, 270.2221900606738) based on diagonal size: 21.7 inches Display(resolution=(1920, 1080), digital_offset=(0, 0), phys_size_mm=(480.39500455230905, 270.2221900606738), detected_phys_size_mm=(480, 270), ppi=101.51645945079716, ppi_norm_resolution=(1920, 1080), ppi_norm_offset=(0.0, 54.08641975308642), ppi_norm_bezels=(0.0, 0.0), perspective_angles=(0, 0), name='HDMI1') Updated PPI = 91.7877987534291 and phys_size_mm = (531.3124474311252, 298.8632516800079) based on diagonal size: 24.0 inches Display(resolution=(1920, 1080), digital_offset=(1920, 0), phys_size_mm=(531.3124474311252, 298.8632516800079), detected_phys_size_mm=(530, 300), ppi=91.7877987534291, ppi_norm_resolution=(2120, 1192), ppi_norm_offset=(1922.148148148148, 0.0), ppi_norm_bezels=(0.0, 0.0), perspective_angles=(0, 0), name='DP1') START Listing profiles for menu. hkBinding: ('alt', '2') perspective preset: disabled Listed profile: kinoe END Listing profiles for menu. read profile name from 'running_profile': kinoe hkBinding: ('alt', '2') perspective preset: disabled get_display_data output: NUM_DISPLAYS = 2, RES_ARR = [(1920, 1080), (1920, 1080)], OFF_ARR = [(0, 0), (1920, 0)] Display(resolution=(1920, 1080), digital_offset=(0, 0), phys_size_mm=(480, 270), detected_phys_size_mm=(480, 270), ppi=101.6, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='HDMI1') Display(resolution=(1920, 1080), digital_offset=(1920, 0), phys_size_mm=(530, 300), detected_phys_size_mm=(530, 300), ppi=92.01509433962264, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='DP1') config.sections: ['7609373442098865376'] DisplaySystem loaded: P.N.Offs: [(0.0, 54.08641975308642), (1922.148148148148, 0.0)], bezel_mmṣ: [(0.0, 0.0), (0.0, 0.0)], user_diagonal_inches: [21.7, 24.0], use_perspective: True, def_perspective: None update_bezels: (0.0, 0.0) update_bezels: (0.0, 0.0) Updating diagonal_inches Updated PPI = 101.51645945079716 and phys_size_mm = (480.39500455230905, 270.2221900606738) based on diagonal size: 21.7 inches Display(resolution=(1920, 1080), digital_offset=(0, 0), phys_size_mm=(480.39500455230905, 270.2221900606738), detected_phys_size_mm=(480, 270), ppi=101.51645945079716, ppi_norm_resolution=(1920, 1080), ppi_norm_offset=(0.0, 54.08641975308642), ppi_norm_bezels=(0.0, 0.0), perspective_angles=(0, 0), name='HDMI1') Updated PPI = 91.7877987534291 and phys_size_mm = (531.3124474311252, 298.8632516800079) based on diagonal size: 24.0 inches Display(resolution=(1920, 1080), digital_offset=(1920, 0), phys_size_mm=(531.3124474311252, 298.8632516800079), detected_phys_size_mm=(530, 300), ppi=91.7877987534291, ppi_norm_resolution=(2120, 1192), ppi_norm_offset=(1922.148148148148, 0.0), ppi_norm_bezels=(0.0, 0.0), perspective_angles=(0, 0), name='DP1') running profile job with profile: kinoe Running wallpaper slideshow. ['/home/kinoe/Wallpapers/Dualmonitor/abstract/9V4KAiV.jpeg'] get_ppi_norm_offsets: [(0, 57), (1920.0, 0)] get_ppi_norm_crops: [(0, 57, 1920, 1137), (1920, 0, 4044, 1194)] G_A_DSYS.use_perspective: True, prof.perspective: disabled hkBinding: ('alt', '2') perspective preset: disabled Listed profile: kinoe Registering binding: ('alt', '2') for profile: kinoe Canvas size: [3840, 1080] file:///home/kinoe/.cache/superpaper/temp/kinoe-a.png DESKTOP_SESSION is: '/usr/share/xsessions/plasma' Removing images matching with: 'kinoe-b-crop' use_hotkeys: True hk_binding_next: ('control', 'super', 'w') hk_binding_pause: ('control', 'super', 'shift', 'p') get_display_data output: NUM_DISPLAYS = 2, RES_ARR = [(1920, 1080), (1920, 1080)], OFF_ARR = [(0, 0), (1920, 0)] Display(resolution=(1920, 1080), digital_offset=(0, 0), phys_size_mm=(480, 270), detected_phys_size_mm=(480, 270), ppi=101.6, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='HDMI1') Display(resolution=(1920, 1080), digital_offset=(1920, 0), phys_size_mm=(530, 300), detected_phys_size_mm=(530, 300), ppi=92.01509433962264, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='DP1') config.sections: ['7609373442098865376'] DisplaySystem loaded: P.N.Offs: [(0.0, 54.08641975308642), (1922.148148148148, 0.0)], bezel_mmṣ: [(0.0, 0.0), (0.0, 0.0)], user_diagonal_inches: [21.7, 24.0], use_perspective: True, def_perspective: None update_bezels: (0.0, 0.0) update_bezels: (0.0, 0.0) Updating diagonal_inches Updated PPI = 101.51645945079716 and phys_size_mm = (480.39500455230905, 270.2221900606738) based on diagonal size: 21.7 inches Display(resolution=(1920, 1080), digital_offset=(0, 0), phys_size_mm=(480.39500455230905, 270.2221900606738), detected_phys_size_mm=(480, 270), ppi=101.51645945079716, ppi_norm_resolution=(1920, 1080), ppi_norm_offset=(0.0, 54.08641975308642), ppi_norm_bezels=(0.0, 0.0), perspective_angles=(0, 0), name='HDMI1') Updated PPI = 91.7877987534291 and phys_size_mm = (531.3124474311252, 298.8632516800079) based on diagonal size: 24.0 inches Display(resolution=(1920, 1080), digital_offset=(1920, 0), phys_size_mm=(531.3124474311252, 298.8632516800079), detected_phys_size_mm=(530, 300), ppi=91.7877987534291, ppi_norm_resolution=(2120, 1192), ppi_norm_offset=(1922.148148148148, 0.0), ppi_norm_bezels=(0.0, 0.0), perspective_angles=(0, 0), name='DP1') hkBinding: ('alt', '2') perspective preset: disabled Listed profile: kinoe bezels_to_bitmap: bez_rects: ((0, 0), (0, 0)) bezels_to_bitmap: bez_rects: ((0, 0), (0, 0)) bezels_to_bitmap: bez_rects: ((0, 0), (0, 0)) bezels_to_bitmap: bez_rects: ((0, 0), (0, 0)) kinoe advanced True 1800.0 shuffle None alt+2 ['/home/kinoe/Wallpapers/Dualmonitor/abstract'] hkBinding: ('alt', '2') perspective preset: disabled Listed profile: kinoe hkBinding: ('alt', '2') perspective preset: disabled Listed profile: kinoe Unreg hotkey ('control', 'super', 'shift', 'p') Unreg hotkey ('alt', '2') Unreg hotkey ('control', 'super', 'w') hkBinding: ('alt', '2') perspective preset: disabled Listed profile: kinoe Registering binding: ('alt', '2') for profile: kinoe hkBinding: ('alt', '2') perspective preset: disabled bezels_to_bitmap: bez_rects: ((0, 0), (0, 0)) bezels_to_bitmap: bez_rects: ((0, 0), (0, 0)) onApply profile: saved /home/kinoe/.config/superpaper/profiles/kinoe.profile hkBinding: ('alt', '2') perspective preset: disabled hkBinding: ('alt', '2') perspective preset: disabled Listed profile: kinoe Start profile: kinoe Check if the starting profile is already running: kinoe name check: kinoe, kinoe Running quick profile job with profile: kinoe quickswitch file lookup: ['kinoe-a-crop-0.png', 'kinoe-a.png', 'kinoe-a-crop-1.png'] Use wallpaper crop pieces: ['/home/kinoe/.cache/superpaper/temp/kinoe-a-crop-0.png', '/home/kinoe/.cache/superpaper/temp/kinoe-a-crop-1.png'] KDE: Using image piece list! Starting timed profile job with profile: kinoe get_display_data output: NUM_DISPLAYS = 2, RES_ARR = [(1920, 1080), (1920, 1080)], OFF_ARR = [(0, 0), (1920, 0)] Display(resolution=(1920, 1080), digital_offset=(0, 0), phys_size_mm=(480, 270), detected_phys_size_mm=(480, 270), ppi=101.6, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='HDMI1') Display(resolution=(1920, 1080), digital_offset=(1920, 0), phys_size_mm=(530, 300), detected_phys_size_mm=(530, 300), ppi=92.01509433962264, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='DP1') config.sections: ['7609373442098865376'] DisplaySystem loaded: P.N.Offs: [(0.0, 54.08641975308642), (1922.148148148148, 0.0)], bezel_mmṣ: [(0.0, 0.0), (0.0, 0.0)], user_diagonal_inches: [21.7, 24.0], use_perspective: True, def_perspective: None update_bezels: (0.0, 0.0) update_bezels: (0.0, 0.0) Updating diagonal_inches Updated PPI = 101.51645945079716 and phys_size_mm = (480.39500455230905, 270.2221900606738) based on diagonal size: 21.7 inches Display(resolution=(1920, 1080), digital_offset=(0, 0), phys_size_mm=(480.39500455230905, 270.2221900606738), detected_phys_size_mm=(480, 270), ppi=101.51645945079716, ppi_norm_resolution=(1920, 1080), ppi_norm_offset=(0.0, 54.08641975308642), ppi_norm_bezels=(0.0, 0.0), perspective_angles=(0, 0), name='HDMI1') Updated PPI = 91.7877987534291 and phys_size_mm = (531.3124474311252, 298.8632516800079) based on diagonal size: 24.0 inches Display(resolution=(1920, 1080), digital_offset=(1920, 0), phys_size_mm=(531.3124474311252, 298.8632516800079), detected_phys_size_mm=(530, 300), ppi=91.7877987534291, ppi_norm_resolution=(2120, 1192), ppi_norm_offset=(1922.148148148148, 0.0), ppi_norm_bezels=(0.0, 0.0), perspective_angles=(0, 0), name='DP1') running profile job with profile: kinoe Running wallpaper slideshow. ['/home/kinoe/Wallpapers/Dualmonitor/abstract/DrVm5mW.jpeg'] Wrote active profile: kinoe get_ppi_norm_offsets: [(0, 57), (1920.0, 0)] get_ppi_norm_crops: [(0, 57, 1920, 1137), (1920, 0, 4044, 1194)] G_A_DSYS.use_perspective: True, prof.perspective: disabled Canvas size: [3840, 1080] file:///home/kinoe/.cache/superpaper/temp/kinoe-b.png DESKTOP_SESSION is: '/usr/share/xsessions/plasma' Removing images matching with: 'kinoe-a-crop'

hhannine commented 3 years ago

Are you using user defined manual display diagonal sizes? Does it start to work if you disable those? Were the automatic detection values wrong?

kinoegit commented 3 years ago

starting app without overriding diagonal sizes doesn't fix the issue unfortunately

hhannine commented 3 years ago

Reset the display positions as well and save those before applying again?

kinoegit commented 3 years ago

OK how to reset the display positions?

hhannine commented 3 years ago

In advanced span mode in the lower right of the wallpaper preview panel is a button "Positions". Press that to show the position tools, and there is a button to Reset. Save after. image

kinoegit commented 3 years ago

Yes done, but to no avail

hhannine commented 3 years ago

Well that is really peculiar. Would you add a missing debugging print in your code and install it again like with the last fix?

In the file wallpaper_processing.py would add a line after line number 1247 like this: after the line: canvas_tuple_eff = tuple(compute_working_canvas(grp_crops)) add a debug print like this:

canvas_tuple_eff = tuple(compute_working_canvas(grp_crops))
sp_logging.G_LOGGER.info("canvas_tuple_eff: %s", canvas_tuple_eff)

and then install it like before. Then run with debug prints and post that?

kinoegit commented 3 years ago

Yes i will as soon as i have time to do it

kinoegit commented 3 years ago

Carried out your debug print mods in wallpaper_processing.py. Then after uninstalling superpaper (installed in userland), I ran python3 -m pip install . --user -U without errors, so it seems. But simply launching superpaper to run the app is not possible, even after restart, for there is no superpaper in /bin. So is there a (python?) command to launch modified superpaper? Maybe here's the problem because I did not uninstall the userland-app before I did the first modification, just to run superpaper the "normal" way

hhannine commented 3 years ago

Hmm it really should function identically to the PyPI installation. So you can't find it to run it now? Did the install succeed?

kinoegit commented 3 years ago

Yes it did, no errors reported. The menu entry is there but running it leads to error notification an running superpaper in terminal shows superpaper: command not found

hhannine commented 3 years ago

Maybe try uninstalling it once more so that the menu entry would clear out? Did you do a --user installation originally? Maybe chech ~/.local/bin if there's a superpaper binary in there? I think that's the place for a user installation.

kinoegit commented 3 years ago

Got it: /home/kinoe/.local/bin/superpaper -d:

/home/kinoe/.local/lib/python3.8/site-packages /home/kinoe/.config/superpaper /home/kinoe/.config/superpaper/profiles None None None None None None True use_hotkeys: True hk_binding_next: ('control', 'super', 'w') hk_binding_pause: ('control', 'super', 'shift', 'p') get_display_data output: NUM_DISPLAYS = 2, RES_ARR = [(1920, 1080), (1920, 1080)], OFF_ARR = [(0, 0), (1920, 0)] Display(resolution=(1920, 1080), digital_offset=(0, 0), phys_size_mm=(480, 270), detected_phys_size_mm=(480, 270), ppi=101.6, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='HDMI1') Display(resolution=(1920, 1080), digital_offset=(1920, 0), phys_size_mm=(530, 300), detected_phys_size_mm=(530, 300), ppi=92.01509433962264, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='DP1') config.sections: ['7609373442098865376'] DisplaySystem loaded: P.N.Offs: [(0.0, 56.00292813966181), (1920.1003933598336, 0.0)], bezel_mmṣ: [(0.0, 0.0), (0.0, 0.0)], user_diagonal_inches: None, use_perspective: True, def_perspective: None update_bezels: (0.0, 0.0) update_bezels: (0.0, 0.0) START Listing profiles for menu. hkBinding: ('alt', '2') perspective preset: disabled Listed profile: kinoe END Listing profiles for menu. read profile name from 'running_profile': kinoe hkBinding: ('alt', '2') perspective preset: disabled get_display_data output: NUM_DISPLAYS = 2, RES_ARR = [(1920, 1080), (1920, 1080)], OFF_ARR = [(0, 0), (1920, 0)] Display(resolution=(1920, 1080), digital_offset=(0, 0), phys_size_mm=(480, 270), detected_phys_size_mm=(480, 270), ppi=101.6, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='HDMI1') Display(resolution=(1920, 1080), digital_offset=(1920, 0), phys_size_mm=(530, 300), detected_phys_size_mm=(530, 300), ppi=92.01509433962264, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='DP1') config.sections: ['7609373442098865376'] DisplaySystem loaded: P.N.Offs: [(0.0, 56.00292813966181), (1920.1003933598336, 0.0)], bezel_mmṣ: [(0.0, 0.0), (0.0, 0.0)], user_diagonal_inches: None, use_perspective: True, def_perspective: None update_bezels: (0.0, 0.0) update_bezels: (0.0, 0.0) running profile job with profile: kinoe Running wallpaper slideshow. ['/home/kinoe/Wallpapers/Dualmonitor/abstract/9V4KAiV.jpeg'] get_ppi_norm_offsets: [(0.0, 56.00292813966181), (1920.1003933598336, 0.0)] get_ppi_norm_crops: [(0, 56, 1920, 1136), (1920, 0, 4040, 1192)] G_A_DSYS.use_perspective: True, prof.perspective: disabled canvas_tuple_eff: (4040, 1192) hkBinding: ('alt', '2') perspective preset: disabled Listed profile: kinoe Registering binding: ('alt', '2') for profile: kinoe Canvas size: [3840, 1080] file:///home/kinoe/.cache/superpaper/temp/kinoe-b.png DESKTOP_SESSION is: '/usr/share/xsessions/plasma' Removing images matching with: 'kinoe-a-crop'

kinoegit commented 3 years ago

It seems the cropped part of the wallpaper which is meant to be displayed on the right screen appears always on the wrong display, the left one and the black part always on the right screen

hhannine commented 3 years ago

Thank you, that is an important observation!

Would you try deleting the "display_systems.dat" file under ~/.config/superpaper and try to set the wallpaper again?

kinoegit commented 3 years ago

it also did not help :( even though i had deleted all profiles and had set a new one before i deleted ~/.config/superpaper/display_systems.dat-- no difference: same black right screen as before

hhannine commented 3 years ago

Well this is turning out to be a hard one to track down, I think we need more data. Would you do another edit adding more debug prints?

Again in the wallpaper_processing.py file, starting after line 1209, after the block:

    grp_crop_tuples = [[crop_tuples[index] for index in grp] for grp in spangroups]
    grp_res_array = [[RESOLUTION_ARRAY[index] for index in grp] for grp in spangroups]
    grp_persp_dat = group_persp_data(persp_dat, spangroups)

add the following block like so:

    grp_crop_tuples = [[crop_tuples[index] for index in grp] for grp in spangroups]
    grp_res_array = [[RESOLUTION_ARRAY[index] for index in grp] for grp in spangroups]
    grp_persp_dat = group_persp_data(persp_dat, spangroups)

    sp_logging.G_LOGGER.info("img_list: %s", img_list)
    sp_logging.G_LOGGER.info("spangroups: %s", spangroups)
    sp_logging.G_LOGGER.info("grp_crop_tuples: %s", grp_crop_tuples)
    sp_logging.G_LOGGER.info("grp_res_array: %s", grp_res_array)
    sp_logging.G_LOGGER.info("grp_persp_dat: %s", grp_persp_dat)
    sp_logging.G_LOGGER.info("DISPLAY_OFFSET_ARRAY: %s", DISPLAY_OFFSET_ARRAY)
kinoegit commented 3 years ago

/home/kinoe/.local/bin/superpaper -d

/home/kinoe/.local/lib/python3.8/site-packages /home/kinoe/.config/superpaper /home/kinoe/.config/superpaper/profiles None None None None None None True Enabled logging to file. Enabled logging to file. use_hotkeys: True use_hotkeys: True hk_binding_next: ('control', 'super', 'w') hk_binding_next: ('control', 'super', 'w') hk_binding_pause: ('control', 'super', 'shift', 'p') hk_binding_pause: ('control', 'super', 'shift', 'p') get_display_data output: NUM_DISPLAYS = 2, RES_ARR = [(1920, 1080), (1920, 1080)], OFF_ARR = [(0, 0), (1920, 0)] get_display_data output: NUM_DISPLAYS = 2, RES_ARR = [(1920, 1080), (1920, 1080)], OFF_ARR = [(0, 0), (1920, 0)] Display(resolution=(1920, 1080), digital_offset=(0, 0), phys_size_mm=(480, 270), detected_phys_size_mm=(480, 270), ppi=101.6, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='HDMI1') Display(resolution=(1920, 1080), digital_offset=(0, 0), phys_size_mm=(480, 270), detected_phys_size_mm=(480, 270), ppi=101.6, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='HDMI1') Display(resolution=(1920, 1080), digital_offset=(1920, 0), phys_size_mm=(530, 300), detected_phys_size_mm=(530, 300), ppi=92.01509433962264, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='DP1') Display(resolution=(1920, 1080), digital_offset=(1920, 0), phys_size_mm=(530, 300), detected_phys_size_mm=(530, 300), ppi=92.01509433962264, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='DP1') config.sections: ['7609373442098865376'] config.sections: ['7609373442098865376'] DisplaySystem loaded: P.N.Offs: [(0.0, 56.000000000000014), (1920.0000000000002, 0.0)], bezel_mmṣ: [(0.0, 0.0), (0.0, 0.0)], user_diagonal_inches: None, use_perspective: True, def_perspective: None DisplaySystem loaded: P.N.Offs: [(0.0, 56.000000000000014), (1920.0000000000002, 0.0)], bezel_mmṣ: [(0.0, 0.0), (0.0, 0.0)], user_diagonal_inches: None, use_perspective: True, def_perspective: None update_bezels: (0.0, 0.0) update_bezels: (0.0, 0.0) update_bezels: (0.0, 0.0) update_bezels: (0.0, 0.0) START Listing profiles for menu. START Listing profiles for menu. hkBinding: ('alt', '1') hkBinding: ('alt', '1') perspective preset: disabled perspective preset: disabled Listed profile: blob Listed profile: blob END Listing profiles for menu. END Listing profiles for menu. read profile name from 'running_profile': blob read profile name from 'running_profile': blob hkBinding: ('alt', '1') hkBinding: ('alt', '1') perspective preset: disabled perspective preset: disabled get_display_data output: NUM_DISPLAYS = 2, RES_ARR = [(1920, 1080), (1920, 1080)], OFF_ARR = [(0, 0), (1920, 0)] get_display_data output: NUM_DISPLAYS = 2, RES_ARR = [(1920, 1080), (1920, 1080)], OFF_ARR = [(0, 0), (1920, 0)] Display(resolution=(1920, 1080), digital_offset=(0, 0), phys_size_mm=(480, 270), detected_phys_size_mm=(480, 270), ppi=101.6, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='HDMI1') Display(resolution=(1920, 1080), digital_offset=(0, 0), phys_size_mm=(480, 270), detected_phys_size_mm=(480, 270), ppi=101.6, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='HDMI1') Display(resolution=(1920, 1080), digital_offset=(1920, 0), phys_size_mm=(530, 300), detected_phys_size_mm=(530, 300), ppi=92.01509433962264, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='DP1') Display(resolution=(1920, 1080), digital_offset=(1920, 0), phys_size_mm=(530, 300), detected_phys_size_mm=(530, 300), ppi=92.01509433962264, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='DP1') config.sections: ['7609373442098865376'] config.sections: ['7609373442098865376'] DisplaySystem loaded: P.N.Offs: [(0.0, 56.000000000000014), (1920.0000000000002, 0.0)], bezel_mmṣ: [(0.0, 0.0), (0.0, 0.0)], user_diagonal_inches: None, use_perspective: True, def_perspective: None DisplaySystem loaded: P.N.Offs: [(0.0, 56.000000000000014), (1920.0000000000002, 0.0)], bezel_mmṣ: [(0.0, 0.0), (0.0, 0.0)], user_diagonal_inches: None, use_perspective: True, def_perspective: None update_bezels: (0.0, 0.0) update_bezels: (0.0, 0.0) update_bezels: (0.0, 0.0) update_bezels: (0.0, 0.0) running profile job with profile: blob running profile job with profile: blob Running wallpaper slideshow. Running wallpaper slideshow. ['/home/kinoe/Wallpapers/Dualmonitor/abstract/wood.jpg'] ['/home/kinoe/Wallpapers/Dualmonitor/abstract/wood.jpg'] get_ppi_norm_offsets: [(0.0, 56.000000000000014), (1920.0000000000002, 0.0)] get_ppi_norm_offsets: [(0.0, 56.000000000000014), (1920.0000000000002, 0.0)] get_ppi_norm_crops: [(0, 56, 1920, 1136), (1920, 0, 4040, 1192)] get_ppi_norm_crops: [(0, 56, 1920, 1136), (1920, 0, 4040, 1192)] G_A_DSYS.use_perspective: True, prof.perspective: disabled G_A_DSYS.use_perspective: True, prof.perspective: disabled img_list: [<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=2560x1024 at 0x7F5403173F70>] img_list: [<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=2560x1024 at 0x7F5403173F70>] spangroups: [[0, 1]] spangroups: [[0, 1]] grp_crop_tuples: [[(0, 56, 1920, 1136), (1920, 0, 4040, 1192)]] grp_crop_tuples: [[(0, 56, 1920, 1136), (1920, 0, 4040, 1192)]] grp_res_array: [[(1920, 1080), (1920, 1080)]] grp_res_array: [[(1920, 1080), (1920, 1080)]] grp_persp_dat: [None] grp_persp_dat: [None] DISPLAY_OFFSET_ARRAY: [(0, 0), (1920, 0)] DISPLAY_OFFSET_ARRAY: [(0, 0), (1920, 0)] canvas_tuple_eff: (4040, 1192) canvas_tuple_eff: (4040, 1192) hkBinding: ('alt', '1') hkBinding: ('alt', '1') perspective preset: disabled perspective preset: disabled Listed profile: blob Listed profile: blob Registering binding: ('alt', '1') for profile: blob Registering binding: ('alt', '1') for profile: blob Canvas size: [3840, 1080] Canvas size: [3840, 1080] file:///home/kinoe/.cache/superpaper/temp/blob-a.png file:///home/kinoe/.cache/superpaper/temp/blob-a.png DESKTOP_SESSION is: '/usr/share/xsessions/plasma' DESKTOP_SESSION is: '/usr/share/xsessions/plasma' Removing images matching with: 'blob-b-crop' Removing images matching with: 'blob-b-crop'

hhannine commented 3 years ago

Figured it out! Thank you so much for collaborating with the testing. The issue was that you have the same resolutions in one spanning area, and the new spanning group code messed up the indices of your displays. This caused the latter display's image write the left display's piece of the image.

I have pushed a fix to github. You can test it by first stashing your local changes with git stash. Then pull the changes from the master repo with git pull and once that is done you can install it from your local copy like before. Does it work now?

kinoegit commented 3 years ago

Problem solved --great! Its working like a charm again! Thanks for your great work and your commitment. Its neat to learn and broaden my horizon at the same time helping to solve those issues