Friday, March 31, 2006

AdminCompiz = CompizTools

What was AdminCompiz has been renamed CompizTools, and is now being developed jointly by GaRgAm and Anbreizh.

It is available in English, Spanish and French at the moment, but all translations are welcomed by the authors!

All the latet details can be found here

MiniWin

ddave has released an early testing version of miniwin - a plugin to allow iconifying of windows. The windows can be restored to their original size and shape by right clicking on the 'icon'.

Becuase it gets confusing to talk about icons, mini windows, main windows etc, I am gonna go ahead and define the term mindow, for a mini window, that is an icon for a normal window

Latest Version: 0.13 - Now with dynamic backgrounds for the dock. Note ddave's warning
- - please set demindow_key to Button3, otherwise you will not be able to move your mindows around
- - - or change your default move key bindings.

0.0.12 was a big rewrite and some people had trouble running it. The best success seems to have been with the very latest XGL and Copmiz from Reggaemanu - details here

the changes are:
Last Changes:
ATTENTION: please run a gconftool-2 --recursive-unset /apps/compiz/plugins/miniwin as there are many
options which have changed there name and/or were removed

- code rewrite: prepared for 0.1.0
- - introduced event handling for mindows
- - separated the taskbar code from the basic mindow code
- - more debugging output
- fixed: mindows as well as windows remember their position (independent from each other)
- changed taskbar behaviour
- - mindow_key doesn't put mindows in the taskbar, only minimizing them does
- - that means: it is now possible to have (different) mindows on your desktop _and_ in the taskbar
- removed option bring_back_centered
- removed the dock window (temporarily) as it seems to cause *many* problems (focus, inputfocus, swapping around, even crashing compiz sometimes)
known bugs:
- if you hover mindows very fast and often, the may move around
- the firefox bug is now even worse (though it only appears here when putting firefox in the taskbar), but I guess this is not only miniwin's fault, but compiz's as well.
His original announcment is here. The latest source to try, aswell as a compiled binary is here
There is some stuff to build it for aiglx instead of xgl here ( OLD - courtesy of GeorgeNorton)

ddave has a very useful post on it here, which answers a lot of questions:

Some links to relevant versions: Development is happening very fast (as always), so if this looks old, please add a coment or check out this thread

Test, test, test! results in the forum

Wednesday, March 29, 2006

Trailfocus with mouse hover!

DDave has mailed me and Quinn a patch to allow the windows that are not focussed to become opaque on hover! this is really cool if you find that you have a window mess! I applied his patch to the latest QuinnSource and compiled and it works really nicely!

Edit: he has now posted it to the forums too

Basically, transparency follows the mouse but focus doesn't. There are separate keys in Gconf to set the transparency of the unhovered but focused window (hover_focus_transparency) and the unfocussed and unhovered windows (hover_transparency). The hovered window is opaque.

He has attached a 'swap in lib' to this post

Monday, March 27, 2006

On the road to themeable window borders

Edit: these patches themeselves do not really help for user themeable windows. this post will link to some key threads discussing the various plans of different people to develop a themeable window-decorator.

As antother of the 4 patches Felipe posted to the forums there was some preliminary code to allow a hard-coded second theme to gnome-window-decorator (2 of the patches). At the moment it does very little obvious stuff (see the screenshot) - it is very basic, and the main people pushing Compiz on Ubuntu seem agreed that it is not the right direction to take for further development. (this is not what the blog used to say - sorry everyone, I seemed to suffer from some optimism based delusion ;)

Patches here and here



Felipe doesn't know who is developing this, or who released the patches, so I can't give credit to the right person! Anyone got a lead? From the URL, I would guess it is someone from the Gentoo community - I'll check their wiki later...

Switcher to include minimized windows!

Felipe has dug up 4 patches, one of which allows switching to windows that are minimized using the switcher! See the mail to the xorg mailing lists here

QuinnStorm has applied it in her latest debs! I haven't tried them yet - can someone confirm whether they show a preview for the window that is minimized...

Another of the patches fixed the 'Show Desktop' button in Gnome, Quinn has applied this too.

