Wednesday, April 04, 2007

Official Announcement of Merge

There has been a post on the official Compiz Forums announcing that a merge has been agreed upon by the leaders of the two communities: I see this as a great step forward for the composited Linux desktop, and thank and congratulations all those who have been involved in the discussions to make this happen!

From this post

After several weeks of discussion the leaders of Compiz and Beryl have agreed that the two communities shall reunite. This decision is supported by both David and Quinn and represents the majority decision of the administrators and developers in each community. At this early stage not a lot has been decided, but these are the main points of the agreement...

I'll summarise:
  • Compiz will be run in two separate divisions: the Core and the Extra packages will be run separately
  • Compiz-Core will be as described here, and will be called 'Compiz'
  • The Compiz-Extra division (which currently includes plug-ins that are often any or all of more 'interesting', newer, less stable, less tested or just less supported by the Compiz-Core people) and this will temporarily be called 'Composite Community'
  • The new 'Composite Community' package will consist of the best code from the existing Beryl and Compiz plugins that is not in Compiz-Core.
  • There will be a 'Code Review Panel' made up of coders from both teams, in charge of ensuring the code released by the 'Composite Community' "meets the highest standards and is suitable for distribution in an officially supported package"
  • Support for existing packages/projects will continue at least until a release of the new composite project
  • The separate forums and websites will remain until a combined portal/system is up and running. After a new forum is created additional details can be confirmed, a name chosen and release goals clarified.
Summaries are all well and good, but I know a lot of thought and care will have gone into the official words written by imnotpc on the Compiz forums. please read them to get a fuller idea of the what's happening.

Friday, March 23, 2007

Brainshare Video Demo of New Compiz Features

If you just want to see the video then use this link and skip to the 25 minute mark. If that doesn't work then try here instead.

It has JUST been announced that the Beryl team want to merge with Compiz (details to be confirmed), which should mean these features reach Beryl users too! See details here

While it may have seemed short on high profile, glitzy new plugins recently, the Compiz core has been evolving quietly, speedily and robustly in the background. What is possible in the latest development versions looks capable of bringing an even bigger revolutionary change in the way we use our computers than we saw when XGL/Copmiz was introduced about a year ago.

The video doesn't just show new plug-ins that use the original features of the Compiz core (from which the Beryl core was forked) - we are seeing new tools for developers of plug-ins that haven't been available anywhere until now... For example adding the ability to interact with scaled windows, not just to scale them!

This continues the trend in Compiz development of implementing exciting new technology in the core, and then adding plug-ins to use those features - if necessary, waiting for changes (or making the changes) in the other programs Compiz/XGL depends on (like the xserver!) to be made so that the new solutions are done elegantly and in 'the right way'. The lead developer, of XGL and Compiz, David Reveman, has always been focussed on making the most powerful tools available in the core so that all plug-ins can access efficient code to do useful tasks.

In the Friday seminar at this year's Novell Brainshare conference David Reveman talked Nat Friedman through these new additions

David comes on around the 25 minute mark...

Among other things, you can see:
  • Multiple display support (cloning of displays)
  • Interacting with transformed windows
  • Applications that use the Compiz core to scale and render images or videos, so that when you use Compiz's zoom function, the resolution of the video or image changes too!
  • Setting any particular application to render on the top of the cube
This is all very cool!

David used scale in a really interesting way: rather than clicking on any window to interact with it after scaling, he left all the windows scaled and zoomed in on the one he wanted to use - as if they were all laid out on a desk! This shows the potential of this technology to really change how we interact with our applications, media and data.

I was helped to this story by David's post to the Compiz mailing list:

Wednesday, February 07, 2007

New Blurring

David has posted to the mailing list to say that he has got his blur plugin to a 'reasonable state':

Some additional options have been added to the decorators which allow
you to make any translucent decorations blur what's behind them.
Applications can also use the hint recognized by the blur plugin to
specify blurred regions.
Which sounds mighty cool

He has made two example plugins at

blurset, is similar to transset except that it allow you turn on/off
blur behind translucent parts of any application window.

blurdemo, is just a simple gtk example app that uses the blur support
provided by the blur plugin.

So all the hard work needed for a proper blur plugin should be done now
and the fun and easy part with adding additional filters is left. I only
put the simplest possible filter I could come up with in there for now
and it doesn't do much blurring at all. I'm interested in patches that
add additional filters.
So now we have a really thorough solution!

