hhannine / superpaper

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

Support for Deepin 20.3 and later #105

Open amsteel opened 2 years ago

amsteel commented 2 years ago

Describe the bug

  1. There is no code the handle DE 'deepin', so I changed general setting of this line: set_command=gsettings set com.deepin.wrap.gnome.desktop.background picture-uri {image}
  2. Superpaper runs ok but not changing the wallpaper. I have 3 monitors, tried simple span, advanced span and separate mode, The same results.

Desktop (please complete the following information):

Logging / debugging contents:

(superpaper:24784): GLib-GObject-CRITICAL **: 10:53:42.837: g_value_set_boxed: assertion 'G_VALUE_HOLDS_BOXED (value)' failed
use_hotkeys: True
hk_binding_next: ('control', 'super', 'w')
hk_binding_pause: ('control', 'super', 'shift', 'p')
WARNING: Horizontal and vertical PPI do not match! hor: 127.74852652259331, ver: 95.9160839160839
Display(resolution=(2560, 1080), digital_offset=(3840, 0), phys_size_mm=(509, 286), detected_phys_size_mm=(509, 286), ppi=None, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='Virtual3')
get_display_data output: NUM_DISPLAYS = 3, RES_ARR = [(1920, 1080), (1920, 1080), (2560, 1080)], OFF_ARR = [(0, 0), (1920, 0), (3840, 0)]
Display(resolution=(1920, 1080), digital_offset=(0, 0), phys_size_mm=(509, 286), detected_phys_size_mm=(509, 286), ppi=95.81139489194499, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='Virtual1')
Display(resolution=(1920, 1080), digital_offset=(1920, 0), phys_size_mm=(509, 286), detected_phys_size_mm=(509, 286), ppi=95.81139489194499, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='Virtual2')
Display(resolution=(2560, 1080), digital_offset=(3840, 0), phys_size_mm=(509, 286), detected_phys_size_mm=(509, 286), ppi=127.74852652259331, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='Virtual3')
config.sections: ['5276489838319703842']
DisplaySystem loaded: P.N.Offs: [(0, 0), (3507, 235), (6179, 446)], bezel_mms: [(0.0, 0.0), (0.0, 0.0), (0.0, 0.0)], user_diagonal_inches: [42.0, 32.0, 29.0], use_perspective: True, def_perspective: None
update_bezels: (0.0, 0.0)
update_bezels: (0.0, 0.0)
update_bezels: (0.0, 0.0)
Updating diagonal_inches
Updated PPI = 52.450170716245196 and phys_size_mm = (929.7967830044691, 523.010690440014) based on diagonal size: 42.0 inches
Display(resolution=(1920, 1080), digital_offset=(0, 0), phys_size_mm=(929.7967830044691, 523.010690440014), detected_phys_size_mm=(509, 286), ppi=52.450170716245196, ppi_norm_resolution=(2560, 1440), ppi_norm_offset=(0, 0), ppi_norm_bezels=(0.0, 0.0), perspective_angles=(0, 0), name='Virtual1')
Updated PPI = 68.84084906507182 and phys_size_mm = (708.4165965748336, 398.4843355733439) based on diagonal size: 32.0 inches
Display(resolution=(1920, 1080), digital_offset=(1920, 0), phys_size_mm=(708.4165965748336, 398.4843355733439), detected_phys_size_mm=(509, 286), ppi=68.84084906507182, ppi_norm_resolution=(2560, 1440), ppi_norm_offset=(3507, 235), ppi_norm_bezels=(0.0, 0.0), perspective_angles=(0, 0), name='Virtual2')
Updated PPI = 95.80995854792968 and phys_size_mm = (678.6768409619051, 286.3167922808037) based on diagonal size: 29.0 inches
Display(resolution=(2560, 1080), digital_offset=(3840, 0), phys_size_mm=(678.6768409619051, 286.3167922808037), detected_phys_size_mm=(509, 286), ppi=95.80995854792968, ppi_norm_resolution=(2560, 1080), ppi_norm_offset=(6179, 446), ppi_norm_bezels=(0.0, 0.0), perspective_angles=(0, 0), name='Virtual3')
START Listing profiles for menu.
hkBinding: ('control', 'super', 'shift', 'h')
Listed profile: example
hkBinding: ('control', 'super', 'shift', 'g')
Listed profile: example_multi
perspective preset: default
Listed profile: pro1
perspective preset: default
Listed profile: s1
END Listing profiles for menu.
read profile name from 'running_profile': pro1
perspective preset: default
WARNING: Horizontal and vertical PPI do not match! hor: 127.74852652259331, ver: 95.9160839160839
Display(resolution=(2560, 1080), digital_offset=(3840, 0), phys_size_mm=(509, 286), detected_phys_size_mm=(509, 286), ppi=None, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='Virtual3')
get_display_data output: NUM_DISPLAYS = 3, RES_ARR = [(1920, 1080), (1920, 1080), (2560, 1080)], OFF_ARR = [(0, 0), (1920, 0), (3840, 0)]
Display(resolution=(1920, 1080), digital_offset=(0, 0), phys_size_mm=(509, 286), detected_phys_size_mm=(509, 286), ppi=95.81139489194499, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='Virtual1')
Display(resolution=(1920, 1080), digital_offset=(1920, 0), phys_size_mm=(509, 286), detected_phys_size_mm=(509, 286), ppi=95.81139489194499, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='Virtual2')
Display(resolution=(2560, 1080), digital_offset=(3840, 0), phys_size_mm=(509, 286), detected_phys_size_mm=(509, 286), ppi=127.74852652259331, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='Virtual3')
config.sections: ['5276489838319703842']
DisplaySystem loaded: P.N.Offs: [(0, 0), (3507, 235), (6179, 446)], bezel_mms: [(0.0, 0.0), (0.0, 0.0), (0.0, 0.0)], user_diagonal_inches: [42.0, 32.0, 29.0], use_perspective: True, def_perspective: None
update_bezels: (0.0, 0.0)
update_bezels: (0.0, 0.0)
update_bezels: (0.0, 0.0)
Updating diagonal_inches
Updated PPI = 52.450170716245196 and phys_size_mm = (929.7967830044691, 523.010690440014) based on diagonal size: 42.0 inches
Display(resolution=(1920, 1080), digital_offset=(0, 0), phys_size_mm=(929.7967830044691, 523.010690440014), detected_phys_size_mm=(509, 286), ppi=52.450170716245196, ppi_norm_resolution=(2560, 1440), ppi_norm_offset=(0, 0), ppi_norm_bezels=(0.0, 0.0), perspective_angles=(0, 0), name='Virtual1')
Updated PPI = 68.84084906507182 and phys_size_mm = (708.4165965748336, 398.4843355733439) based on diagonal size: 32.0 inches
Display(resolution=(1920, 1080), digital_offset=(1920, 0), phys_size_mm=(708.4165965748336, 398.4843355733439), detected_phys_size_mm=(509, 286), ppi=68.84084906507182, ppi_norm_resolution=(2560, 1440), ppi_norm_offset=(3507, 235), ppi_norm_bezels=(0.0, 0.0), perspective_angles=(0, 0), name='Virtual2')
Updated PPI = 95.80995854792968 and phys_size_mm = (678.6768409619051, 286.3167922808037) based on diagonal size: 29.0 inches
Display(resolution=(2560, 1080), digital_offset=(3840, 0), phys_size_mm=(678.6768409619051, 286.3167922808037), detected_phys_size_mm=(509, 286), ppi=95.80995854792968, ppi_norm_resolution=(2560, 1080), ppi_norm_offset=(6179, 446), ppi_norm_bezels=(0.0, 0.0), perspective_angles=(0, 0), name='Virtual3')
running profile job with profile: pro1
Running wallpaper slideshow.
['/home/amsteel/hostshare/VMShare/WallPaper/1920x1200 [3516P][4.58GB]/00785_bodegagulch_1920x1200.jpg', '/home/amsteel/hostshare/VMShare/WallPaper/2880x1800 [1232P][4.67GB]/03342_lagunabeachsunset_2880x1800.jpg', '/home/amsteel/hostshare/VMShare/WallPaper/5120x3200 [242P][2.57GB]/03787_diamondpeaksunset_5120x3200.jpg']
hkBinding: ('control', 'super', 'shift', 'h')
Listed profile: example
hkBinding: ('control', 'super', 'shift', 'g')
Listed profile: example_multi
perspective preset: default
Listed profile: pro1
perspective preset: default
Listed profile: s1
Registering binding:                                 ('control', 'super', 'shift', 'h') for profile: example
Registering binding:                                 ('control', 'super', 'shift', 'g') for profile: example_multi
Registering binding:                                 None for profile: pro1
Registering binding:                                 None for profile: s1
use_hotkeys: True
hk_binding_next: ('control', 'super', 'w')
hk_binding_pause: ('control', 'super', 'shift', 'p')
WARNING: Horizontal and vertical PPI do not match! hor: 127.74852652259331, ver: 95.9160839160839
Display(resolution=(2560, 1080), digital_offset=(3840, 0), phys_size_mm=(509, 286), detected_phys_size_mm=(509, 286), ppi=None, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='Virtual3')
get_display_data output: NUM_DISPLAYS = 3, RES_ARR = [(1920, 1080), (1920, 1080), (2560, 1080)], OFF_ARR = [(0, 0), (1920, 0), (3840, 0)]
Display(resolution=(1920, 1080), digital_offset=(0, 0), phys_size_mm=(509, 286), detected_phys_size_mm=(509, 286), ppi=95.81139489194499, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='Virtual1')
Display(resolution=(1920, 1080), digital_offset=(1920, 0), phys_size_mm=(509, 286), detected_phys_size_mm=(509, 286), ppi=95.81139489194499, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='Virtual2')
Display(resolution=(2560, 1080), digital_offset=(3840, 0), phys_size_mm=(509, 286), detected_phys_size_mm=(509, 286), ppi=127.74852652259331, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='Virtual3')
config.sections: ['5276489838319703842']
DisplaySystem loaded: P.N.Offs: [(0, 0), (3507, 235), (6179, 446)], bezel_mms: [(0.0, 0.0), (0.0, 0.0), (0.0, 0.0)], user_diagonal_inches: [42.0, 32.0, 29.0], use_perspective: True, def_perspective: None
update_bezels: (0.0, 0.0)
update_bezels: (0.0, 0.0)
update_bezels: (0.0, 0.0)
Updating diagonal_inches
Updated PPI = 52.450170716245196 and phys_size_mm = (929.7967830044691, 523.010690440014) based on diagonal size: 42.0 inches
Display(resolution=(1920, 1080), digital_offset=(0, 0), phys_size_mm=(929.7967830044691, 523.010690440014), detected_phys_size_mm=(509, 286), ppi=52.450170716245196, ppi_norm_resolution=(2560, 1440), ppi_norm_offset=(0, 0), ppi_norm_bezels=(0.0, 0.0), perspective_angles=(0, 0), name='Virtual1')
Updated PPI = 68.84084906507182 and phys_size_mm = (708.4165965748336, 398.4843355733439) based on diagonal size: 32.0 inches
Display(resolution=(1920, 1080), digital_offset=(1920, 0), phys_size_mm=(708.4165965748336, 398.4843355733439), detected_phys_size_mm=(509, 286), ppi=68.84084906507182, ppi_norm_resolution=(2560, 1440), ppi_norm_offset=(3507, 235), ppi_norm_bezels=(0.0, 0.0), perspective_angles=(0, 0), name='Virtual2')
Updated PPI = 95.80995854792968 and phys_size_mm = (678.6768409619051, 286.3167922808037) based on diagonal size: 29.0 inches
Display(resolution=(2560, 1080), digital_offset=(3840, 0), phys_size_mm=(678.6768409619051, 286.3167922808037), detected_phys_size_mm=(509, 286), ppi=95.80995854792968, ppi_norm_resolution=(2560, 1080), ppi_norm_offset=(6179, 446), ppi_norm_bezels=(0.0, 0.0), perspective_angles=(0, 0), name='Virtual3')
hkBinding: ('control', 'super', 'shift', 'h')
Listed profile: example
hkBinding: ('control', 'super', 'shift', 'g')
Listed profile: example_multi
perspective preset: default
Listed profile: pro1
perspective preset: default
Listed profile: s1
use_hotkeys: True
hk_binding_next: ('control', 'super', 'w')
hk_binding_pause: ('control', 'super', 'shift', 'p')
Canvas size: [6400, 1080]
file:///home/amsteel/.cache/superpaper/temp/pro1-a.png
DESKTOP_SESSION is: 'deepin'
Formatted custom command is: '['gsettings', 'set', 'com.deepin.wrap.gnome.desktop.background', 'picture-uri', '/home/amsteel/.cache/superpaper/temp/pro1-a.png']'
use_hotkeys: True
hk_binding_next: ('control', 'super', 'w')
hk_binding_pause: ('control', 'super', 'shift', 'p')
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))
bezels_to_bitmap: bez_rects: ((0, 0), (0, 0))
bezels_to_bitmap: bez_rects: ((0, 0), (0, 0))
pro1
multi
True
600.0
shuffle
None
None
['/home/amsteel/hostshare/VMShare/WallPaper/1920x1200 [3516P][4.58GB];/home/amsteel/hostshare/VMShare/WallPaper/2560x1600 [2800P][6.71GB]', '/home/amsteel/hostshare/VMShare/WallPaper/2880x1800 [1232P][4.67GB];/home/amsteel/hostshare/VMShare/WallPaper/3840x2400 [1041P][6.54GB]', '/home/amsteel/hostshare/VMShare/WallPaper/6400x4000 [24P][416MB];/home/amsteel/hostshare/VMShare/WallPaper/5120x3200 [242P][2.57GB];/home/amsteel/hostshare/VMShare/WallPaper/3840x2400 [1041P][6.54GB]']
hkBinding: ('control', 'super', 'shift', 'h')
Listed profile: example
hkBinding: ('control', 'super', 'shift', 'g')
Listed profile: example_multi
perspective preset: default
Listed profile: pro1
perspective preset: default
Listed profile: s1
hkBinding: ('control', 'super', 'shift', 'h')
Listed profile: example
hkBinding: ('control', 'super', 'shift', 'g')
Listed profile: example_multi
perspective preset: default
Listed profile: pro1
perspective preset: default
Listed profile: s1
Unreg hotkey ('control', 'super', 'shift', 'p')
Unreg hotkey ('control', 'super', 'w')
Unreg hotkey ('control', 'super', 'shift', 'h')
Unreg hotkey ('control', 'super', 'shift', 'g')
hkBinding: ('control', 'super', 'shift', 'h')
Listed profile: example
hkBinding: ('control', 'super', 'shift', 'g')
Listed profile: example_multi
perspective preset: default
Listed profile: pro1
perspective preset: default
Listed profile: s1
Registering binding:                                 ('control', 'super', 'shift', 'h') for profile: example
Registering binding:                                 ('control', 'super', 'shift', 'g') for profile: example_multi
Registering binding:                                 None for profile: pro1
Registering binding:                                 None for profile: s1
perspective preset: default
onApply profile: saved /home/amsteel/.config/superpaper/profiles/pro1.profile
perspective preset: default
hkBinding: ('control', 'super', 'shift', 'h')
Listed profile: example
hkBinding: ('control', 'super', 'shift', 'g')
Listed profile: example_multi
perspective preset: default
Listed profile: pro1
perspective preset: default
Listed profile: s1
Start profile: pro1
Check if the starting profile is already running: pro1
name check: pro1, pro1
Running quick profile job with profile: pro1
quickswitch file lookup: ['pro1-b-crop-0.png', 'pro1-b-crop-1.png', 'pro1-a.png', 'pro1-b-crop-2.png']
file:///home/amsteel/.cache/superpaper/temp/pro1-b-crop-0.png
DESKTOP_SESSION is: 'deepin'
Formatted custom command is: '['gsettings', 'set', 'com.deepin.wrap.gnome.desktop.background', 'picture-uri', '/home/amsteel/.cache/superpaper/temp/pro1-b-crop-0.png']'
Starting timed profile job with profile: pro1
WARNING: Horizontal and vertical PPI do not match! hor: 127.74852652259331, ver: 95.9160839160839
Display(resolution=(2560, 1080), digital_offset=(3840, 0), phys_size_mm=(509, 286), detected_phys_size_mm=(509, 286), ppi=None, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='Virtual3')
get_display_data output: NUM_DISPLAYS = 3, RES_ARR = [(1920, 1080), (1920, 1080), (2560, 1080)], OFF_ARR = [(0, 0), (1920, 0), (3840, 0)]
Display(resolution=(1920, 1080), digital_offset=(0, 0), phys_size_mm=(509, 286), detected_phys_size_mm=(509, 286), ppi=95.81139489194499, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='Virtual1')
Display(resolution=(1920, 1080), digital_offset=(1920, 0), phys_size_mm=(509, 286), detected_phys_size_mm=(509, 286), ppi=95.81139489194499, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='Virtual2')
Display(resolution=(2560, 1080), digital_offset=(3840, 0), phys_size_mm=(509, 286), detected_phys_size_mm=(509, 286), ppi=127.74852652259331, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='Virtual3')
config.sections: ['5276489838319703842']
DisplaySystem loaded: P.N.Offs: [(0, 0), (3507, 235), (6179, 446)], bezel_mms: [(0.0, 0.0), (0.0, 0.0), (0.0, 0.0)], user_diagonal_inches: [42.0, 32.0, 29.0], use_perspective: True, def_perspective: None
update_bezels: (0.0, 0.0)
update_bezels: (0.0, 0.0)
update_bezels: (0.0, 0.0)
Updating diagonal_inches
Updated PPI = 52.450170716245196 and phys_size_mm = (929.7967830044691, 523.010690440014) based on diagonal size: 42.0 inches
Display(resolution=(1920, 1080), digital_offset=(0, 0), phys_size_mm=(929.7967830044691, 523.010690440014), detected_phys_size_mm=(509, 286), ppi=52.450170716245196, ppi_norm_resolution=(2560, 1440), ppi_norm_offset=(0, 0), ppi_norm_bezels=(0.0, 0.0), perspective_angles=(0, 0), name='Virtual1')
Updated PPI = 68.84084906507182 and phys_size_mm = (708.4165965748336, 398.4843355733439) based on diagonal size: 32.0 inches
Display(resolution=(1920, 1080), digital_offset=(1920, 0), phys_size_mm=(708.4165965748336, 398.4843355733439), detected_phys_size_mm=(509, 286), ppi=68.84084906507182, ppi_norm_resolution=(2560, 1440), ppi_norm_offset=(3507, 235), ppi_norm_bezels=(0.0, 0.0), perspective_angles=(0, 0), name='Virtual2')
Updated PPI = 95.80995854792968 and phys_size_mm = (678.6768409619051, 286.3167922808037) based on diagonal size: 29.0 inches
Display(resolution=(2560, 1080), digital_offset=(3840, 0), phys_size_mm=(678.6768409619051, 286.3167922808037), detected_phys_size_mm=(509, 286), ppi=95.80995854792968, ppi_norm_resolution=(2560, 1080), ppi_norm_offset=(6179, 446), ppi_norm_bezels=(0.0, 0.0), perspective_angles=(0, 0), name='Virtual3')
running profile job with profile: pro1
Running wallpaper slideshow.
Wrote active profile: pro1
['/home/amsteel/hostshare/VMShare/WallPaper/2560x1600 [2800P][6.71GB]/01921_nantucketsunset_2560x1600.jpg', '/home/amsteel/hostshare/VMShare/WallPaper/3840x2400 [1041P][6.54GB]/03893_superstitionmountains_3840x2400.jpg', '/home/amsteel/hostshare/VMShare/WallPaper/3840x2400 [1041P][6.54GB]/03476_midwayhorse_3840x2400.jpg']
Canvas size: [6400, 1080]
file:///home/amsteel/.cache/superpaper/temp/pro1-b.png
DESKTOP_SESSION is: 'deepin'
Formatted custom command is: '['gsettings', 'set', 'com.deepin.wrap.gnome.desktop.background', 'picture-uri', '/home/amsteel/.cache/superpaper/temp/pro1-b.png']'
amsteel commented 2 years ago

It seems the set-command is wrong. Here is a ref: https://bbs.deepin.org/en/post/176843

The command should be: qdbus --literal com.deepin.wm /com/deepin/wm com.deepin.wm.ChangeCurrentWorkspaceBackground "file:///~/xxx.jpg"

However I can't work it out on my multi-monitors config. Any comments?

hhannine commented 2 years ago

Does it work if you set the custom command to: qdbus --literal com.deepin.wm /com/deepin/wm com.deepin.wm.ChangeCurrentWorkspaceBackground "file:///{image}

Alternatively, does it work in the terminal if you run the command with a valid image file? So qdbus --literal com.deepin.wm /com/deepin/wm com.deepin.wm.ChangeCurrentWorkspaceBackground "file:///path/to/image.jpg

Edit: The above commands might have one too many / after file, so instead maybe file://{image}

amsteel commented 2 years ago

The command runs ok but the wall paper is not changing. Tried both file:/// and file://. I think file://{image} is correct and I can find the files under file:///home/amsteel/.cache/superpaper/temp/ It seems to me the command is not working any more.

Here is one output for file://{image}

onApply profile: saved /home/amsteel/.config/superpaper/profiles/pro1.profile perspective preset: default hkBinding: ('control', 'super', 'shift', 'h') Listed profile: example hkBinding: ('control', 'super', 'shift', 'g') Listed profile: example_multi perspective preset: default Listed profile: pro1 perspective preset: default Listed profile: s1 Start profile: pro1 Check if the starting profile is already running: pro1 name check: pro1, s1 Running quick profile job with profile: pro1 quickswitch file lookup: ['pro1-b-crop-0.png', 'pro1-b-crop-1.png', 'pro1-b.png', 'pro1-b-crop-2.png'] file:///home/amsteel/.cache/superpaper/temp/pro1-b-crop-0.png Starting timed profile job with profile: pro1 DESKTOP_SESSION is: 'deepin' Formatted custom command is: '['qdbus', '--literal', 'com.deepin.wm', '/com/deepin/wm', 'com.deepin.wm.ChangeCurrentWorkspaceBackground', '"file:///home/amsteel/.cache/superpaper/temp/pro1-b-crop-0.png']' [] WARNING: Horizontal and vertical PPI do not match! hor: 127.74852652259331, ver: 95.9160839160839 Display(resolution=(2560, 1080), digital_offset=(3840, 0), phys_size_mm=(509, 286), detected_phys_size_mm=(509, 286), ppi=None, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='Virtual3') get_display_data output: NUM_DISPLAYS = 3, RES_ARR = [(1920, 1080), (1920, 1080), (2560, 1080)], OFF_ARR = [(0, 0), (1920, 0), (3840, 0)] Display(resolution=(1920, 1080), digital_offset=(0, 0), phys_size_mm=(509, 286), detected_phys_size_mm=(509, 286), ppi=95.81139489194499, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='Virtual1') Display(resolution=(1920, 1080), digital_offset=(1920, 0), phys_size_mm=(509, 286), detected_phys_size_mm=(509, 286), ppi=95.81139489194499, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='Virtual2') Display(resolution=(2560, 1080), digital_offset=(3840, 0), phys_size_mm=(509, 286), detected_phys_size_mm=(509, 286), ppi=127.74852652259331, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='Virtual3') config.sections: ['5276489838319703842'] DisplaySystem loaded: P.N.Offs: [(0, 0), (3507, 235), (6179, 446)], bezel_mms: [(0.0, 0.0), (0.0, 0.0), (0.0, 0.0)], user_diagonal_inches: [42.0, 32.0, 29.0], use_perspective: True, def_perspective: None update_bezels: (0.0, 0.0) update_bezels: (0.0, 0.0) update_bezels: (0.0, 0.0) Updating diagonal_inches Updated PPI = 52.450170716245196 and phys_size_mm = (929.7967830044691, 523.010690440014) based on diagonal size: 42.0 inches Display(resolution=(1920, 1080), digital_offset=(0, 0), phys_size_mm=(929.7967830044691, 523.010690440014), detected_phys_size_mm=(509, 286), ppi=52.450170716245196, ppi_norm_resolution=(2560, 1440), ppi_norm_offset=(0, 0), ppi_norm_bezels=(0.0, 0.0), perspective_angles=(0, 0), name='Virtual1') Updated PPI = 68.84084906507182 and phys_size_mm = (708.4165965748336, 398.4843355733439) based on diagonal size: 32.0 inches Display(resolution=(1920, 1080), digital_offset=(1920, 0), phys_size_mm=(708.4165965748336, 398.4843355733439), detected_phys_size_mm=(509, 286), ppi=68.84084906507182, ppi_norm_resolution=(2560, 1440), ppi_norm_offset=(3507, 235), ppi_norm_bezels=(0.0, 0.0), perspective_angles=(0, 0), name='Virtual2') Updated PPI = 95.80995854792968 and phys_size_mm = (678.6768409619051, 286.3167922808037) based on diagonal size: 29.0 inches Display(resolution=(2560, 1080), digital_offset=(3840, 0), phys_size_mm=(678.6768409619051, 286.3167922808037), detected_phys_size_mm=(509, 286), ppi=95.80995854792968, ppi_norm_resolution=(2560, 1080), ppi_norm_offset=(6179, 446), ppi_norm_bezels=(0.0, 0.0), perspective_angles=(0, 0), name='Virtual3') running profile job with profile: pro1 Running wallpaper slideshow. Wrote active profile: pro1 ['/home/amsteel/hostshare/VMShare/WallPaper/2560x1600 [2800P][6.71GB]/02960_thesouthofrivendell_2560x1600.jpg', '/home/amsteel/hostshare/VMShare/WallPaper/3840x2400 [1041P][6.54GB]/03251_firebeach_3840x2400.jpg', '/home/amsteel/hostshare/VMShare/WallPaper/3840x2400 [1041P][6.54GB]/03346_laketahoe_3840x2400.jpg'] Canvas size: [6400, 1080] file:///home/amsteel/.cache/superpaper/temp/pro1-a.png DESKTOP_SESSION is: 'deepin' Formatted custom command is: '['qdbus', '--literal', 'com.deepin.wm', '/com/deepin/wm', 'com.deepin.wm.ChangeCurrentWorkspaceBackground', '"file:///home/amsteel/.cache/superpaper/temp/pro1-a.png']'