These were both developed by Alex Jasse alex.jasse at googlemail.com

Friday, March 24, 2006

EdgeFlip

This has now been updated. The original version is in the latest QuinnDebs

The first update allowed you to select what ratio of the window should be on the next desktop before it changed the window position (you can still do it with a 'timebased' method too), and a second, yet to be released will add he spin code from Quinn

tommie-lie has created a new effect called 'edgeflip' - it allows you to drag windows from one desktop to another - enlightenment stylee, and is an addition to the move plugin.

The obligatory quote from the original post:

And this is how it works:
You'll find two new gconf keys: /apps/compiz/plugins/move/*/options/edgeflip and .../edgeflip_time. The first one activates edge flipping and the latter one specifies the time in seconds how long it will take before a moving window on the edge of the screen actually causes a flipping.

The effect:
If you drag a window to the left or right (top and bottom makes no sense ) edge of the screen, you will automatically take it to the virtual desktop left or right of your current desktop, just like you could do with Enlightenment.


ToDo:
- Don't make the flipping dependend on the moving. Right now, the time is checked in the motion event handler, so you have to move the window to the edge, wait until the time has passed by and move the window again a little bit but staying at the edge (i.e. only up/down movement).
- Have a cool rotation when the window is taken over to the new desktop *if* the cube and rotation plugins are enabled.
Can't wait to try it!

Exposé for Current Application

QuinnStorm has ubdated her Debs again to include another extensions to the Exposé like behaviour

You can now make it scale only windows from the current application - perfect for when you are using the Gimp or have multiple Nautilus windows open :)

Thursday, March 23, 2006

New XGL for Smooth Operation

Well, thanks to DeeZiD and reggaemanu you can no get the latest version of XGL from the same repositories as you need to get the QuinnDebs! Coolness!

The QuinDebs post has the appropriate sources.list line

The original HowTo by DeeZiD can be found here
reggaeman then packaged them for Ubuntu so they can just replace the current versions
QuinnStorm put them in her repositories

Straight from DeeZiD's post, here is why you want, and don't want these files :)
Advantages:
- No more slowdowns with NVIDIA-cards
- No more glitches with ATi radeons (solved my X700mobile problems)
Disadvantages:
- new mesa doesn't support Intel 915 graphics (won't compile)
- Xgl and mesa are checkinstall builds (better than nothing)
reggaemanu pointed out that his debs do support the latest Intel 915 and also that, being .debs, they are not checkinstall builds...

Some people, myself included, are reporting more visual defects with these builds, but many others claim they are much smoother and better! I wonder how much of it is the placebo effect ;)

The ATI fix is a contentious one - X300 and X600 users in the forums are still having problems (no new ones though).

When they work, they really speed things up!

You can browse the CVS for XGL here

Latest QuinnDebs

Latest QuinnDebs

This is a dynamic post which should always hold the information on the LATEST QuinnDebs (see my announcment of them here)


Current Version: 0.8Ubuntu14.

Here is the actual post on the forums.