Application developers, get going!

I'm currently disconnected form my PC - so if anyone wants to mail in or comment with a link to a screenshot of the blurring and the blurdemo then please do!

Sunday, February 04, 2007

Input Transformation Work

The exciting news that David has done some work on allowing input translations (a feature needed to cleanly implement a whole load of interesting and desired features like interacting with scaled windows and potenially having thumbnails of minimised windows) has spurred me on to a post. I hope I can start updating the blog again - but I'm still incredibly pushed for time.

His post to the compiz list can be read here:

His message states "I have a local branch of compiz with
some input transformation hacks, I'll clean it up and push it out in the
next couple of days." - so you'll be able to try it in the next few days.

Tuesday, July 25, 2006

Glowing Buttons

Today Cornelius added support for drawing titlebar button images outside the window on hover, which means cool stuff like glowing buttons is now possible... (In fact, it draws two images, the normal button and a glow overlay)

Edit: the forum post with patches is here

He says:
implemented button glow (for the hovered buttons of the active window) in cgwd. Here is the patch. The glow overlay image should consist of 7 images of same size for the 7 button types.
To enable glow:
Add this line to the end of the [buttons] section of your theme.ini file (mine is at /.compiz/cgwd):

And here is his screenshot of the glowing buttons

The actual glow.png should look like this

Saturday, July 22, 2006

Blurring behind the window borders

Idon'tknow12 has released a blur plugin that blurs just what is behind the window borders!

So, it looks like there are no compelling reasons to even consider Vista anymore :P

From the original post:
This plugin blurs things underneath the decoration, through a fragment shader [and] currently is using the one found in the Frag plugin to do so

Along with Quinn's latest additions to gwd (note that she is developing cgwd too) it is now possible to have window borders that look exactly like pretty damn similar (Thanks SparX) to Vista's! The developments required to make them identical are on the way!

Idon'tknow12's screenshot:You can get all the information over in thread on the the Compiz Forums
The latest version (at time of writing) is here

A new window decorator

QuinnStorm has made a new window decorator, catchily named 'custom-generic-window-decorator' and it is now ready for anyone to use. Her post about the release is here and her original announcment is here

Quite how there are already so many themes available when the 'relese' post was only 2 days ago astounds me - here a few to show off the variety

Here you can see Vista-Ish, Community (which looks really cool when you mouseover the cube!), Siro, OSX and Gilouche
From the release post:
I'm tired of not working on anything, and of course will gladly scrap the project should someone come up with a really better solution, but I think its time to start implementing my ideas for a new window-decorator. If this project works, and only once it does, I'll revert the g-w-d distributed with my compiz (and thus the decoration plugin) to their original state.
She has reverted gwd as described so you need cgwd and if you want to use will need to change your compiz start script. cgwd is in Quinn's repo:

From the repo front page
* remove patched g-w-d, in favor of cgwd
* to use cgwd, install packages 'cgwd' and 'gcompizthemer' and if you like,
'gcompizthemer-themes' (cgwd >= 0.1, gcompizthemer >= 0.13,
gcompizthemer-themes >= 0.5)

jesper has added support for all sizes of icons- see his post here

Look Ma, No Shaders!

Blurry things seem to be coming thick and fast these days!

julio has released a blur plugin that doesn't use Shaders!

You should note that this is very early stages and therea re a number of limitations: read all about them here, specifically, it is still very slow...

Friday, July 07, 2006

More fun with shaders - Copacity

...Conditional Opacity

This new plugin by Michael Callahan makes parts of the window that are similar to the background colour transparent, leaving things in the foreground as bright as they should be! At the moment it uses black as a background colour, but as the post says, that can change if people like it.

Michael's post explains all very well

Legacy applications don't support transparency. Composition managers work around this by allowing each window to have a global transparency value. However the correct behavior for most windows is to have the background color be translucent and the foreground be opaque so that text is more visible.

The conditional opacity filter works around this by using a fragment shader to only make colors that are close to the background color transparent. The rest of the colors remain opaque. The included screenshot shows a comparison of and emacs window using the copacity filter on the left and normal transparency on the right.
The text fade is clearly visible between the two windows.

