So I’ve been working on Freewins over the past few days.

Basically, here is a nice little changelog for you:

  • Input prevention that actually works (Unlike the previous broken method which had some problems regarding initial window size), Thanks to Danny Baumann and Kristian Lyngstol for making this an example in the shelf plugin – which is largely what most of this work is based on.
  • A more fluid animation.
  • Auto-Zooming

TODO List:

  • Window Hover-Over info
  • Resize on input-prevented windows

– SmSpillaz


Compiz Fusion Community News for 25th March 2008: Webgits, Curved Expo, Wallpaper Re-Write!

Hello There!

Welcome to yet another edition of the Compiz Fusion Community News, lots of cool new things for you to try out this time (and even more for users of those other OS’s to be jealous of). This time we’ve got a few bugfixes, a sleek new curved expo mode, screenlets supporting web-based widgets and a re-write of the Wallpaper plugin.

Also new, but not covered in this post because I already covered it is the new Freewins damage and shaping engine.

News in Bugs

  • Core now updates window types before applying states (preventing it from applying a window state to a potentially incorrect window)
  • Windows that have no minimize action associated with them will no longer minimize
  • Animations now finish correctly in freewins (preventing duplicate windows from being shown due a mask being set)
  • Atlantis2 now renders slightly faster
  • Fix potential crash when using simple-ccsm with another language
  • Windows which were minimized when compiz first starts are now unminimized with the minimize animation and not the opening animation.

News in Features


Well, whise (The main developer of screenlets) has added functionality to the main screenlets branch which allows you to use web-based HTML widgets and gadgets as screenlets! Unfortunately, I’m not able to grab screenshots, but it allows you to grab the widget’s code location from Google Gadgets, Spring Widgets, WidgetBox and Yourminis Widgets and display that web widget as a screenlet. Darknesssssskrad makes a great video tutorial on how to grab a widget from the web and turn it into a screenlet

Web Widgets are certainly my Screenlet of the Week!

Curved Expo Mode

Onestone has woven his magic coding wand and brings us another eye-popping cool effect, now to the Expo plugin with the Curved Expo Display!


This is a normal mode with and without reflection


Or you can make the curves very intense!

Of course, all the other expo configuration options apply; distance, reflection and also two new options to configure the brightness and saturation of unused viewports.

Wallpaper Re-Write

Thanks to a re-write of the wallpaper plugin, brightness and saturation changes are now applied no matter what plugin paints the desktop window. Here is an example with multiple wallpapers with expo – before and after:


Oh no!


It works!

And finally the compulsory ‘Shiny Desktop With Expo’ pic


It still requires that you patch your desktop manager for Compiz Wallpaper support , or if you have a recent version of KDE, it should work anways. Finally, you also need the new BCOP to build it as that has the PLUGIN_DISPLAY/SCREEN/WINDOW macros built in.

Other Stuff

Wiimote Plugin Video

Alright, so I said I would make this last week, but I’ve been swamped with real life recently, so I only got around to doing this now. Here it is =)

Tip of the Week

If you’re trying to get support and are sick of all those

“A handler is already registered for the path starting with path[0] = “org””

getting in the way of your really important debug output then simply disable the DBUS plugin

Well., thats it for this week. I’m off to go and fix bugs in freewins now – which have bee annoying me for a while. Hope they are fixed soon! Bye!


So over the past week and a half, I set out to finally rid freewins of it’s CPU usage due to window rotation. On the day that I tried it out, I found it much harder than I thought it would be. Let’s start with some background first:

Freewins is quite a simple plugin, just get some cursor movement events and rotate and scale some windows around. As you may recall, I added features like scaling, shaping and key-movement a while back. The problem with freewins was that it tells compiz to redraw the entire screen every single time a window is rotated and the screen needs to be updated. Thing is, that we don’t¬† need to update the whole screen – usually only a little bit has changed, like a carat blinking on your terminal. Updating parts of the screen has been around in compiz for a while, but freewins hasn’t made use of it until now.

Using some somewhat complicated mathematics and OpenGL code, I’ve managed to get Freewins to update only the necessary areas of the screen by tracking 4 points in 3D, projecting them into 2D and then drawing a box based on those points. The resulting box fully covers the window while transformed in any way and only the window is refreshed, not the whole screen.

But it doesn’t stop there! Remember how I added input shaping a while back? Well, it had one big problem. Rotate a window 180 degress in either X or Y and you have this huge input shape blocking your desktop!


I don’t like it!

