Canonical is proud to announce today that new Snap desktop launchers are coming soon to an Ubuntu Desktop near you, allowing the integration of desktop applications with Snaps.
If you’ve tried installing various desktop apps – and we’re talking about those that have a graphical user interface (GUI) as Snaps on your Ubuntu machine, or any other GNU/Linux operating system that supports the Snappy universal binary format – you might have noticed that some of them don’t follow the general desktop theming or menu integration.
Making applications packaged as Snaps look and feel like the real desktop apps was always a little bit challenging for the Snappy developers over at Canonical. Therefore, they are announcing today their new goal of streamlining the overall Snap experience on the desktop, ensuring that all the user-visible features are working as expected.
“Integrating desktop applications with snaps has been a little bit challenging in terms of getting them looking and behaving as part of the system,” said Didier Roche, Ubuntu Desktop Technical Leader at Canonical. “This is the reason why we are announcing new desktop launchers!”
Here’s what Snap desktop launcher can do for you
With the new Snap desktop launchers initiative, Canonical hopes to bind applications installed via Snaps with the current desktop theme, be it written in GTK+ or Qt, as well as the system icon theme, integrate them with the Unity application menu, as well as to generate icon cache and images on first launch after a new upgrade.
Additionally, they are hoping to keep existing xdg-based data after each successful upgrade of a Snap, make the GSettings keys available for reading and writing by Snaps, share most of the code between multiple launchers so that when one fix is applied the rest would benefit too, and bypass any unusual behavior that some launchers were exhibited.
For detailed examples of how Snap launchers actually work (with screenshots), please take a look at the official announcement. Currently, Canonical offers five launchers, for applications written in GTK2, GTK3, Qt4, and Qt5 GUI toolkit. There’s also a glib-only launcher for lightweight, non-graphical apps.