Skip to content

Compiz and task switching with style

I was showing Alex compiz in action today and when he saw the scale plugin (the exposé-like plugin), he said that one thing he really wished that OSX did was implement alt-tab switching with exposé – so that alt-tab would trigger it and repeating alt-tab would cyle through windows and then releasing would restore the desktop with the selected window at the top. I don’t know if Dave Reveman specifically thought of this when he wrote the scale plugin, but you can achieve this effect simply by setting the keybindings to be the same as those of the switcher plugin: initiate on Alt-Tab, next on Alt-Tab, terminate on Release-Alt-L. Obviously, you should disable the switcher plugin so they don’t conflict, although the visual effect of both running at the same time is actually quite neat.

Now, when you alt-tab, it will cycle through your windows in the exposé view. Alex observed that with the zooming, you could bring all our windows from multiple heads on to one head so that you could cycle through them effectively. The only thing missing from making this a really effective task switcher is that they visual indication of switching between windows is a bit weak (it’s just the standard colour change on the window decorations). If there was a slight zoom effect so the selected window was a bit larger than the rest, it would be perfect. Hopefully one of us will do a screen capture showing it in action in the near future.

Hats off to Dave for putting something together that can enable this kind of stuff!

{ 9 } Comments

  1. MacSlow | 15th February 2006 at 18:11 | Permalink

    That’s some very good idea indeed! Let’s just hope this doesn’t get lost anywhere :)

    Best regards…

    MacSlow

  2. Shaya | 15th February 2006 at 19:07 | Permalink

    unfortunately, both scale and switcher plugins suffer from one fatal flaw.

    they can’t deal with minimized windows. I tried hacking switcher to not ignore minimized windows, but that didn’t work too well, as all it gets is a black screen, and when restored through the switcher, all I get is black window. If i minimzie and restore it via taskbar, it then displays fine.

    I believe this is because of the way compiz is designed, it basically throws the window away when minimized, so there’s no context to display. Unfortunately, for my use, that sort of sucks, so right now I have a very busy desktop with lots of windows open.

  3. giz404 | 16th February 2006 at 06:09 | Permalink

    It does sound great, and a bit more usable than the current application switcher that we’ve seen in the Xgl demos.

  4. Tony | 16th February 2006 at 07:31 | Permalink

    Does Compiz “just work” when you throw NLD 10 onto a new machine with the requisite graphics card or does it require additional hacking?

  5. Philip Langdale | 16th February 2006 at 07:47 | Permalink

    Shaya, you’re right that minimized windows are unmapped, which is the standard behaviour of a window manager. Due to the design of composite, unmapped windows are not updated. Of course, there is no requirement to actually unmap a minimized window, so you can modify the minimize plugin to not do that. Of course, you will then have the accept the additional memory consumption.

    Tony, my understanding is that NLD 10 will have everything set up including a special GDM session.

  6. Shaya | 16th February 2006 at 15:42 | Permalink

    my point was that compiz has to deal w/ those unmapped windows, if not w/ the scale plugin, then for sure with the switcher plugin (as otherwise, that’s a serious regression in usability, as the only way to select a minimized window is through the taskbar, and if one is running w/o a taskbar, I’m unsure how one would select it)

    unfortunately, I’m having a hard time figuring out what to change to get the behavior I want, as unmapWindow is called in many different contexts, and mapWindow is called in very few.

  7. Daniel J. Wilson | 17th February 2006 at 01:46 | Permalink

    Mac OS X’s Exposé does provide a feature similar to what Alex wants. Activate the All Windows mode and then press Tab to cycle through the windows of individual applications. Quite handy when combined with drag-and-drop.

  8. Colin | 22nd February 2006 at 16:50 | Permalink

    I think the code from the zoom plugin should be factored into the swtich plugin or the two plugins should be made to play nice together… I *really* liked the effect of both plugins running together – very, very smart. But the window the switcher selected and the window the zoomer selected do not always match up, especially when you use the previous option of the switcher which was recently implemented, or have windows on multiple desktops.

    I’m really looking forward to some interesting, community developed plugins for compiz. I want a maximise effect and a window close effect!!! Gimme that eye candy :) If I every have time, I’ll try and play myself.

  9. chombee | 28th April 2008 at 15:12 | Permalink

    Unfortunately this doesn’t seem to be possible any more. With the version of compiz that ships with Ubuntu 8.04, for example, you can no longer set the Next and Terminate keybindings for the scale plugin, at least not through CompizConfig Settings.

    Which is a shame, because the application switcher in compiz is still a big regression in usability compared to metacity, and as far as I can see nobody is taking it on.

    Even if the keybindings can be set, I think the way that the windows wobble from side to side as they zoom out and then in when activating and deactivating the scale plugin is quite nauseating, and it doesn’t seem possible to turn it off.

    And yes, there is the problem that you can’t switch to a minimised window. The Application Switcher now shows an icon only for minimised windows, which is okay.

{ 1 } Trackback

  1. [...] Plugin-love I would like to see coming to compiz is for example a slight shading of the cube-surfaces when rotating (maybe different colored lights depending on day/night-time). I would have done that myself already if I’d found the time to figure out the inner workings of compiz-plugins. Reading a bit on planet Gnome I found a pretty interesing idea for fine-tuneing the scale- and switcher-plugins sugguested by Philip Langdale here. [...]

Post a Comment

Your email is never published nor shared. Required fields are marked *