Kristian’s look on things

December 12, 2007

Shelf Plugin preview

Filed under: Compiz Fusion, The GNU/Linux Desktop — Tags: , , , , — kristian @ 2:19 pm

I’ve been working on a new Compiz Fusion plugin currently known as Shelf (it was named miniwin2 for a brief period, more on this further down). This is a fairly straight forward idea, and I’m doing this as a bounty for Canonical.

Shelf plugin

What it does is simple: It visually scales a window down in size. Unlike resizing, this keeps the content of the window as-is, and just makes it seem all together smaller.

At the current time, the plugin is in an alpha-phase. It does the job of scaling quite well and it also masks out input. It hasn’t got an animation yet, nor is it very flexible. There are three preset scale factors: 1.0 (normal size), 0.5 (half size) and 0.25 (quarter size), and you cycle through them, default binding is currently super+l, though that seems to be taken.

It can deal with being moved naturally (in fact, it doesn’t even have to deal with it, it happens all by it self), it can take keyboard input, and it seems to generally work well.

What it lacks is an animation, more intelligence behind the interaction, input-handling of the mouse (currently you actually click the upper left corner of the window when you click a scaled down window, this will be changed), and general tweaking.

The name is courtesy of Gavintlgold who made a forum post recently about this basic idea. This isn’t a new idea, however. There was a supposedly problem-ridden “miniwin” plugin back in the old days before Beryl (and before compiz fusion of course), that did this. We’ve had to deal with input masking and such in other plugins by now, so we’ve been getting better at handling these sort of plugins. Danny Baumann pointed me in the right direction, as he’ve worked with the Shape extension for the group plugin.

12 Comments »

  1. This is really neat. Like Scale, but without the scale!

    Comment by Vadim P. — December 12, 2007 @ 6:30 pm

  2. Excellent ! keep going guys !

    Comment by Seb — December 12, 2007 @ 10:29 pm

  3. I hope someday this can be a sort of replacement to minimization, since minimizations can’t have window thumbnails anyway. Maybe even add a button to emerald somehow? :) It’s got lots of potential, I think. Thanks for the link to my post.

    Comment by gavintlgold — December 13, 2007 @ 2:10 am

  4. This looks pretty similar to a feature of Switcher for Vista. Before my days of Linux I tried Vista for a bit and found this program as an OS X expo clone but had a neat docking feature. If you have access to it check it out…I haven’t used it for months so it could have changed, but I remember it to be a nice feature (pity about the whole vista thing)

    http://insentient.net/Files/Screenshots/switcher-2704-dock.jpg

    Comment by David — December 13, 2007 @ 12:13 pm

  5. Wow. This has the potential to be the most actually useful compiz plugin. It’s amazing.

    Comment by Michael White — May 11, 2008 @ 2:11 am

  6. Are you currently working on getting mouse events scaled, so we can still click items while the item is shelved?

    If not, That’s a feature I’d love to have, and I wouldn’t mind helping with that, drop me an email later if you’d like.

    Comment by Phillip — May 13, 2008 @ 9:39 pm

  7. Not sure if anyone reads this - but this plugin is not only a “nice to have” but almost essential when running Compiz on the EEE PC 701. Several windows in Gnome, such as the “user manager”, calculator (in sci mode) and Compiz configuration, are too big for the tiny screen size of 800×480.

    The only thing that prevents this plugin from being a true MUST HAVE, is the fact that the window consumes left-clicks for moving the window around. If the window instead where to get the mouse events scaled - oh boy, it would rock! It would make my EEE tremendously more useful.

    Many thanks for a great plugin.

    Comment by peblin — September 30, 2008 @ 10:29 am

  8. I do read it :)

    Thanks for the feedback people.

    There’s no real acceptable way of scaling input. I know Sam is working on doing it in freewins, but frankly, it’s a horribly messy way of doing things.

    Hopefully, we’ll have SOME sort of input transformation in X at some random point in time….

    Comment by kristian — September 30, 2008 @ 10:36 am

  9. great plugin!
    and i support what peblin stated in post#7: it would rock even more when shelfed windows can handle mouse inputs. left clicks on shelfed windows may not move them around… that does the “Move Window” compiz plugin anyway (+Mouse Button1). i can imagine that this would be no soo easy (also need to scale down mouse positions?)
    but it takes keyboard events! so you can zoom in (Enhanced Zoom) and control shelfed windows with the keyboard. really cool.

    Comment by thet — November 1, 2008 @ 7:47 pm

  10. [...] http://dev.compiz-fusion.org/~kristian/2007/12/12/shelf-plugin-preview/ [...]

    Pingback by Another Examples of Productivity-boosting Eye Candy in GNU/Linux — March 1, 2009 @ 1:02 am

  11. [...] Kristian look on things Shelf Plugin preview Posted by root 2 hours 5 minutes ago (http://dev.compiz-fusion.org) I 39 ve been working on a new compiz fusion plugin currently known as shelf it comment by gavintlgold december 13 2007 2 10 am powered by wordpress this blog is protected by dave spam karma 2 759 spams eaten and counting Discuss  |  Bury |  News | Kristian look on things Shelf Plugin preview [...]

    Pingback by Kristian look on things Shelf Plugin preview | Wood TV Stand — June 1, 2009 @ 1:41 am

  12. [...] Kristian look on things Shelf Plugin preview Posted by root 1 day 3 hours ago (http://dev.compiz-fusion.org) I 39 ve been working on a new compiz fusion plugin currently known as shelf it comment by gavintlgold december 13 2007 2 10 am powered by wordpress this blog is protected by dave spam karma 2 759 spams eaten and counting Discuss  |  Bury |  News | Kristian look on things Shelf Plugin preview [...]

    Pingback by Kristian look on things Shelf Plugin preview | Wood TV Stand — June 4, 2009 @ 2:03 am

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress