When a Gedit user interacts with the Preferences dialog, and a plugin that they attempt to activate falls over flat (e.g. the Python code underneath raises an Exception), there is a red icon shown on the user interface.
This is helpful to a certain extend, but as an ordinary user I only get informed that “the thing is broken” – not about what I could do about it.
If I, as a plugin author, wanted to display supportive information in the dialog window or that error situation, to be precise, what would be my best option? A popup window would probably not be ideal. Is there a GNOME UI/UX group that would be able to help with an appropriate suggestion?
When running gedit from a terminal, the error messages are there, but not shown in the GUI.
At the bottom of the preferences dialog, in the plugins panel, there are “Preferences” and “About” buttons as shown in your screenshot. In case of an error, another button could be added, and when clicked the error failure informations are shown somehow.
But a plugin that fails to load is usually because of an installation error (mismatch between the plugin version and gedit version, for example).
The plugin system is implemented mainly by libpeas (which was extracted from the gedit codebase a long time ago).
So this could be a feature request for libpeas. Although it’s always possible of course for gedit to have custom code for that.
Historically, such plugin loading failures (the error messages in the terminal) are more for system administrators and Linux distributions packagers, since the plugin is supposed to load correctly, otherwise it is an installation problem. End users should not encounter such problems.
Maybe a general/generic error message in the GUI could be added when a plugin fails to load, such as “Contact your system administrator”.
Basically, plugins that fail to load should not be installed in the first place.
I agree. The error situation described in the linked GitHub issue is about a missing system dependency (python3-docutils). So, the idea is that correctly installed GNOME software doesn’t need to display error messages—which is a valid strategy. Hence, the way to solve the problem is via packaging (e.g. a PPA for Ubuntu, a DEB file to download for Debian, RPM for RedHat, an AUR for ArchLinux).
My question was originally geared to how information about - inevitable - errors is displayed in Gedit, respectively GNOME applications in general. For a pleasant, uniform user experience. Now, I can live with, “this is generally avoided.”
Packaging Automation
Given that the strategy is packaging, is there tooling - or a template - around that can generate packages of all the various popular packaging formats, easily? Similar to what Electron provides with Electron Forge.
There is always room for improvements, when it comes to show useful error messages to the user about installation problems, here for gedit plugins (often the user is also the administrator, but not necessarily with sufficient knowledge to resolve the problem).
Applications on Linux are going towards packaging formats with Flatpak or Snap (containers/sandboxing technologies), which work across almost all Linux distros.
But I don’t often use Flatpak myself (nor Snap), just sometimes for testing purposes to see if gedit with Flatpak works well.
The idea for gedit plugins would be to ship them as Flatpak extensions, or something like that. Snap has maybe a similar concept. gedit as packaged currently with Flatpak, I don’t even know if it accepts such third-party plugins, contributions welcome if it is not the case