These debs basically include everything that the community has done to date and are synced with CVS on a regular basis: Additions that have come in the most recent upgrade are in green and bold, previous update are just green.

  • QuinnStorm's 'Zoom on Luunch', now with added 'Zoom Out on Close" for us all to enjoy
  • Switcher now behaves as a special case so that it doesn't zoom (though many people said they thought this was cool - should it still be an option?)
  • The brightness, saturation and opacity options from the opaquefocus plugin by Athropos, _avatar and QuinnStorm
  • The Trannset plugin (Athropos)
  • Lates bugfixes from CVS
  • Latest gnome-window-decorator - including the 'On Top' and 'On All Workspaces' addition.
  • ALT+TAB limited to the current workspace
  • Patches to 'move' and 'opaquefocus' so that they respect transparencies set by transset and the mouse scroll wheel
  • New menu item - 'reset transparency' on gnome-window-decorator
  • fixed up minimize (that provides zooming on launch) to look a bit better with the zoom in/out tooltips/menus (See the 'Side effects of 'zoom-on-launch')
  • Scale windows from the current application only.
  • EdgeFlip original version + rotate (added by Quinn)
  • Changing desktops behaves so that 'classic' desktop wallpaper switchers will now work, the pagers themselves may look strange (reverted in later versions)
  • Fixed a bug that stopped Compiz from opening sometimes.
  • Reverted changes that caused wallpaper changers to work but pagers to malfunctionAdded TrailFocus
  • Added toggle to make windows appear/disappear from the centre of the screen
  • Fixed OpaqueFocus' behaviour with Flash
  • Fixed the 'Scale this application only' so that it can now use WM_CLASS not WM_CLIENT_LEADER, which means it will work regardless of instance.
  • Melvil's patch to stop windows that have a transparency set from changing transparency while being moved.
  • OpaqueFocus no longer causes 'ghosted' windows
  • Added the latest additions to move.c by tommie-lie
  • Removed opaquefocus – the functionality of which is still provided by a special case of trailfocus (which was, in the first place, a modification of opaquefocus…)
  • There is now a toggle to disable drawing of the top and bottom of the cube when it is inverted (so you can see skydome)
  • Added toggle to invert X (as well as Y) for rotating the cube)
  • Added patch to make 'Show Desktop' work
  • Applied patch to show minimised windows in the switcher
  • Applied Radeon patch (tentatively, will be reverted if it causes problems) to allow windows of size greater than the graphics card's max. texture size.
  • Basic theme architecture implemented
  • Theme patch reverted
  • Water Plugin added
  • Bugfixes!
    • Bugfixes by Alex Jasse for his Show_Desktop fix
  • Fix switcher not to show previews for minimised apps (draw an icon instead)
  • Draw an icon for all apps in the switcher
  • Bugfixes
  • Sync with CVS
  • Contents of Ubuntu14 unknown! does anybody have any idea where to find it or if there is a webcvs for Quinn's CVS?
  • Fix for problems with the minimize plugin
  • Sync with latest CVS.

You can find them and their source here or just add this line to your /etc/apt/sources.list

deb

deb http://www.beerorkid.com/compiz/ dapper main

To do this use these commands in a terminal

sudo cp /etc/apt/sources.list /etc/apt/sources.list_PRE_QUINN
sudo gedit /etc/apt/sources.list

then paste the line in at the bottom of the file and save and close gedit
Finally, type

sudo apt-get update
and sudo apt-get dist-upgrade

You should be ready to go!

Transparency on the move

Melvil is back with a patch to ensure that any opacity value set with transset or the mouse remains while the window is being moved.

You can read all about it here

It looks like Quinn has applied it in her latest QuinnDebs

TrailFocus

_avatar (of brightness/saturation in opaquefocus fame) has released a new plugin called 'trailfocus'. He explains it here:

trailfocus is a compiz plugin that changes the brightness/saturation/opacity of a window based on how long ago it was focused. This way the user can easily and quickly find recently used windows when they are otherwise obscured.
As always with _avatar's additions, here is a screenshot he provided: (it doesn't really do the effect justice)



This hasn't made it into the 0.0.7-0ubuntu4 QuinnDebs, but we probably won't have to wait too long.

Blurry Code

