hhannine / superpaper

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

Slideshow transitions to black #60

Closed T-Quill closed 4 years ago

T-Quill commented 4 years ago

I'm on Ubuntu 20.04, running Gnome, just installed Superpaper yesterday. It's working after I added feh to the set-command line, and I'm not seeing any error messages (besides a warning about my pixels being off), but when I run Superpaper as a slidehow every other change is black for both monitors. I fed Superpaper a folder of pics, and I told it to shuffle each pic so my two monitors would be independently random images from that folder, but when it transitions to the next image or I say 'next wallpaper' both screens become black. If I hit 'next wallpaper' again they'll load random images as they should. But then if I hit 'next wallpaper' again they'll be black again, and so on. Basically it's random:random (next) black:black (next) random:random (next) black:black. I'm not sure what's going on. I'd appreciate any help you guys can give (preferably in a dummy voice, since I've only just switched from Windows and am very basic). Is this something with feh I need to fix? Thanks.

hhannine commented 4 years ago

Was it not working on gnome without using Feh? It should work out of the box. Are you using the appimage?

hhannine commented 4 years ago

Try running it with the debugging flag -d and report if you get errors?

T-Quill commented 4 years ago

Hi! Yeah, I'm using the appimage. I remember when I installed it it kept crashing on me, and I think it was installing Feh that fixed it. Okay, I opened a terminal and ran it with a -d after the command, and here's what I noticed. I also cut and pasted the lines below, just in case that'd be helpful.

-For this run, the profile "study" that shows a black screen with every other transition, I clicked 'next wallpaper' a few times and noticed that the black screen is always with the terminal lines -b in .cache, but the -a image in .cache works -one profile "study" is black screen every other like I said, but I just noticed another profile "general" is always black screen whether it's -a or -b in .cache. With both profiles I see a warning that my horizontal and vertical PPI do not match, and for both it says load_system: archive_file not found: /home/nicholas/.config/superpaper/display_systems.dat I'm not really noticing any errors in the second "general" profile that weren't there in the first "study" profile. Any help you can give would be really appreciated.