hhannine commented 2 years ago

Does the command work if you just run it in terminal?

amsteel commented 2 years ago

My DeepIn got updated to 20.4. The command it not working in terminal. Probably not because of the upgrade. I think the issue now is what the command should be.

hhannine commented 2 years ago

Could you test this command in the terminal to see if it works?

gsettings set com.deepin.wrap.gnome.desktop.background picture-uri /path/to/image

amsteel commented 2 years ago

That is the first command I tried. And test it again today. Not working.

hhannine commented 2 years ago

Are you running it straight in the terminal or through superpaper custom command? I'd like to know if it works directly in the terminal.

amsteel commented 2 years ago

in the terminal, using file:///home/... path to pic. gsettings set com.deepin.wrap.gnome.desktop.background picture-uri file:///home/amsteel/Pictures/Wallpaper/wolfgang-hasselmann-WrVvYxq11Yk-unsplash.jpg

hhannine commented 2 years ago

Maybe try the same command but without the 'file://' part in the file path? This answer seems to suggest that to me?

amsteel commented 2 years ago

I got the command from the same post, it was for a older version of deepin. It is the first command I tried. I tried without file, with absolute path, or just run the command in the dir where the pics are. None of them worked.

hhannine commented 2 years ago

Okay, thanks for the clarification. I looked a bit more into it and newer Deepin is using its own desktop environment DDE which is written in Qt (like KDE) and is using their on window manager dde-kwin, which might share functionality with kwin, the KDE wm. Unfortunately I've not seen any documentation on whether DDE is using a similar scripting API as KDE has.

Edit: The answer might be somewhat analogous to KDE, which uses this type of DBUS interface: kde commands

Could you see if Deepin has sometype of a DBUS config viewer application, and if it has, can you find any related configs? My KDE system has a 'Qt QDBusViewer'

hhannine commented 2 years ago

Nevermind you had already found a qdbus based command that was working? Or did it have some problem?

amsteel commented 2 years ago

I think the command is not working (any more). I tried the bash script from this post: https://bbs.deepin.org/en/post/176843. It did not change the wallpaper.

hhannine commented 2 years ago

Ok thanks, unfortunate. If you can find anything working we can look at adding support to superpaper.

hhannine commented 2 years ago

Help wanted: we need to find a way to set the wallpaper on Deepin programmatically / using a terminal command. Deepin is Qt based and it might be using a DBus interface but we don't have a working solution. Anyone capable of looking through Chinese documentation / discussion might be helpful since we have not found up to date solutions in English. Or maybe there is an "expert forum" where this could be asked?