Exposé-type behaviour in Openbox

May 23, 2008

I’ve figured it out! You may remember I was trying to get a Exposé-type behaviour with Skippy in Openbox: move the mouse in a screen corner and Skippy launches to show you all non-iconified windows on that workspace. Well, I’ve found a solution using Xautolock.

As the name suggests, Xautolock is meant to launch a screen locker, such as xlock, automatically when the mouse cursor is inactive in one or more of the screen corners. It can, however, easily be used to launch any type of application.

Here is how you can use it with Skippy. Add the following line to your Openbox autostart file:

xautolock -locker  "xte 'key Scroll_Lock'" -corners 0+00  -cornerdelay 1 &

This will launch xte (-locker “xte ‘key Scroll_Lock'”) when the mouse cursor has been in the upper right corner (-corners 0+00) for a full second (-cornerdelay 1). You can specify many more options; have a look at the very detailed man page for more info. Xautolock runs very light (80 kb on this computer), so it shouldn’t slow things down.

Xte comes with xautomation. It simulates a key press, in this example of the Scroll_Lock key, which is the key I use to launch Skippy. If you launch Skippy with a different key (the default is F11), make sure to change the above xte command appropriately. You obviously need to have Skippy running for this to work. Unfortunately Skippy is not in the Hardy repositories (though it was in the repos from Dapper to Gutsy), so you’ll have to build it from source.

And that’s it! Whenever you move the mouse cursor into the upper right corner Skippy will show you all non-iconified windows. Here is a picture:

This should also work in Fluxbox or other window managers. Pekwm still has issues with Skippy, unfortunately, so this won’t work as elegantly in that window manager.

About these ads

13 Responses to “Exposé-type behaviour in Openbox”

  1. zodmaner said

    Holy batman! This is really great! I have always miss Scale plugin since I switched from GNOME + Compiz Fusion to Openbox. With this I can finally kiss Compiz Fusion goodbye for good.

    Thanks for sharing this tip. :)

  2. ukw said

    Hi!
    I didn’t know skippy ! It’s really great.

    Thank you for the discovery :D

  3. toodumbforgentoo said

    No matter what I do, I can’t get this to work. I have xautolock, xautomation and skippy all installed, and running xte ‘key Scroll_Lock’ by itself works, but when I run the full command and put my mouse in the top right corner for a second, nothing happens. Any ideas?

  4. barghest said

    Thanks for this howto!

    Since I use xautolock my screen doesn’t turn black after a while like before but it calls Skippy.

    Is there a way to have this exposé AND turning off the screen?

  5. matador said

    I’m testing this solution on my fluxbox.
    I’ve got a keybinding with Scroll_Lock for skippy into my keys file. I also write the command line with xautomation into my startup file.
    When I go with my mouse on the corner I can see that something happen (I can see a headlight on monitor) but nothing else. Skippy don’t show me the windows.

    Suggestions ??

  6. Paul said

    Dude, you’ve just made me a happier man. I’m building a thin box, and being just too used to compiz, I missed the expo effect. I already knew compiz, but I wanted to have that nice mouse activation. You saved me.

    Thank you very much!

  7. Ikem said

    Precompiled packages for:

    Skippy:

    http://www.debian.org.hk/~glee/deb/skippy/skippy_0.5.0-1_i386.deb

    Skippy-XD:

    http://debian.halfcoded.net/binary/skippy-xd_0.5.0-1_i386.deb

    You can find a basic “.skippyrc” here:

    http://wiki.ubuntuusers.de/Archiv/Skippy#Konfiguration

    You don’t need to create an extra “.skippy-xd.rc”, a symbolic link is sufficient:
    $ cd ~
    $ ln -s .skippyrc .skippy-xd.rc

    If you get an error message like this:
    “Major opcode of failed request: 33 (X_GrabKey)”

    That means this key is already in use.

    You can change the key by editing the “.skippyrc”:
    [general]
    keysym=Pause

    Change “Pause” to the key you like.

  8. sam said

    Skippy is obviously not continued anymore, is there any way of getting this functionality into openbox these days?

  9. Robert said

    Ya man, its called cairo composite manager, it has a scale plugin that you can use. But i still refer Skippy for resource reasons.

  10. nachoparker said

    Hello, congrats for this great blog. Thanks to you I could set up openbox, and I am really happy with it.

    As for the exposé thing, I came up with a different method, that does not need to wait for a second, but you can set any milisecond delay.

    xdotool behave_screen_edge –delay 500 bottom-right exec xte “key F12″

    Hope it helps!!

  11. chris said

    skippy works great in lubuntu 12.10 and openbox on my netbook.
    (I have it bound to W-spacebar)
    But when I run it on my 64 bit machine the cpu clocks at 100 percent
    does anyone know how to fix this behavior?

  12. Relo said

    @nachoparker:

    Thank you very much for posting this! I had no idea xdotool was capable of screen edge actions. Really helpful!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 81 other followers