nicholas@N-MS-7C02:~$ superpaper -d /home/nicholas/.local/lib/python3.8/site-packages /home/nicholas/.config/superpaper /home/nicholas/.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') WARNING: Horizontal and vertical PPI do not match! hor: 62.52307692307692, ver: 57.15 WARNING: Horizontal and vertical PPI do not match! hor: 62.52307692307692, ver: 57.15 Display(resolution=(1280, 720), digital_offset=(1360, 0), phys_size_mm=(520, 320), detected_phys_size_mm=(520, 320), ppi=None, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='DVI-D-0') Display(resolution=(1280, 720), digital_offset=(1360, 0), phys_size_mm=(520, 320), detected_phys_size_mm=(520, 320), ppi=None, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='DVI-D-0') get_display_data output: NUM_DISPLAYS = 2, RES_ARR = [(1360, 768), (1280, 720)], OFF_ARR = [(0, 0), (1360, 0)] get_display_data output: NUM_DISPLAYS = 2, RES_ARR = [(1360, 768), (1280, 720)], OFF_ARR = [(0, 0), (1360, 0)] Display(resolution=(1360, 768), digital_offset=(0, 0), phys_size_mm=(484, 272), detected_phys_size_mm=(484, 272), ppi=71.37190082644628, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='HDMI-0') Display(resolution=(1360, 768), digital_offset=(0, 0), phys_size_mm=(484, 272), detected_phys_size_mm=(484, 272), ppi=71.37190082644628, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='HDMI-0') Display(resolution=(1280, 720), digital_offset=(1360, 0), phys_size_mm=(520, 320), detected_phys_size_mm=(520, 320), ppi=62.52307692307692, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='DVI-D-0') Display(resolution=(1280, 720), digital_offset=(1360, 0), phys_size_mm=(520, 320), detected_phys_size_mm=(520, 320), ppi=62.52307692307692, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='DVI-D-0') load_system: archive_file not found: /home/nicholas/.config/superpaper/display_systems.dat load_system: archive_file not found: /home/nicholas/.config/superpaper/display_systems.dat START Listing profiles for menu. START Listing profiles for menu. hkBinding: ('control', 'super', 'g') hkBinding: ('control', 'super', 'g') perspective preset: default perspective preset: default Listed profile: General Listed profile: General hkBinding: ('control', 'super', 's') hkBinding: ('control', 'super', 's') perspective preset: default perspective preset: default Listed profile: Study Listed profile: Study END Listing profiles for menu. END Listing profiles for menu. read profile name from 'running_profile': Study read profile name from 'running_profile': Study hkBinding: ('control', 'super', 's') hkBinding: ('control', 'super', 's') perspective preset: default perspective preset: default WARNING: Horizontal and vertical PPI do not match! hor: 62.52307692307692, ver: 57.15 WARNING: Horizontal and vertical PPI do not match! hor: 62.52307692307692, ver: 57.15 Display(resolution=(1280, 720), digital_offset=(1360, 0), phys_size_mm=(520, 320), detected_phys_size_mm=(520, 320), ppi=None, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='DVI-D-0') Display(resolution=(1280, 720), digital_offset=(1360, 0), phys_size_mm=(520, 320), detected_phys_size_mm=(520, 320), ppi=None, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='DVI-D-0') get_display_data output: NUM_DISPLAYS = 2, RES_ARR = [(1360, 768), (1280, 720)], OFF_ARR = [(0, 0), (1360, 0)] get_display_data output: NUM_DISPLAYS = 2, RES_ARR = [(1360, 768), (1280, 720)], OFF_ARR = [(0, 0), (1360, 0)] Display(resolution=(1360, 768), digital_offset=(0, 0), phys_size_mm=(484, 272), detected_phys_size_mm=(484, 272), ppi=71.37190082644628, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='HDMI-0') Display(resolution=(1360, 768), digital_offset=(0, 0), phys_size_mm=(484, 272), detected_phys_size_mm=(484, 272), ppi=71.37190082644628, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='HDMI-0') Display(resolution=(1280, 720), digital_offset=(1360, 0), phys_size_mm=(520, 320), detected_phys_size_mm=(520, 320), ppi=62.52307692307692, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='DVI-D-0') Display(resolution=(1280, 720), digital_offset=(1360, 0), phys_size_mm=(520, 320), detected_phys_size_mm=(520, 320), ppi=62.52307692307692, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='DVI-D-0') load_system: archive_file not found: /home/nicholas/.config/superpaper/display_systems.dat load_system: archive_file not found: /home/nicholas/.config/superpaper/display_systems.dat running profile job with profile: Study running profile job with profile: Study Running wallpaper slideshow. Running wallpaper slideshow. ['/home/nicholas/Pictures/Fractals/vplufdy1w0w3oguvgpgf.jpg', '/home/nicholas/Pictures/Fractals/RxKbGbR.jpg'] ['/home/nicholas/Pictures/Fractals/vplufdy1w0w3oguvgpgf.jpg', '/home/nicholas/Pictures/Fractals/RxKbGbR.jpg'] hkBinding: ('control', 'super', 'g') hkBinding: ('control', 'super', 'g') perspective preset: default perspective preset: default Exception ignored in thread started by: <bound method CallSerializer.call_functions of <system_hotkey.util.CallSerializer object at 0x7f0a35092730>> Traceback (most recent call last): File "/home/nicholas/.local/lib/python3.8/site-packages/system_hotkey/util.py", line 37, in call_functions func(*args, **kwargs) File "/home/nicholas/.local/lib/python3.8/site-packages/system_hotkey/system_hotkey.py", line 307, in register self._the_grab(keycode, masks) File "/home/nicholas/.local/lib/python3.8/site-packages/system_hotkey/system_hotkey.py", line 763, in _xcb_the_grab Listed profile: General Listed profile: General raise SystemRegisterError(msg) hkBinding: ('control', 'super', 's') system_hotkey.system_hotkey.SystemRegisterError: The bind could be in use elsewhere: w hkBinding: ('control', 'super', 's') perspective preset: default perspective preset: default Listed profile: Study Listed profile: Study Registering binding: ('control', 'super', 'g') for profile: General Registering binding: ('control', 'super', 'g') for profile: General Registering binding: ('control', 'super', 's') for profile: Study Registering binding: ('control', 'super', 's') for profile: Study Canvas size: [2640, 768] Canvas size: [2640, 768] file:///home/nicholas/.cache/superpaper/temp/Study-b.png file:///home/nicholas/.cache/superpaper/temp/Study-b.png DESKTOP_SESSION is: 'pop' DESKTOP_SESSION is: 'pop' ['/home/nicholas/Pictures/Fractals/zX82fA0.jpg', '/home/nicholas/Pictures/Fractals/120794.jpg'] ['/home/nicholas/Pictures/Fractals/zX82fA0.jpg', '/home/nicholas/Pictures/Fractals/120794.jpg'] Canvas size: [2640, 768] Canvas size: [2640, 768] file:///home/nicholas/.cache/superpaper/temp/Study-b.png file:///home/nicholas/.cache/superpaper/temp/Study-b.png DESKTOP_SESSION is: 'pop' DESKTOP_SESSION is: 'pop' ['/home/nicholas/Pictures/Fractals/iAtT3q2.jpg', '/home/nicholas/Pictures/Fractals/9.jpg'] ['/home/nicholas/Pictures/Fractals/iAtT3q2.jpg', '/home/nicholas/Pictures/Fractals/9.jpg'] Canvas size: [2640, 768] Canvas size: [2640, 768] file:///home/nicholas/.cache/superpaper/temp/Study-a.png file:///home/nicholas/.cache/superpaper/temp/Study-a.png DESKTOP_SESSION is: 'pop' DESKTOP_SESSION is: 'pop' ['/home/nicholas/Pictures/Fractals/B3IGq1p.jpg', '/home/nicholas/Pictures/Fractals/6ejPORH.jpg'] ['/home/nicholas/Pictures/Fractals/B3IGq1p.jpg', '/home/nicholas/Pictures/Fractals/6ejPORH.jpg'] Canvas size: [2640, 768] Canvas size: [2640, 768] file:///home/nicholas/.cache/superpaper/temp/Study-b.png file:///home/nicholas/.cache/superpaper/temp/Study-b.png DESKTOP_SESSION is: 'pop' DESKTOP_SESSION is: 'pop' ['/home/nicholas/Pictures/Fractals/7bdnbS2.jpg', '/home/nicholas/Pictures/Fractals/QbMSn9e.jpg'] ['/home/nicholas/Pictures/Fractals/7bdnbS2.jpg', '/home/nicholas/Pictures/Fractals/QbMSn9e.jpg'] Canvas size: [2640, 768] Canvas size: [2640, 768] file:///home/nicholas/.cache/superpaper/temp/Study-a.png file:///home/nicholas/.cache/superpaper/temp/Study-a.png DESKTOP_SESSION is: 'pop' DESKTOP_SESSION is: 'pop' ['/home/nicholas/Pictures/Fractals/erCEKxe.jpg', '/home/nicholas/Pictures/Fractals/s5Npo4R.jpg'] ['/home/nicholas/Pictures/Fractals/erCEKxe.jpg', '/home/nicholas/Pictures/Fractals/s5Npo4R.jpg'] Canvas size: [2640, 768] Canvas size: [2640, 768] file:///home/nicholas/.cache/superpaper/temp/Study-b.png file:///home/nicholas/.cache/superpaper/temp/Study-b.png DESKTOP_SESSION is: 'pop' DESKTOP_SESSION is: 'pop' Start profile: General Start profile: General Check if the starting profile is already running: General Check if the starting profile is already running: General name check: General, Study name check: General, Study Running quick profile job with profile: General Running quick profile job with profile: General quickswitch file lookup: ['General-a.png'] quickswitch file lookup: ['General-a.png'] file:///home/nicholas/.cache/superpaper/temp/General-a.png Starting timed profile job with profile: General file:///home/nicholas/.cache/superpaper/temp/General-a.png DESKTOP_SESSION is: 'pop' Starting timed profile job with profile: General DESKTOP_SESSION is: 'pop' WARNING: Horizontal and vertical PPI do not match! hor: 62.52307692307692, ver: 57.15 WARNING: Horizontal and vertical PPI do not match! hor: 62.52307692307692, ver: 57.15 Display(resolution=(1280, 720), digital_offset=(1360, 0), phys_size_mm=(520, 320), detected_phys_size_mm=(520, 320), ppi=None, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='DVI-D-0') Display(resolution=(1280, 720), digital_offset=(1360, 0), phys_size_mm=(520, 320), detected_phys_size_mm=(520, 320), ppi=None, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='DVI-D-0') get_display_data output: NUM_DISPLAYS = 2, RES_ARR = [(1360, 768), (1280, 720)], OFF_ARR = [(0, 0), (1360, 0)] get_display_data output: NUM_DISPLAYS = 2, RES_ARR = [(1360, 768), (1280, 720)], OFF_ARR = [(0, 0), (1360, 0)] Display(resolution=(1360, 768), digital_offset=(0, 0), phys_size_mm=(484, 272), detected_phys_size_mm=(484, 272), ppi=71.37190082644628, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='HDMI-0') Display(resolution=(1360, 768), digital_offset=(0, 0), phys_size_mm=(484, 272), detected_phys_size_mm=(484, 272), ppi=71.37190082644628, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='HDMI-0') Display(resolution=(1280, 720), digital_offset=(1360, 0), phys_size_mm=(520, 320), detected_phys_size_mm=(520, 320), ppi=62.52307692307692, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='DVI-D-0') Display(resolution=(1280, 720), digital_offset=(1360, 0), phys_size_mm=(520, 320), detected_phys_size_mm=(520, 320), ppi=62.52307692307692, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='DVI-D-0') load_system: archive_file not found: /home/nicholas/.config/superpaper/display_systems.dat load_system: archive_file not found: /home/nicholas/.config/superpaper/display_systems.dat running profile job with profile: General running profile job with profile: General Running wallpaper slideshow. Running wallpaper slideshow. ['/home/nicholas/Pictures/Longwood/Longwood_Wallpaper_March2020_1920x1200.jpg', '/home/nicholas/Pictures/Longwood/Longwood_VB_2.jpg'] ['/home/nicholas/Pictures/Longwood/Longwood_Wallpaper_March2020_1920x1200.jpg', '/home/nicholas/Pictures/Longwood/Longwood_VB_2.jpg'] Wrote active profile: General Wrote active profile: General Canvas size: [2640, 768] Canvas size: [2640, 768] file:///home/nicholas/.cache/superpaper/temp/General-b.png file:///home/nicholas/.cache/superpaper/temp/General-b.png DESKTOP_SESSION is: 'pop' DESKTOP_SESSION is: 'pop' ['/home/nicholas/Pictures/Longwood/Longwood_VB_1.jpg', '/home/nicholas/Pictures/Longwood/Longwood_Wallpaper_Sept2017_1920x1200.jpg'] ['/home/nicholas/Pictures/Longwood/Longwood_VB_1.jpg', '/home/nicholas/Pictures/Longwood/Longwood_Wallpaper_Sept2017_1920x1200.jpg'] Canvas size: [2640, 768] Canvas size: [2640, 768] file:///home/nicholas/.cache/superpaper/temp/General-a.png file:///home/nicholas/.cache/superpaper/temp/General-a.png DESKTOP_SESSION is: 'pop' DESKTOP_SESSION is: 'pop' ['/home/nicholas/Pictures/Longwood/Longwood_Wallpaper_Sept2017_1920x1200.jpg', '/home/nicholas/Pictures/Longwood/Longwood_Wallpaper_March2020_1920x1200.jpg'] ['/home/nicholas/Pictures/Longwood/Longwood_Wallpaper_Sept2017_1920x1200.jpg', '/home/nicholas/Pictures/Longwood/Longwood_Wallpaper_March2020_1920x1200.jpg'] Canvas size: [2640, 768] Canvas size: [2640, 768] file:///home/nicholas/.cache/superpaper/temp/General-b.png file:///home/nicholas/.cache/superpaper/temp/General-b.png DESKTOP_SESSION is: 'pop' DESKTOP_SESSION is: 'pop'

