Chromatic demo

(aleksey) #1

So i have this stuff:

Your thoughts: “WTF is this”, right? This is some Unity 7 components (launcher and dash) rebuilt for Void with several modifications:

  1. It’s not a Compiz plugin: runs on other WMs and compositors (but you need to run a compositor).
  2. Does not require patched GTK, runs on GTK from Void’s current.
  3. Not a fork! It’s built from Unity 7 source code with not (too) many modifications.
  4. Not a DE! It’s just another desktop app (like a dock) which runs in other DEs or without a DE.

Good news:

Tested on

  1. XFCE
  2. Openbox
  3. MATE
  4. Cinnamon

With compositors:

  1. XFCE’s embedded compositor
  2. MATE’s embedded compositor
  3. Compiz reloaded
  4. xcompmgr
  5. compton (better not to enable blur here)

Bad news:

AwesomeWM, fluxbox, i3 - all seems to share the same issue: Xshape input doesn’t work (i might be wrong, but it looks like it). Also on fluxbox i couldn’t undecorate launcher’s window automatically.

bspwm looked promising: Xshape seems to work, space on screen was reserved, but i couldn’t switch launcher window into floating mode. I’m not really expert in bspwm, if someone knows what i’m missing - please let me know, there’s a chance this could be fixed.

Sorry about that, i tried to make it work on as many WMs as i could, but there’s only so much i can do without patching the universe, thank you for understanding.

If anyone wants to try this live, how to build:

  1. XBPS-src wiki page:
  2. XBPS templates: (grab unity7-* templates, also apply patch to common/shlibs: patch -p1 <shlibs.diff)
  3. ./xbps-src pkg unity7-chromatic
  4. xi unity7-chromatic (check the list of the packages that are going to be installed)

I recommend you would do that on a clean and disposable fork of void-packages. Also i wouldn’t recommend to install it blindly on a machine that you’re absolutely relying on, for example, this will install unity7-glewmx which conflicts with glew-devel. This is experimental stuff, all screenshots were made by trained professionals so be careful and kids don’t try this at home, alright?

It’s not a beta, not an alpha, it’s a demo. Something might be broken, something might be buggy, there might be graphical glitches or something else i don’t know. This is as much experiment for me as it could be for you if you choose to install it.

How to run:

  1. chromatic --help - check out the options.
  2. chromatic

One thing you need to know: kill switch is on Super+Shift+K. If you’re seeing black screen - hit it, you’re probably running it without compositor, start xcompmgr or other compositing manager and restart. You can also hold Super anytime for the full list of hotkeys.

TRON-style openbox anyone? No? Just me? OK, nevermind. This is openbox + xcompmgr.

MATE with compiz-reloaded and blur? Still no? Whatever. Works on MATE’s embedded compositor too.

Some cool stuff: to enable integration with Chromium you could set XDG_CURRENT_DESKTOP=Unity, then progress bar will appear on the launcher icon when you’re downloading something. Alas i don’t know how to tell Thunderbird that is available.

Source code (GPLv3):

I’m interested to hear what people think about this, comments are very welcome. If you don’t think anything good and you think leaving such a comment would break forum rules - just PM me, i’m still interested, honest and direct opinion is always appreciated.

That’s it. Please let me know what you think about this stuff. Thanks.


This is quite cool! Are you considering a release as a normal app at some point?

How did you come up with the name Chromatic?

Are you looking for help porting unity7/chromatic to make it more widely available?

Do you praise the sun? \[T]/

(aleksey) #3

This entire situation with porting-not-porting is quite complicated and depends on multiple factors. Firstly i would like to hear what people think about all this stuff and see if there’s a demand for something like this. Secondly, Unity and all its dependencies would be very hard to support for an individual, i think simply forking Unity would be a bad move and will likely lead to a dead end. This is why it’s downstream from Unity 7, so help with porting should be directed upstream or so i think (unless it’s chromatic-specific and doesn’t touch Unity bits). I’m certain that any help with Unity would be greatly appreciated, but submitting patches upstream might or might not be a challenge on its own, there are other factors upstream that has to be taken into consideration and we’ll see to what degree a jolly cooperation could be established \[T]/. There might be some downsides in the demo implementation too and that has to be assessed as well.

Sorry for such a train of thought, this is really complicated and it’s hard to plan anything now. Chromatic is just a sort of my humble contribution to the cause, i’m just doing what i can. At this point this is an experiment of what could be done and what happens if that is done. I can update the demo couple times if anything, but currently i’m trying to keep the difference to Unity as minimal as it is practicably possible. No other plans at this moment.

Chromatic is just a name to differentiate the two. I couldn’t say this is Unity 7 (on Compiz) because it is not entirely it. I personally think of it as of “chrome for desktop” (which Unity always was), but name “chrome” was already taken by a particular corporation, didn’t think about it too much, so for today it is “chromatic”. It’s just a name for the demo.

(aleksey) #4

Just a small update.

I’ve updated demo and templates, this mostly fixes occasional crash on systems where compiz.desktop wasn’t installed to /usr/share/applications, this is now fixed. There are some other minor changes too: unity7-glewmx no longer conflicts with glew-devel (but unity7-glewmx-devel does), also faster and cleaner build.

All URLs are the same as in the first post.