hhannine / superpaper

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

Feature: Allow user to tell the DE / WM they are using in the case of a detection failure (+Add support for Ubuntu Studio XFCE) #57

Closed anagram3k closed 4 years ago

anagram3k commented 4 years ago

After setting the initial configuration superpaper hangs and needs to be killed.

OS; Ubuntu Studio 20.04 DE: XFCE Version: Superpaper-2.0.2-x86_64.AppImage or pip version

Looking at the log, I think it is obvious what is happening. Maybe you can change the program to ask the user what DE he is using?

Logging / debugging contents: Log for appimage:

(...)
DESKTOP_SESSION is: 'ubuntustudio'
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.

(Superpaper-2.0.2-x86_64_9a172735e698bbf3eb35d6577b3601d0.AppImage:8657): Gdk-ERROR **: 12:09:09.030: The program 'Superpaper-2.0.2-x86_64_9a172735e698bbf3eb35d6577b3601d0.AppImage' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadImplementation (server does not implement operation)'.
  (Details: serial 632 error_code 17 request_code 20 (core protocol) minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the GDK_SYNCHRONIZE environment
   variable to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
Trace/breakpoint trap (core dumped)

Log for pip version:

(...)
DESKTOP_SESSION is: 'ubuntustudio'
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.

(superpaper:9637): Gdk-CRITICAL **: 12:30:45.035: gdk_device_ungrab: assertion 'GDK_IS_DEVICE (device)' failed
Gdk-Message: 12:30:45.091: superpaper: Fatal IO error 0 (Success) on X server :0.0.
hhannine commented 4 years ago

Thanks. Yeah this is a familiar issue with every new distro that has done its environment variables in a different way.

I think that's a good idea to think about. I'm faintly remembering about thinking something like this way back; asking user about the DE if the detection fails and one issue that was prominent early on was that support wasn't there yet. So I couldn't give the user some predefined buttons to press if their WM or DE is not supported in the back-end. Nowadays there aren't that many options that are not supported but like Sway and I think some other less used WMs still are not supported without the custom command feature. This is why I implemented the custom command feature, though it does not help with XFCE or KDE detection failures.

Before I can get around to fixing this you can use superpaper by setting DESKTOP_SESSION for the superpaper process, run it like this: DESKTOP_SESSION=xfce superpaper

hhannine commented 4 years ago

Did you try my suggestion? Did it work for you?

hhannine commented 4 years ago

I made a patch to support ubuntu studio with no workarounds but it's based on my above suggestion. If my suggestion worked, I can add proper support in next release.

anagram3k commented 3 years ago

Did you try my suggestion? Did it work for you?

Yes, it worked. Thank you!