Open amsteel opened 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?
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}
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.
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']'
Does the command work if you just run it in terminal?
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.
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
That is the first command I tried. And test it again today. Not working.
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.
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
Maybe try the same command but without the 'file://' part in the file path? This answer seems to suggest that to me?
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.
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'
Nevermind you had already found a qdbus based command that was working? Or did it have some problem?
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.
Ok thanks, unfortunate. If you can find anything working we can look at adding support to superpaper.
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?
Describe the bug
Desktop (please complete the following information):
Logging / debugging contents: