Desktop switcher for GNOME

UPDATE: I made a .deb package for Switcher.

I’m used to a fairly minimal config in GNOME where I only run one panel that’s not expanded at the bottom of the screen. It contains only a menu, date/time widget, notification area and the workspace switcher. The window list widget is a bit too big for me and I always run the same apps on the same desktops (in most cases only one or two non-overlapping windows per desktop), so switching between desktops using keyboard shortcuts is all I really need. What’s weird, though, is that I can still get lost without the workspace switcher at times and my setup does make things very confusing when someone else tries to use my PC.

There’s this long standing bug where GNOME’s workspace switcher applet highlights all windows on all desktops as if they are on the selected desktop. This has to do with the fact that compiz uses multiple viewports rather than workspaces and the widget isn’t 100% “viewport aware” (for lack of a better term). It doesn’t look like it bothers anyone else enough to fix it, but it drives me mad.

So.. long story short, I made a new panel applet that acts as a desktop and app switcher combined. It even has that “show desktop” button functionality thrown in and it works the same with desktop effects on or off (that is to say with viewports or workspaces). Instead of the big fat windows taskbar style buttons it uses little icon sized buttons for apps, so I guess you could say it looks a bit like a “dock”.

I haven’t put the code in any sort of version control system yet, but if anyone wants to try it, just download and install these two files:

You might have to log out and back in or kill gnome-panel or whatever so that “Desktop/App Switcher” shows up in the “Add to Panel…” dialog - I’m not really sure how to refresh that list yet.

Oh and you will have to install python-wnck. That’s the name under Ubuntu - not sure what the package name would be in other distributions. It also uses python-gtk2 and python-gnomeapplet, but that should already be installed.

Comments

  1. andrew
    January 9th, 2010 at 09:40PM

    This is awesome. Thanks.

  2. January 13th, 2010 at 12:27PM

    It works great, but I want to ask one thing: is there a way to make it inherit the gnome panel color / style? Because I have a dark panel color, and the applet color is like in your screenshot...

    Thanks!

  3. Martyn Parker
    January 13th, 2010 at 12:28PM

    Totally AWESOME.... Thanks very, very much!

  4. Le Roux
    January 13th, 2010 at 12:31PM

    Alin-Andrei: I'll have to look into it. I didn't specify any colours - I just used a gtk.Toolbar widget. Either that's not the right widget to use in this context or perhaps it is op to your theme to style toolbars inside the panel? But I'm not sure if that's even possible.

  5. January 13th, 2010 at 02:35PM

    "I haven’t put the code in any sort of version control system yet"
    It gives me a chill on my spine just reading this :D

    Neat little app!

  6. Le Roux
    January 13th, 2010 at 02:45PM

    João Almeida: Yeah. I'm completely torn. I wanted to use github, but I just can't get myself to like git. I don't like mercurial (or bitbucket for that matter) and don't even get me started on launchpad so I'm going to host my own bzr repositories which means I'm working on a little minimal web interface for that.. Talk about scope creep ;)

  7. Neilen Marais
    January 20th, 2010 at 02:05PM

    Hi Le Roux,

    Lemme know when your bzr web-hosty is ready, I may want to use it too :)

  8. March 24th, 2010 at 04:57PM

    Its realy cool man.
    Thanks!

Leave a Response

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