Saturday, January 5, 2013
Outside of GNOME 3, Unity, and compiz, I do not know of any Linux software that provides the Expose-like functionality (now called Mission Control) found in OS X. However, skippy does provide some of this functionality.
skippy no longer appears to be in development, and has since been forked to skippy-xd to offer more advanced functionality, but it is still possible to compile and install skippy on modern Linux distributions.
The following compile process has been successfully tested on Fedora 17.
Install the following repository packages:
yum install imlib2-devel libXft-devel libXmu-devel git
Clone the source code (the following GitHub repository contains the original skippy 0.5.0 source code along with one patch):
git clone https://github.com/jameswthorne/skippy
Change into the cloned directory:
Compile the binary:
The following is successful output from the
gcc -I/usr/X11R6/include `imlib2-config --cflags` `pkg-config xft --cflags` \ -g -pedantic -Wall -DXINERAMA -o skippy skippy.c wm.c dlist.c mainwin.c \ clientwin.c layout.c focus.c config.c tooltip.c -L/usr/X11R6/lib -lX11 -lm \ `imlib2-config --libs` `pkg-config xft --libs` -lXext -lXinerama
Install the binary:
sudo make install
A default skippy configuration file is included in the source code and needs to be copied to your user’s home directory with the following command:
cp ~/skippy/skippyrc-default ~/.skippyrc
Open ~./skippyrc and change the keysym variable to a different key combo. For example, Super_L, Scroll_Lock, or whatever key combo you know is not used by another application. skippy appears to claim ownership of whatever key combo is used, and the default key combo, F11, is widely used throughout many other applications. Not changing the key combo and trying to run skippy will probably result in the following error:
X Error of failed request: BadAccess (attempt to access private resource denied) Major opcode of failed request: 33 (X_GrabKey) Serial number of failed request: 93 Current serial number in output stream: 93
To use skippy simply run
skippy from your user’s shell. It will run within that shell until it is killed by the user. It can also be run in the background.
skippy is run for the first time, such as after boot up, the process is very slow. It cycles through each open window to take screenshots and then shows the Expose-like view. Subsequent uses of the chosen key combo will be much quicker.