The other side to this problem is that you could seem to click on a window, but you’ll click right through it, to the next window – which you can’t see! What happens if it was a hypothetical ‘sudo rm -rf /*’ (Don’t try that at home) button!

Thankfully, I’ve solved that problem and now the input region is at a somewhat sane size:

do-want.png do-want1.png

That blue region is drawn in real-time.

Where to from here? Well, I’ve got a couple of things on my TODO list, such as

  • Auto-Zooming of windows to make them fit their original box
  • Better axis-help (3D rotated containment circles)
  • Input prevention and better input shaping (looking on shelf and group)

For those who are interested, I’ll post the code if you just read more =)

 Continue reading "Freewins" 

Unfail blag for planet

Planet Compiz Fusion no longer displays the last image used in this post in the title name anymore. I did some poking around and realized the normal RSS feed had gone bad, so iXce and I found the atom feed and are now using that (I couldn’t find it at first!). If your shiny RSS reader is displaying random image names instead of actual post names from my blag, please update your feeds and add this one:

Just one of the many reasons to host a blag these days. Of couse, I really can’t be bothered to pay for hosting, handle the digg effect, and fight spam as it floods in. Oh well ūüôā

Compiz-Fusion Community News for March 9, 2008: New forum theme (finally)!

Hello there!

So after another spike in news and then a break we have yet another spike in news. It seems that everything goes quiet when I write this and then all of the sudden a whole bunch of new features are added and bugs fixed. Anyways, there are some more new features for you users out there and I’m sure you’ll enjoy them! Among the highlights are:

  • Session manager integration and support
  • Wiimote rewrite
  • New animations
  • Compiz Desktop Menu
  • New forum theme!
  • 0.7.2 Development release

Some bugs have also been fixed as well.

News in Bugs

  • Fixed broken focus fade and dodge for dialogs
  • Focus fade does not occur if windows do not overlap
  • Slight jump in magic lamp animation fixed
  • Fixed crash in animation when some multi-list animations are left blank
  • Stability fixes for wiimote
  • Fix the pulse animation in the group tab bar
  • Match settings now show a tooltip long descriptio
  • Compiz-Fusion-Settings and simple-ccsm ABI adaptations
  • Replace deprecated gdk_*API’s in emerald
  • Fix possible crash in DBUS plugin
  • Viewports don’t switch if a window requests focus
  • Fix erase mode in annotate
  • Edgebutton functions now terminate when you release the button
  • Winrules won’t affect override_redirect windows
  • CubeDBUS model loader finally fixed, does animation too

News in Features

Session Support:

maniac and Amaranth got around to completing the session manager support via core session functions and the session plugin. The session plugin allows compiz to communicate with the session manager to save / load window state – including:

  • ¬†Window Geometry
  • ¬†Window State
  • ¬†Whether the window is minimized
  • ¬†The workspace the window was on

All those who have session support enabled in GNOME or KDE should try it out – all your open windows will no longer be restored to the same workspace at the same time, creating a whole bunch of clutter.

New animations:

User kdubois has hacked together some new animations for the animation plugin. They are Helix, Blinds, and Sandstorm (Not available yet, stay tuned) Here are some videos of them in action

Helix Animation

Blinds animation

Sandstorm animation

Try the first two out over at this forum thread

Compiz Desktop Menu

crdlb (A.K.A credible) has tried his hand at C and has come up with a compiz desktop menu, much like desktop click menus provided by other window managers such as enlightenment and fluxbox. A screenshot is below:


There is also a menu editor to add / edit more things to menu, but I’m not able to run it at the moment. When I can, I’ll post a screenshot. Or you can try it out yourself

Wii Remote plugin re-write

For all of you who have a Wii Remote, I’ve re-written the plugin to make it a little more sane. You can find it on git. I’ll have a video of what’s possible up soon

Official Stuff


Me sounding a little over-enthusiastic about this is a tad unprofessional, but the new theme is absolutely amazing. HUGE thanks to iXce, his mate, wfarr and RYX for getting this done. I’m glad that the old ugly default theme can finally be replaced!

Also, a forum upgrade to vBulletin 3.7 took place and introduces a ton of new features for you guys. Among those are:

  • AJAX image preview within the browser
  • Digg / Google /¬† / StumbleUpon integration
  • Thread tagging
  • Many more small improvements!

If you are still stuck on the old theme, you can head down to the bottom of the page and select ‘Compiz-Fusion’ from the combo-box

Compiz Fusion 0.7.2 released

The next release in the development series of Compiz Fusion is out now. Compared to 0.5, this release includes:

  • ¬†Session Management in compiz-fusion-plugins-main
  • ¬†Mag plugin in compiz-fusion-plugins-main
  • ¬†Showmouse plugin in compiz-fusion-plugins-main
  • ¬†Mousepoll plugin in compiz-fusion-plugins-main
  • 3D plugin in compiz-fusion-plugins-extra
  • ¬†Login/Logout effect in compiz-fusion-plugins-extra
  • ¬†Maximumize plugin in compiz-fusion-plugins-extra
  • ¬†Notification plugin in compiz-fusion-plugins-extra
  • ¬†Shelf plugin in compiz-fusion-plugins-extra
  • ¬†Showmouse plugin in compiz-fusion-plugins-extra
  • ¬†Atlantis plugin in compiz-fusion-plugins-unsupported
  • ¬†Special editors for Key, Button, Edge and Edgebutton actions
  • ¬†Window matches can be edited with a window match editor
  • ¬†Advanced search in CCSM improved
  • ¬†Simple settings manager added for new users

Big thanks to all the developers, support team, testers, translators and enthusiastic and patient user base for making this release a reality

Other Stuff


GNOME-Do has received quite some attention over the past few days. It is essentially a composite aware katapult and quicksilver like app for GNOME. It can be used to perform common system tasks at a keystroke. A screenshot is below:


Get it here

Screenlet of the Week

I did some poking around the screenlets forum, and I must say that I love the simplicity of the CircleClockScreenlet. Here is a screenshot (Integrates quite nicely with my desktop ūüôā )


Tip of the Week : RGBA Apps in GNOME!

EDIT: Removed at the request of citiman. He doesn’t want it to be public at the moment. Have a look at OasisGames’ post for more info

Well that’s it for this edition of Compiz Fusion Community News. I’ll be putting videos of my Wiimote plugin up soon along with other things. Until next time, see you and keep having fun with Compiz Fusion!

– (It’s almost our first anniversary soon!)