hhannine commented 4 years ago

Are you using vanilla Ubuntu or maybe PopOS or something? Your DESKTOP_SESSION is 'pop' which I haven't seen before. How does superpaper behave if you remove the custom command you set and then run superpaper with the following command?: DESKTOP_SESSION=gnome superpaper -d

T-Quill commented 4 years ago

Yeah, I'm on PopOS 20.04. Sorry, I should've led with that. When I go into general_settings and remove feh so it's just "set_command=" , or if I delete the whole line, the application crashes. When that happens the terminal says "your DE could not be detected to set the wallpaper. You need to set the 'set_command' option in your settings file superpaper/general_settings. Exiting.' and then I get 'Gdk-Message: 09:50:42:862: superpaper: fatal ID error 0 (success) on X server: 1.' I'm not really sure what a DE is to be honest (just desktop environment?), but that made it seem like I needed to have the feh command. Still, I continued without adding it back in and ran superpaper with the command you gave.

It works perfectly. No black screen! Hooray! The pictures transition from one to another just as they should, I can switch between profiles, no crashing, and no error warnings about setting my DE. I guess I don't need feh after all haha. I'm not sure why I was getting that error message about the DE before but not now, and I also don't know what was up with all the black screen stuff, but I guess as long as I run it with DESKTOP_SESSION=gnome everything works perfectly. My question now is, how do I make it boot up this way as the default setting? I like having superpaper set as an autostart application on my computer or just booting it up through the GUI in my application menu; does this mean I need to always start superpaper manually through the terminal with that command? Or is there a way to tell the application to always start with DESKTOP_SESSION=gnome ?

Thanks for your help, I'm really enjoying having my wallpapers back haha

hhannine commented 4 years ago

Thanks. Yeah DE is just "Desktop Environment", it seems that the error is actually fairly unhelpful. Feh compatibility is mostly for window managers such as i3.

The issue you ran into is that PopOS configures the environment variable DESKTOP_SESSION to be "pop" which isn't the desktop environment in use, which is Gnome. I'll need to add a rule for this so that Superpaper works on PopOS out of the box.

You can use the workaround of running superpaper with the DESKTOP_SESSION=gnome environment variable by adding that in front of the command that is run by autostart. Similarly you can edit the application menu entry to have that in front of the command run. So essentially the same thing as running it from the terminal but you need to edit the evoked command both in the autostart applications and in the application menu entry of superpaper.

hhannine commented 4 years ago

Added a rule for PopOS, out in next release.

T-Quill commented 4 years ago

That's great, thank you so much for all your help! I'm really enjoying Superpaper, it's really great. Have a good one!