The plugin is hard coded to use BLACK as the background color pending a review of the usefulness of the plugin and what the user interface should look like. It also doesn't set the transparency of the window but rather preserves the existing value. The current usage is to set a window up with black background and light foreground, then use transset to set the transparency value to the desired amount, then -c to turn on the copacity effect.
And a screenshot (from the original post)

Wednesday, July 05, 2006

Blurring is here

3rd time lucky!

Quickee has posted code and a compiled lib for a new plugin to the forums to blur windows! When used with Trailfocus it allows blurring of inactive windows. According to the author, it uses pixel shaders like water and is based on neg:
I created a fragment program (pixel shaders) plugin out of neg and water, which currently supports gaussian bluring of windows. It currently misuses saturation for blur setting so saturation doesn't work. For visible effect set trailfocus plugin minimum_window_saturation_level to 1, maximum_window_saturation_level to 100 and max_trail_count to 2. To enable the plugin press s for the whole screen and w for the current window only.

Looks like it is time for me to get a card with pixel shaders!

The latest version of the lib is here

Monday, July 03, 2006

Themeing the widow borders (sort of)

In a flurry of activity on the forum Quinn has released a tool to allow us to theme the colours and the transparency of the window decorations, and managers for the themes seem to be spawning all over the place!

It started with this post by kr0n0, which was followed up by Quinn's post:
Just to bump this thread, I'm playing around with this now since theming seems so far away, and working on creating a very-customizable patch to g-w-d (with a bool to switch back to the old behaviour should you wish)
Followed by this
This is going into cvs in just a moment.

The defaults still need some tweaking and there are tons of options to play with.

Make SURE you install new schemas

Turn on /apps/compiz/plugins/decoration/allscreens/options/use_new_decor

The post was 'hidden' in the Q and A forum and I built this CVS without even knowing the option was there :P

Moppsy posted a patch to get rid of the white 'halo' on windows here (which is in the CVS now)

There are a few posts on installing the new schemas here and here for a very useful post by moppsy on how to set the colours and transparency keys from the command line.

But we don't need that anymore :)

It all (seems) to start with this mockup by SparX
More mockups, refinements and code was contributed by Melissa, Chanders and Treviño, who has added settings to gset-compiz (picture).

strash has released a python tool aswell

The picture above is Quinn's tool based on the GUI designs by the above (with her own tweaks)

Quinn's most recent post says she will keep settings in ~/.compiz/themes.

So it looks like Tommie-Lie has a while to finish his complete windec themeing before we get restless again :P

Monday, June 26, 2006


Throughnothing has posted a patch that allows zooming of scaled windows when they are right clicked

From the forum post here

Here is something i made that lets you zoom in on a window during a scale out. Just right click on one of the scaled windows and it will zoom into the center for a better look. Let me know if you guys have any other suggestions/comments 126 This patch also has playerX's code for the organic window palcement in it (but it is disabled by default in case you dont want it) with the gconf option organic to turn on/off.

You will get screenshots tomorrow night when I have actually had time to apply the patch. now, because throughnothing submitted one :)

Note that this patch includes PlayerX's Organic Scale patch

More blurring

Another partly complete blur plugin has been posted to the forums by pixel (the orignal incomplete blur plugin can be found here)

originally I wanted to develop a blur plugin myself, but unfortunately compiz, xgl, fglrx or my xorg.conf settings are pretty unstable for me so it's not possible right now.

What I got already is a the blur fragment- and vertexshader, so maybe someone will find it useful.
They still have to be tailored and optimized. A ShaderDesigner project file is included too.

iXce has already suggested he'll look at it, so there could be great things to come.Perhaps it could be used as a model for some new cool effects?

Coupled with the information that Tommie-Lie is close to completing his themeable window borders, things could soon get even more exciting!

Saturday, June 24, 2006

Switch and Rotate

Throughnothing has provided a patch that doesn't show the window behind the switcher when using Alt+Tab - it just fades/highlights the windows and rotates the cube to any window on another desktop - by all accounts it looks very cool.
What if, as an option for the switched plugin, we could disable the pop-up window in front that slides the windows around to show you a mini preview of the window. I think it would be cool to have just the windows fade in and out (highlighting the one im switching too). Sometimes i find the bar with the sliding windows gets in the way when im trying to see an app as i alt + tab. Does anyone else think this would be useful?
The patch is here

