I also added another session name to differentiate from the ppa. There has been some workarounds needed for cursor icon theme and dash to dock style override. As I already stated on another topic about it, I needed to push an empty file with our theme name so that we can override the Dash to Dock theme from our theme directly (the !important trick mentioned in the theme is wrong btw, and doesn’t work. Is there anyone volunteering to clean that up?).
Once the UIF exception is accepted due to new translation strings entering the distribution, I’ll upload both components (https://bugs.launchpad.net/ubuntu/+source/gnome-session/+bug/1760049/).
Note that we expect people to remove the ppa version and switch to the snap version.

Finally, the settings override has also to be in distro, to set the correct theme names and general parameters. This will be hard to change once in (and can’t be piloted from the snap). This is why I’m asking for feedbacks.
Here are the keys:

About feedbacks, on theme/snap side what are the changes to support these keys?

vvvvv

c-lobrano:

Do you think it’s possible to set the “center new windows” to TRUE as we might do for sound?

Actually, that’s exactly what I was asking for, what else do need to change by default so that I upload the package with those settings
Ok, noting to setting “center new windows” to true for this session. IIRC, there was also a discussion about default font size, what was decided in the end, any other keys to change (the ppa schema doesn’t contain a change for font size)?

I need to select on theme by default. I’m defaulting to Communitheme_12 for now, but we can easily switch.
Note as well that some subdirectories don’t have cursor.theme and index.theme. Mind fixing this?

It works fine for testing without, so I got lazy - sorry. Sure, I’ll fix that There’s also so more house cleaning to do

I would suggest that we only package one cursor style ( Communitheme_12 if you prefer) and remove the other designs. Is that still the plan?

Size 10! But you’re right, no change has been made yet - can you fix that too @didrocks?

All fonts? (there are 4 fonts that people can generally change in Tweaks), or only Title fonts or anything else?

madsrh:

I didn’t see the default cursor size discussion. Was this only for the busy spinner or for the pointer as well?

I’ve changed the sizes of idea 2+3 as requested.

Oh correct, that was that one! So nothing to do on my side

madsrh:

I would suggest that we only package one cursor style ( Communitheme_12 if you prefer) and remove the other designs. Is that still the plan?

That’s possible, I thought about installing them all and use a symlink as a pointer, but you’re correct, as you can’t load other from the snaps (as it’s loaded by X, before setting magic env variables) , let’s only ship one. We can then change it anymore for that part anyway

[quote=“didrocks, post:6, topic:4890”]
All fonts? (there are 4 fonts that people can generally change in Tweaks), or only Title fonts or anything else?[/quote]

@madsrh: I would need an answer quickly on this to make the upload in ubuntu now that beta freeze is lifted.

So, the process I’m envisioning is that any new commits upload a snap to the store in the edge channel (people who want to track the latest would be able to get thus the latest of latest in just minutes!). Then, after some manual check and release management, someone (or maybe some people would be responsible of promoting it to the stable channel (like once a week?) so that most of people are using the safe and checked channel. I was thinking about giving those powers to @merlijn-sebrechts (are you interested?), but others can step in too and multiple people can have those rights, if think you want to do it. I’ll publish guidelines on how to do that, it’s pretty easy.

So, the process I’m envisioning is that any new commits upload a snap to the store in the edge channel (people who want to track the latest would be able to get thus the latest of latest in just minutes!). Then, after some manual check and release management, someone (or maybe some people would be responsible of promoting it to the stable channel (like once a week?) so that most of people are using the safe and checked channel.

I think that’s a good idea and I’m interested to take care of this, although it’s best to have multiple people with this power, I can’t guarantee that I have time every week to do this.

c-lobrano:

I think that having a substitute (or more than one) with same powers could be good. If @merlijn-sebrechts agrees, I can do it.

So basically, the theme files are contained in the snap, and you tell Gnome to look for themes in that snap’s folder using XDG_DATA_DIR magic? Does snapd change XDG_DATA_DIR when the theme snap is installed?

If I understand correctly, this will only work on Ubuntu 18.04+, right? Other distros will need to install a package which adds the session, settings and dash-to-dock override, right? Or does the session also use the XDG_DATA_DIR magic?

How does the confinement work for this? Can anyone create a new theme and add it or do you need some blessing from the snapd folks? (a plug?) How does versioning work? Is there any way to make sure the theme and gnome version are compatible?

So basically, the theme files are contained in the snap, and you tell Gnome to look for themes in that snap’s folder using XDG_DATA_DIR magic? Does snapd change XDG_DATA_DIR when the theme snap is installed?

Exactly! snapd won’t be even invoked, it’s only used as a transport mecanism for that part. Basically, the session is driving XDG_DATA_DIR.

merlijn-sebrechts:

If I understand correctly, this will only work on Ubuntu 18.04+, right? Other distros will need to install a package which adds the session, settings and dash-to-dock override, right? Or does the session also use the XDG_DATA_DIR magic?

That’s all correct! + a little magic (herm, a symlink) for the cursor theme to work on X, as X is started before the session

merlijn-sebrechts:

How does the confinement work for this? Can anyone create a new theme and add it or do you need some blessing from the snapd folks? (a plug?) How does versioning work? Is there any way to make sure the theme and gnome version are compatible?

We don’t really use snapd as a confinement mechanism (nobody was able with any technology to confine yet an entire user session), so it’s only a delivery mechanism that enables people to select their level of “risk” (tracking edge or stable for instance), and auto-refresh. We take advantages of both. So, right now, this is limited to communitheme only (as you noted, there are some parts which are in the distro and can’t be pushed as part of the snap). For compatibility, there is the notion of tracks, and we’ll create a “bionic” track once we move to an uncompatible GNOME Shell and move people to it (however, there is no dependencies notions between snaps and debs). However, the bionic GNOME Shell version will stay forever compatible as part of our release process.

As mentioned on the blog post, there are autogenerated snap support for PR.
This enable users to try a branch work in progress before getting it merged to master.

I got a question today from @frederik-f why this wasn’t working for him on https://github.com/ubuntu/gnome-shell-communitheme/pull/104.
Just to be clear: for security reasons, the hidden token (snap store to push the snap and Github to comment on the PR) aren’t accessible for branches not being in the same repository than the destination target. This is a Travis CI feature.

What it means is that if you want to have automated generated snap before they hit master as part of the PR (as in https://github.com/ubuntu/communitheme-snap-helpers/pull/6), you need to have your source branch under the ubuntu repo instead of your own fork.
I’ve fixed the build script so that people using branches on their own fork don’t have CI failing. Their branches are still building a snap to ensure it works, but not uploaded to the store and thus, no comment appearing: