Indeed, and you already made a miracle! I’m sincerely really impressed with the current theme state, knowin that real work started mid-November with the first mockups and ideas. Great work to you and the other members of the team, working tirelessly on CommuniTheme! Thanks as well to @andy-k to have summed up well the subtilities of landing a new theme.
However, as I was afraid and stated previously already, we can’t land safely the new CommuniTheme in 18.04. There are multiple reasons:
- As @c-lobrano stated, and you will as well if you follow the upstream repositories on GitHub, (I encourage everyone participating to this thread to to do that on the various communitheme-related projects), there are still a lot to be done and important bug reports, a lot of applications to be tested. We just went through and understood completely the GTK2 issues that some people had, but there is Qt and other GTK3 applications that we need to have some testing on and bugs fixed.
For instance, we understood recentely (https://github.com/Ubuntu/gnome-shell-communitheme/issues/61) why for some people, they got unstyled GTK2 applications. Indeed, the theme depends on 2 packages that are in universe and we need to promote to main them before depending on them.
This is to totally normal, and those bugs (with new ones discovered everyday) are part of creating a theme. Applications are using the toolkits and styles in very subtle ways, and you need to try to not make the whole theme unmaintainable on the long term with too many application-specific code.
- UI Freeze is next week. After that point, it mean that NO graphical/visible changes are allowed apart getting an excepetion. It means in general, no more refinement, no visible element or color changes for the next 5 years on 18.04 and to Canonical to support it. Are you sure the theme is ready for this? Seeing the amount of discussions triggered here, it seems that there isn’t a clear answer, and maybe setting in stone the CommuniTheme choices at this point will definitely decrease the amount of experimentations and changes that would otherwise still happen here. It means basically Freezing CommuniTheme on the base principles choices.
This is to be expected, a theme is hard to make, regressions are easily triggered, issues are constantly coming until we have a good amount of testing. The goal is to push it very early on the 18.10 development cycle (like, within the first month once the archive opens) and iterate from there. We can have regular snapshots of the theme (uploaded manually) and get some feedback.
However, people following and running development release (even more non LTS) are few, and this is why I think we should make it easily available to everyone who wants to opt-in, even on 18.04 LTS, and I have 2 proposals here. The good thing is that people “who can’t stand” anymore Ambiance can continue following this as well
Here is what we can do:
- Commit to maintain in parallel than the version in the distribution the ppa with daily builds. It would mean however than every commit (potentially breaking ones) will land on people stable distributions, potentially breaking them even if they are just users who wanted to give a try to the new theme. Also, installing a ppa isn’t for everyone.
- Ensure we land basic “double session” support for shipping the theme via a snap that people would have to install. The instruction will basically be
snap install <theme> or use GNOME Software to install it, then a new GDM session appears (similarly to today), and people can jump into this.
The benefits are:
- The snap isn’t installed by default, so we keep the opt-in as for the PPA
- We can use multiple maturity channels, meaning that people who want to follow every new changes upstream can subscribe to the “edge” channel, knowing that they suscribe to the “edge” risks with what it means Then, regularly after community +1 and some testing we can promote a particular revision to the “candidate” or “stable” channel, delivering it to a wider community.
- We can even imagine having some snaps built per pull-request, so that people can have a try before things land!
This is a substantial amount of work to be done, but I’m happy handling this if people like that idea. I will need to know this week to land the “in distro” defaults for the new session, appearing only when the snap is installed, and to teach the system to look in that case for the snap theme folder (Note that I don’t know if that will work with GTK2 theming yet).
Finally, I think we should include the great sound work and cursor icons made by @madsrh officially as part of the CommuniTheme project. I would love as well someone stepping up for the plymouth theme work (which is mostly code-work, no css, svg…). Anyone interested?
Tell me what you all think about this!