Sunday, July 08, 2007
Brightness and Saturation
http://www.compiz.net/viewtopic.php?id=629
http://www.compiz.net/viewtopic.php?id=629

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: http://www.compiz.net/viewtopic.php?id=721
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
What is it/are they/are you talking about?
Xgl and Compiz were developed by David Reveman, first indpendently and then at Novell. Both are included in OpenSUSE (and of course the commercial SLED) which is supported by Novell. I will let them explain themselves :)
The best way to understand why I am blogging about it is to look at some of the videos. This stuff makes your desktop seriously cool (and, of course, allows you to be more productive :P)
XGL is not to be confused with AIGLX - a RedHat championed set of extensions to the current X server to achieve a similar effect. Compiz can run on AIGLX.
Though they were developed 'behind closed doors' for some time, XGL and Compiz are both now open to community scrutiny and patches, and as of mid March it seems to be all go, with new patches and features daily! There is discussion of the 'closed doors' approach, in copmarison to the scrutinisable open approach of AIGLX here
How Can I Get Them?
The way you get Compiz and Xgl will vary depending on which distribution you are using.
Please note: XGL and Compiz are unstable and such should not be run in critical situations.
If you have Nvidia hardware you are likely to have more luck than those with ATI, provided you are using propriety(I.E binary only) drivers
D-BUS is a message bus system, a simple way for applications to talk to one another.
It still has all the same quirks.The code and whole post can be found here. Be sure to note the instructions on configuring it
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.
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
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

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)
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
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 organicHere 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...


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.

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.
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

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.

And a screenshot (from the original post)
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.