While hunting around for Compiz documentation yesterday (if anyone knows of anythinng more than Francis' Walkthrough then please show me!) I stumbled upon this plug-in (a text version here)

It aims to blur what is behind any transparent(translucent) object - so for example the desktop icons underneath a semi transparent window. It sounds like a great way to reduce the clutter induced by too many semi transparent windows!

However, the plugin is not complete, and doesn not work :(. I emailed the author to ask about its development and got the following response:
Blurring behind translucent windows was the original intention. The
plugin does not work, and will unlikely be finished anytime soon. I
got frustrated with the lack of documentation for compiz plugins, and
the fact that I didn't have the GL_ARB_shading_language_100 extension
inside xgl (probably a mesa/nvidia thing).
So, in the spirit of Open Source, does anyone want to pick up the mantle?

Sorry to dissapoint those who want finished products!

Wednesday, March 22, 2006

QuinnStorm: QuinnDebs and QuinnSource

QuinnStorm has released a set of Compiz .debs to allow us all to try her latest enhancements hassle free. She has also provided a copy of her source tree so AMD64 and non Ubuntu folks can build it for themselves.

She has started a new thread for her debs that can be found here. Her explanation of why is here

These debs basically include everything that the community has done to date, including the ALT+TAB limited to the current workspace patch (which she has apparently edited to work with the latest CVS). This includes, but is not limited to:
  • QuinnStorm's 'Zoom on Luunch', now with added 'Zoom Out on Close" for us all to enjoy
  • Switcher now behaves as a special case so that it doesn't zoom (though many people said they thought this was cool - should it still be an option?)
  • The brightness, saturation and opacity options from the opaquefocus plugin by Athropos, _avatar and QuinnStorm
  • The Trannset plugin (Athropos)
  • Lates bugfixes from CVS
  • Latest but one (see below) gnome-window-decorator - including the 'On Top' and 'On All Workspaces' addition.
You can find them here

The new thread that QuinnStorm added has the chnages to the window-decorator integrated, as per her comment.
Moments later Quinn update her gnome-window-decorator with latest CVS bugfixes and her own patches - so they can be found here

Tuesday, March 21, 2006

Staying on Top of Things!

It seems that while I was sleeping, QuinnStorm was not!

It is now possible for any compiz window to be 'On Top' and 'On All Workspaces'

See the post here.
I put together a new gnome-window-decorator that has a custom right-click menu sporting ON TOP and ON ALL WORKSPACES! Attached is a .tar.gz of both gnome-window-decorator.c and a binary of gnome-window-decorator that should work with the debs I posted earlier just fine (and the front-page ones)
The front page referred to is here

I'll be looking at the CVS changelog later today to see which of the recently blogged bits are going in.

No code :(

Well, I have been blogging about other people's inovations all day, and now I want to write about a proposal of my own:

I would love any window to be manually scaleable - perhaps by CTRL clicking and using the resize handle.
I think a good implimentation should then allow the window to return to 100% size when the mouse moved over it, or when the user clicked on the title bar.

Some cases where I think this would really come in to it's own:
  • For toolbox windows in The Gimp or Inkscape - make them small in the corner (or even, should I be so bold, small, desaturated and translucent :P, hell, we can do it all now). Move mouse over them to use them and watch them shrink back to an unobtrusive size when you move the mouse away. Smooth.
  • For reading from one source and writing another (for example, composing a blog from many forum posts :P). Have the source page open, but scaled, and allow the user to read it full size on mouse-over. They can return to their original document when the mouse leaves.
  • For status windows, such as network status or a sound level monitor.
  • To keep track of multiple messenger conversations - scale/hide them down the bottom and then mouse-over to type, move mouse off to re-scale (you could concievably read them while scaled!)
The possibilities are endless. i'm getting quite excited just thinking about it!

The problem is, I haven't done any Compiz coding yet, and this seems like a big undertaking. Is anyone willing to give it a go?

It seems to me that the key bits of code (scaling and mouse-over tracking) are already done, so would it just be a job of pulling it together?

I also suggested some enhancments to the scale plugin - namely
What do people think about some extensions to 'scale':

A) Hotspots on the screen
B) In addition to the normal mode for scale I'd love to see these others:

  • 1. All applications, minimised or not (perhaps with the minimised ones desaturated or separated somehow)
  • 2. All windows from the active application
  • 3. All windows from all desktops

Post your ideas!

Who

Zoom on Launch

As part of QuinnStorm's mad code push she has hacked the minimize plugin so that when any new window is created it zooms in from where the mouse pointer was when it was clicked (using the same zoom effect as minimize). This looks really cool!
It has been through a number of revisions -
  • Rev1: No gconf key to turn it on/off
  • Rev2: has the Gconf key but had a glitch so it was inconsistent
  • Rev3: This has the Gconf key and also solves the bug stopping it from working on all windows. QuinnStorm has suggested that if the fact that the 'switcher' dialogue behaving like this is annoying then he may be able to make it a special case - if you have a suggestion, head to the latest-compiz thread in the Ubuntu Forums folks :P
Some Gnome users experienced initial problems with getting it to work, chanders eventually solved it here (see the edit)
Ok I think the problem was the list of window types in gconf. For some reason I had a 'Toolbar' in there and no ModalDialog... When this was changed it all works perfectly!!

REV3 works! make sure window_types is [Utility,Dialog,Normal,ModalDialog] is so.

The Rampage

Well, I went to make a loaf of bread (yes, I did _actually do that), watch a film (The Constant Gardner...) and eat some dinner - all of a sudden this blog is old!

Firstly, Athropos has released a 'latest' version of opaquefocus with the two patches by _avatar and QuinnStorm - that can be found here.

Meanwhile, QuinnStorm has been working rather quickly on a number of new plugins/effects. She released three compiled librarys here buyer beware, the libminize on this post is not the latest - it is the one being referred to as Rev1 in the forums
Here's a precompiled libminimize.so, libopaquefocus.so and libmove.so. the libmove.so is needed for translucent-on-move. I hope my changes are to everyone's liking ^-^
So the new information is that the minimize plugin has been hacked:
Because I want to roughly keep a new post for each feature, see the next post for the details!

Monday, March 20, 2006

Handling of Dialog Windows

Just added to CVS is a patch to:
Allow dialog window actions on util and toolbar windows
It seems to do the same thing as QuinnStorm's patches here and here, but yet it seems to be done in a different way.
The changelog is here

QuinnStorm has posted some more updates here
The new version has support for KDE's "context-help" button in the title-bar.
Her comment also confirms that her patches have made it in to CVS

Alt+Tab limited to the current workspace

Update:QuinnStorm has patched this so it now applies against CVS and can be found in her latest debs or source tree, downloadable here

Update:
Emanuel has just emailed to say this pacth doesn't apply against the latest CVS, and that it also has not yet made its way into CVS. I'll update you if anything changes, for now you can check the CVS changelog and get the latest code if things change (see the links to the side)


The Gentoo XGL Wiki has some information on patches to limit ALT+TAB switching to the current desktop only:

From http://gentoo-wiki.com/HOWTO_XGL

you can apply this patch, by Tiago Sousa, to only switch between the windows of the current workspace. Then Bartosz Taudul enhanced it with the ability to turn it on or off through a gconf key. The final result, which is the recommended patch, is here.

I looked at the latest CVS and it doesn't seem to be there yet... so just a patch for now - Please correct me if I'm wrong!

More Transsetability

First it was only avaialible via the command line, then you could do it with the mouse wheel thanks to Francis Woodhouse (see here) . Now, the ever prolific Athropos has extended the transset plugin to allow diffferent windows to have different transparencies from startup!

Note the instructions below on how to find the correct name for a window.

This has actually progressed over a few revisions, and I will post the 'history' such as it is here:
  • First was a simple plugin to do the thing for Gnome Terminal:
  • It was then extended to support an unlimited number of applications through gconf
  • Finally, the method of configuration was altered to make it easier to manage
I think that is up to date!
To add my classic quote from the original article:
Applications may now be configured using gconf-editor. The key is name 'apps', and its format must be like that:
"Gnome-terminal 80 Rhythmbox 90"
There is no limit in the number of applications.

To find the correct name of applications, use this command:
xprop | grep "WM_CLASS" | cut -d \" -f 4
You will then have to click on the corresponding window.

Another Swithing Enhancement

Created by Athropos and edited by David Reveman when being applied to CVS the scalefocus-enchancement, allows the user to choose the opacity of unfocused windows when using scale (expose)

Athropos says:
The patch allows the user to choose the opacity of unfocussed windows during the scale function (F12). I sent it to David Reveman (at Novell) and he added it to the CVS.
So, yet another option to play with!

Neat Little Admin tool

GaRgAm has started a C+GTK project that seems to be running out of the Ubuntu Forums to design a configuration editor for Compiz that means the user can bypass Gconf editor! It looks really promising as a way of letting non-technical users play with Compiz.

The initial forum post is here:
http://www.ubuntuforums.org/showthread.php?t=140687


screenshot courtesy of Tharna

Thursday, March 16, 2006

Introduction to Compiz/XGL

What is it/are they/are you talking about?

This blog is devoted to the developments in two packages/programs: Xgl and Compiz. To see all the latest plugins and patches just check back to the front page http://compiz.blogspot.com

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

Please email me with the details of how to add it to any other major distributions.



What Can it Do?

I think it is best that I let the blog speak for itself on that one! I try to have a new post for every new feature or fix.


The key thing about Copmiz is that all of the effects are provided by plugins. It is very modular and extensible, and this blog is devoted to providing the latest information about new plugins


The openSUSE wiki on Compiz has information about the standard functionality/Available plugins

OpaqueFocus

Update: Latest version can be found here or in the QuinnDebs/QuinnSource

Athropos
has made a plugin to allow changing the opacity of the unfocussed windows:

See this forum post here for more details. From Athropos' post
I made a small plugin that change the opacity level of unfocused windows.

If you want to test it, just put libopaquefocus.so in /usr/lib/compiz and add opaquefocus to the list of plugins in gconf-editor (in apps->compiz->general->all screens->options->active plugins).
Further to this, QuinStrom has pathced the patch to allow transparency while moving and to change the opacity of the focussed window too- the post announcing this can be found here. From the post:
I've managed to successfully patch opaquefocus and move to have both selectable opacity for focused windows and selectable opacity while-moving.
Finally (and I think I have got these in chronological order!), _avatar has modified it so that the the saturation and brightness can also be set - see here. From _avatar's post:
I have created a patch for Athropos's opaquefocus plugin. My patch adds the ability to change saturation and brightness for unfocused windows. The following are some screenshots showing what it looks like.
Some eye candy for you all (courtesy of _avatar):





There is some more discussion of Avatar's plugin here:
http://www.ubuntuforums.org/showpost.php?p=841922&postcount=663

Correct at time of writing - but things change so quickly at the moment!

Who

Two plugins to make switching easier

Edit: Melvil has just left a comment saying that these are both now in CVS

I'm gonna blog these two together as, while they do different things, they both make switching between apps easier and cooler:

This one by Daniel G Taylor desaturates the background while using the scale (Exposé) trick,

and this one by Melvil brings brings the current window to the top of the Z-order while switching windows (it's called 'switching-enhancements')

Both of these guys have emailed their patches to David Reveman, so could(/should :P) be included in later releases. For now, you can use them as patches and build yourself, or, if you use Ubuntu, download the 'latest-compiz' packages by DeeZID here.

I will be blogging about DeeZIDs contribution later! I owe a lot of my information to posts on the thread he started!

Skydome

Edit: As you will see in MacSlow's comment below, David Reveman has chosen to implement only .png images - so the quote from MacSlow's blog is now incorrect.

Well, I'm a bit late on reporting it, but here you go:

MacSlow has made a patch for Compiz (not strictly a plugin, but it fits here anyway ;) to allow the background of the cube rotation rendering to be changed.

A user can use gconf to set what is displayed behind the cube

MacSlow says about his patch:
My skydome-patch will allow you to set any power-of-2 image (e.g. 1024×1024) to be used as texture for the background (that empty void of space behind the cube, only visible when you rotate the cube). Filetypes like .png, .jpg, .tga and .bmp can be used. You can set the image on the fly via gconf-editor. If you enter an invalid filename a fallback color-gradient will be used. No more black backgrounds. Have a look at the screenshots below.









You can read more about it here
http://macslow.thepimp.net/?p=31

Monday, March 06, 2006

Where are the plugins!

XGl and Compiz are here, along with a plug in mechanism - there's just one problem: as yet, I can only find one plugin!

This Blog is here to save the day, and keep a list of as many of the XGL and Compiz plugins I can find...

So, where are the plugins, who has them? Mail me!

mailforwho {at} googlemail [dot] com

The fist plugin that I can find is this one by Francis Woodhouse that lets you adjust the transparency of a window using the mouse wheel.

The more interesting thing about that post though, is that it details how to write your own plugin. Someday, when I get more time, I may just have to try it