Chroma Update

So, where’s Chroma, the experimental window decoration Breeze fork? Still not released yet.

The main hurdle is the fact that Chroma previously overwrote Breeze; once you installed the Chroma repo Breeze would be kicked out like a bad room mate.

Not having both is obviously no good. If Chroma breaks and crashes Kwin, it will restart and attempt to use Breeze, instead loading Chroma… And we get into a crash loop, require users to drop to a terminal, and install an alternate DE or window manager. Blegh. Ugly.

(Not that I believe it would do that, but if I did it to one person I’d feel super bad)

The cheap and obvious solution would be to just open my project directory and do a find->replace for ‘Breeze’ and replace it with ‘Chroma’, and I’m sure that would instantly resolve all the issues – but it would completely undermine my ability to easily pull/push back to the main codebase if I mangle it.


What I don’t want the Chroma codebase to be

Essentially, I want Chroma to read as Breeze in code, and I want both codebases to easily share between each-other without naming breaking things.

So, where are we?

Right now Chroma is installing, but there’s some quantum fiddly-bits which get all timey-wimey; when you install Chroma you are presented with two Breeze decorations in the KCM. Because I’m still inexperienced with this stuff, I’m still in the process of tracking down where I must rename Breeze to Chroma to get it registering properly, but I’m taking my time because I don’t want to rename things needlessly.

So right now it should be done ‘any time’, once I realise what minor tweaks need to be made so we can get Chroma and Breeze co-existing nicely. I’ll also admit currently Chroma isn’t my primary focus, so more/less I’m just taking the odd hour when I need a breather to browse through the code and see what needs to be done.