Throughnothing has released a new version here
Latest version that fixes handling of minimised windows so now you can get a preview of them! (it unminimises them while they are the 'current' window.

Organic Scale

After an 'open call' for algorithms in the forums there PlayerX has posted an 'organic' scale algorithm.

Original version here:
Ok, this is the first version, at the moment this replaces the algorithm for scaling the current screen, scaling the whole thing will also be possible, as for scaling only windows which are "like" the currently selected I think the old method should be kept, because we want those windows to be easily seen.

The latest version is here: , and a Xinerama patch is here

throughnothing has posted a patch to give us the choice of 'organic' or normal
Here is a patch that gives an option in gconf-editor to use organic or not, along with the compiz.schema file. The option is called organic
Here is a swap in lib by throughnothing:
... this one actually has something im working on where right clicking a window while scaled out will zoom in on that window...its not very refined yet but i didnt have an .so without that...

Finally, here are some screenshots to allow you to compare the old and new versions

And Normal

Thursday, June 15, 2006

More DBus

PlayerX and iXce have been doing some more DBus magic

RotateUp and RotateDown cube bindings for cube plugin (iXce) can be found here

And PlayerX's bindings for the zoom plugin here

Here they are, bindings for zoom, 3 methods at the moment:
- zoomIn and zoomOut
- zoomTerminate

Calling them is similar to the previous ones,

dbus-send --dest=org.compiz.dbus --type=method_call /org/compiz/dbus/screen0 org.compiz.rotate.zoomIn
dbus-send --dest=org.compiz.dbus --type=method_call /org/compiz/dbus/screen0 org.compiz.zoom.zoomOut
dbus-send --dest=org.compiz.dbus --type=method_call /org/compiz/dbus/screen0 org.compiz.zoom.zoomTerminate

It should now be easier to write a bash/whatever script which rotates the cube when as a screensaver or something like that, please do so and post it

A screensaver that zooms and rotates! now would be cool :)

It was also put forward that there could be a visualisation (I.E for Totem or Xmms, etc) written that manipulates the cube. It wouldn't make working easy - but if the cube zoomed to the bass, I wouldn't mind :P

Enable KB and Mouse while zoomed

This "quick and dirty hack" by moppsy allows the user to interact with windows while zoomed in. I must confess I haven't tried it - so if I have misdescribed it I'd like to know :)

From Moppsy's post:
It still has all the same quirks.
You need to zoom in a little before you can zoom out, and you need to be grabbed to cancel it.
So when your zoomed, in or out, grab the cube as to rotate it and press ESC.
Initiating the switcher also adds a grab, so while it's displaying you can drag the cube around, ESC works here too.
Initiating scale is another way to drag the cube and ESC cancel.
The code and whole post can be found here. Be sure to note the instructions on configuring it

Friday, June 09, 2006


D-BUS is a message bus system, a simple way for applications to talk to one another.

And now, thanks to iXce, they can talk to Compiz too.

Gives the details of what he has done.

There are now patches to allow calling of methods from

There are other patches in that thread, it is best you read it to get their context and purpose

See the wiki for a dbus howto:

Window Menu

DavidR patched libwnck to allow Compiz to have a proper window menu

We now have such things as ‘move to viewport’ and ‘always visible’!

Note that these patches are not to compiz, so if you need to get a special version of libwnck, Reggaemanu and Quinn can do that for you...

Quinn posted them to the forum aswell as putting them in her repo:


David R implemented widgets, an application can be set as a ‘widget’ and that makes it hideable/showable by pressing F9.

QuinnStorm made a patch for Cairoclock (by MacSlow) to turn it into a widget – as an example of how it ought to be done. Her patch is here:

ToDo on the Cube

This tool, by mattdev121, allows a to-do list to be displayed on the top of the cube:

You need to store template.svg somewhere in $RUNPATH, and make sure the settings are set properly (as you can see, i used .xgl/todo in my home directory and pico as my editor )

It should work fine on most systems, you just need gconf-tool2 (and a compiz that reads from gconf), plus rsvg-convert that comes with any svg-enabled system

Get the code here:

Centre Window

Moppsy strikes again!

A little patch to centre a window

Compiz Without Borders

Moppsy has a plugin to remove the border from a window:

I found myself wanting a way to remove the frame window from an application, so I created this.
Here is is for anyone that might find this useful.

Get it here:

The Dock

Miniwin got split into two plugins – dock and miniwin. Still doing all the fantastical stuff as before, but now you can have one without the other:

As people have been requesting them, here is a screenshot:
You can see all my windows, plus a 'group' of Nautilus windows that is 'expanded'. You can see the Gimp as an unexpanded group

There is a thread discussing it here

there are many ideas dealing with what one can do with mindows, and the first realised was the dock/taskbar/panel thing you might know.
I've extracted the dock code and decided to make it a new plugin itself, the dock plugin.
As the latest versions of miniwin were rather stable, I recently added some animation and eye candy.
changes from miniwin-0.1.0 alpha to dock-0.1.0-rc1:
- code cleaning
- sane defaults
- animation fixes
- panel shows program name on mouse over
- panel is now colored
- panel can now have another position on the screen (bottom, top, left, right)

The most recent version, including a patch by iXce (and I think one by PlayerX too – can someone confirm?) is here

The thread is a useful resource, as always, as ddave leaves good changelogs…

Brightness and Saturation

BS - a plugin by Moppsy to change the brightness and saturation of windows, like transset, but less transparent. The post is here:

Negative Windows

Does what it says on the tin

Credit: Moppsy

Scale Enhancements

The scale plugin has had a lot of love recently! Here is an attempt to summarise all that has gone on. Please tell me if I've missed anything...

Scale now places icons on the bottom of the window (I don’t yet know who did this, I guess Quinn, as she did it on the switcher).

And thanks tot the work by arturh (or perhaps PlayerX – they both seemed to be working on it at the same time…) now ‘scale from all viewports’ exists
It has been committed to Quinn’s CVS

PlayerX has done some work documented here:
I've started by writing a very simple patch which changes the way windows are sorted, so that instead of showing the active window first, and then the last active windows and then the window before, it shows the windows such as to minimize the distance they move.
and in the same thread arturh posted a patch to allow deactivation of scale with mouse corners

I really don’t know who did it, but I am currently using the fact that if you click on the desktop in scale mode, all the other windows are minimised! It’s like ‘show desktop’!

And iXce did some Xinerama helping things to allow selection of which screen the scale happens on:
Here's the patch. It features a new option for scale, called "head". It's an integer that can be 0 (scale on current cursor position head) 1 (scale on whole screen) or n (n > 1), which scales on n-1'th screen. Hope it'll work.

Window Shading

For anyone who is still reading this blog, I am going to try to get it back off the ground... Sorry that I've been so lax

The good news is that David R has implemented window shading, responding to requests on the mailing list.

Here is the article. It, and some recent fixes, are in QuinnCVS and QuinnDebs

For those of you confused, as I was, as to how to turn this on: in Gnome go to System-->Administration-->Windows and change the double click action to shade.

There are already new commits to fix some bugs, so this looks like it'll be polished soon

Thursday, April 27, 2006

Coloured Drop Shadows

Hot on the heels of David's drop shadows patch, MacSlow (of SkyDome fame) has released a patch to change the colour of the shadows.

Here's a patch (against compiz from CVS-head about 30 min. ago) that
adds a shadow_color option to the parameters of the decoration-plugin.
The only thing missing is the compiz.schema. I
dare not touch that XML-file manually. So after you applied the patch,
recompiled compiz and restarted g-w-d and compiz you'll have to fire up
gconf-editor and add a string-parameter with the name shadow_color

You can use the normal HTML-like syntax for defining the wanted color:

#fff or #ffffff -> white
#f00 or #ff0000 -> red
#f73 or #ff7733 -> orange
Finally, here's a screenshot to show you how careful you should be with
chosing your new shadow_color :)

And he really isn't kidding!
Read the mail and get the patch here

Tuesday, April 25, 2006

Drop Shadows

I know there is a lot of catching up to do, but I thought if I didn't start blogging again soon I would never be able to catch up!

So, the big news: David (Reveman) has added themeable drop shadows to CVS!
I've now added configurable drop-shadows to g-w-d. You'll need current
CVS version of Xgl, which includes important convolution filter fixes
for properly rendered shadows.


He submitted a patch to the mailing list a while earlier, and this seems to be a full implementation of it.

Monday, April 10, 2006

Temporarily disorganised update

Hi. Who's friend here. I've received brief information in the form of text-messages from Who on the manner in which to update this, so I hope I do the right thing :) I should also point out that I'm not a member of the linux community, let alone the compiz community myself, so I don't know what a lot of this stuff means, or whether it's relevant or not. Hence, probably all updates will be just transcriptions from emails (which I'll check about once a day). Again, I hope Who will straighten things out when he gets back. :)

Stuff emailed to Who since the 8th which seems to be relevant:

  • screen hotspots are in the compiz cvs now.

    Ercin: the expose f-11 type functionality is possible (but limited) using compiz builtins. check the short discussion and Make it Work if you're a decent coder and feel so inclined.

    it's not like expose, exactly, in that it only hides/unhides your windows. nothing fancy at all. but compiz can do this, the functions are available, and they work from a plugin just fine (except that the plugin breaks, and i can't figure out why...) read the post for details.


  • [Posted somewhere by anonymous:] Up and running in the alpha MEPIS 6.0 release - using this how-to

Friday, April 07, 2006


I'm off on holiday for a week over Easter - so I won't be able to update the blog...

However, one of my friends has kindly agreed to post anything that anyone emails to me (mailforwho (at) googlemail [dot] com) to the blog - so as to keep it running

So, if you have some news, or if the QuinDebs get updated, etc - then email me and it'll make its way to the front page.

Don't do anything too special, I don't want to miss out :)

Interesting additions to CVS

David has updated the CVS (thanks to xplode_me for posting this to the forums...)

  • plugins/rotate.c: Add edge flipping support. (probably a lot of Tommie-Lie and Quinn's code from 'edgeflip'
  • plugins/scale.c: Allow corner screen edges to be used for initiating scale mode.

I also didn't comment on a change that was made a while ago: Rain effect added to water - now it seems to do everything xdesktopwaves could do!

CVS changelog here:

Show Desktop with Mindows

aj2r has made a patch for miniwin.c to allow it to work with show desktop applet for Gnome. I haven't actually had time to apply and test this yet - so I can't even say what it _actualy_ does (I.E whether it mindowises all windows or just plain old minimizes them... ) - sorry...think of it as a fun surprise

See the post to the compiz forums here

Thursday, April 06, 2006


Well, it doesn't sound as catchy as QuinnDeb - but it's still mighty useful if you're using SUSE10.1

Cyberorg has made some RPMs for Suse 10.1 and posted them to the new forums.

Get them here

From the post:

Here is the SUSE 10.1 rpm.

Uninstall the default compiz and install this one for additional plugins from quinn's cvs.



Wednesday, April 05, 2006

Compiz Icons

Well, this isn't strictly related to development, but I made 3 icons for Compiz which can be seen below. I'm still at the 'tell me what you think and I'll adjust them' stage - so comment away :)

The colours are from the Tango palette.

Posted here
license: Creative Commons Attribution-ShareAlike 2.0

Monday, April 03, 2006

Compiz on AIGLX

iXce has made some packages for Compiz on aiglx, they can be found here

Update: Now version 0.8Ubuntu2

Not really for you if you're using an Nvidia or newer Radeon card - but great for i830-i945

Read all about aiglx here

Quote from the post:
Here are my packages of Compiz-AIGXL on Dapper
They include latest Quinn's CVS (checked 10 mins ago) and latest official CVS improvements (3 hours ago, water.c).
Hope that they will work by you!
(note that the water.c won't work until GL_ARB_fragment_program is included in your Mesa/DRI drivers)

Latest version : 0.0.8-0ubuntu2

ChangeLog :
* 0.0.8-0ubuntu2
- Resynchronize with Quinn's package and latest miniwin
Please note that this package may be reuploaded with the same version number if new bugs are discovered in miniwin before next Quinn's package.
ChangeLog :
* 0.0.8-0ubuntu1
- Resynchronize with latest CVS

The Compiz Forum!

Unnoficial Compiz development, broadly overseen by QuinnStorm has a new home - its very own forum!

The forum uses PunBB and the initial glitches with being ubnable to upload files have been solved now! This seems to be where much of the discussion and development is talking place now.

Huge thanks to iXce (and Thirion indirectly) for organising this!

May the development go on!