Questions about desktop extensions

The gnome-3-28 extension is great, but it doesn’t support the gnome-3-32-1804 content snap. I have some questions about it, so I have a better idea how to structure the docs around it and how I can contribute.

  • What is the plan for Gnome applications that require gnome-3-32? Should we create a gnome-3-32 extension?
  • Are there any plans for a gnome-3-24-1604 extension?
  • How do we avoid duplicating a bunch of the gnome-* extension code each time there is a new gnome platform snap?
  • Is the gnome-3-32-1804 snap supposed to be for general use? How long will it be maintained/updated and what happens when it’s unmaintained?
  • Should we point everyone towards gnome-3-28 or gnome-3-32, since the latter might have more bugfixes and features?

Then about desktop extensions in general:

  • What are the plans for games and other desktop toolkits? Do we make a glib-only extension? an OpenGL/Vulkan extension?
  • What should qt5 apps use? Is the neon extension specifically meant for KDE (frameworks) applications, or should that be used for all qt5 applications?
1 Like

Good news, one is in the works… @kenvandine and @hellsworth might be able to provide more information for the future gnome-3-32 extension.

I am not sure there are any plans for a 3-24 one.
The code is self contained and reusable, so there is not much duplication (most of it is also being used for the upcoming neon extension).

Personally, if both are extensions, both should be equally supported (and boils down to what features of the stack you want).

2 Likes

We’re going to jump right to a gnome-3-34 extension which will use the gnome-3-34-1804 platform snap and gnome-3-34-1804-sdk. Those don’t exist yet, but we’ll be creating those over the next few weeks. Once we get those in place, we’ll work to get it into snapcraft.

@kenvandine Great, thanks! Out of curiosity, are there any plans yet for how long will these content snaps be supported?

I’m very interested in answers for these questions

1 Like

Nothing should prevent you from using this extension for Qt applications, it may be less relevant if you are building a CLI application for which the current extensions we have would be too broad on interfaces.

I’m more thinking of the stability. Library versions in Neon seem to change often and the old ones aren’t kept around, so any snapcraft.yaml file using libraries from the Neon repositories will need to be updated often to keep up with Neon. I’ve encountered this with the Krita snap, for example.

I am working with that team to figure out what their publishing strategy is going to be, we can certainly look into a plain Qt or “released” KDE extension in the future.

1 Like

Also, you reminded me why I hadn’t addressed this topic on my first reply, I was caught off guard just now :sweat_smile:

Let me add that the snapcraft team will not be taking care of a content snap for a different KDE or Qt stack, so if an extension comes to play, it will most likely bundle all dependencies.

1 Like

Our intention is to support those for as long as the base is supported. Which is part of the rationale for the current naming scheme. gnome-3-28-1804 declares it’s based on 18.04 or core18, therefore will be supported as long as core18 is supported. This will only be true for platforms utilized by an extension in snapcraft. So gnome-3-28-1804 will be supported as long as core18 is supported because the gnome-3-28 extension exists in snapcraft. Same will be true for gnome-3-34-1804 because we will have a gnome-3-34 extension in snapcraft. While the gnome-3-32-1804 platform snap exists, it will not have the same support because there will not be a matching snapcraft extension. The supported means of consuming the platform snap is via the snapcraft extension.

We’ll also be supporting these with a similar discipline as we support the Ubuntu as a distribution. We won’t be removing libs or changing major versions of libs in the platform, no ABI breakages.

4 Likes

Any answers to this, please?

Coming from Extension counterpart for glib-only part? · Issue #216 · ubuntu/snapcraft-desktop-helpers

I recommend using gnome-3-28 extension as the counterpart to the glib-only part.

The main advantage of glib-only was that it was smaller in size compared to including the entire GTK stack. Since the extension uses content snaps, the size isn’t really important anymore.

2 Likes