switcher 0.2

Pinned windows completely messed up the switcher applet, so I quickly made a one line fix. Here’s the new package: switcher_0.2_all.deb

Update: Oh and here’s the source: switcher_0.2.tar.bz2. I forgot to add the license information, but it is MIT. I also forgot build instructions for the .deb package: you have to run build.sh as root which dumps the package as a .deb file in that directory. It is my first .deb package ever, so please be kind ;)

I’ll hopefully clean it all up and put the source up in a bzr repository over the weekend.

Comments

  1. January 20th, 2010 at 12:44AM

    Thank you!

  2. laram
    July 20th, 2010 at 02:42PM

    This is phenomenal, many thanks! : ) Simple, elegant and amazingly useful. The way Gnome Workspace Switcher handles workspaces in the presence of multiple monitors is very confusing, and this works like a charm Exactly what I was looking for. Again thanks! : )

  3. Le Roux
    July 20th, 2010 at 02:57PM

    Thanks.

    I should probably warn you that it has some bugs related to compiz. The window manager related library it uses (libwnck) doesn't really deal with compiz's method of doing multiple desktops, so I had to hack it a bit. It is also rather poorly documented. But events can sometimes come through at odd times and behaviour gets really weird when things are busy sliding/folding/zooming around between desktops and sometimes it goes a bit wild and hangs.

    It is much more stable when you're not using desktop effects but the reason I made this was actually because of bugs in Gnome workspace switcher related to compiz in the first place. So that doesn't really help ;)

    It also doesn't deal well with apps that have multiple windows open - it just makes one button for the entire app. I guess little dots on top of the button could help to at least indicate that, but it doesn't really bother me enough to do something about it.

    It might work better if it just polls things periodically to see what's on what workspace rather than listen and respond to events. That might be a bit more stable because with the event based method it can actually trigger more events and it easily becomes some kind of very inefficient loop.

    But I'm also hoping that Gnome 3 comes with some better desktop switcher or something and the problem justs goes away by itself ;)

  4. laram
    July 20th, 2010 at 02:58PM

    Le Roux,

    Just a quick follow-up: is there a way to get it to play along well with a vertical panel? Is there a way for me to tweak it so that the box of workspaces becomes a vertical one when the panel is itself vertical?

    again many thanks : )
    l

  5. Le Roux
    July 20th, 2010 at 03:07PM

    If I remember correctly, it uses a gtk toolbar. Toolbars can have orientations:
    http://www.pygtk.org/docs/pygtk/c...

    Some of the other widgets might also need to know about the orientation - I haven't tried it.

    applets can listen to 'change-orient' signals:
    http://www.pygtk.org/articles/app...

    (I _think_ that's the correct documentation. It looks like gnome panel applets have gone through multiple different interfaces/implementations through the years and there's little documentation about it especially from a python point of view. I was also under the impression that bonobo got removed, but here it is..)

  6. lara
    July 20th, 2010 at 08:43PM

    Hi Le Roux,

    thank you for the tip. After reading the first doc I tried changing the constructor of the gtk.Toolbar() on line 88 to

    self.toolbar = gtk.Toolbar(orientation=gtk.ORIENTATION_VERTICAL)

    but unfortunately it didn't work out: the switcher simply does not show up in the panel at all (no matter whether the panel is horizontal or vertical).

    best
    ~l

  7. laram
    July 20th, 2010 at 08:46PM

    Also! Just FYI I use it with xmonad (and no desktop effects) and it works great. None of the problems you describe with compiz. bye! ~lara

  8. Le Roux
    July 20th, 2010 at 08:52PM

    Will try and see about vertical orientation. I never use it because it is so buggy in general. (I have seen other applets break in it too)

Leave a Response

(will not be published)
(optional)
Remember Me
Subscribe to Updates