Sunday, June 1, 2014

Compiling Skippy-xd on Fedora 20 / Xfce 4

I'm a pretty big fan of the Xfce desktop environment mainly due to its stability and responsiveness with any type of hardware. I tend to play around with other DE's but I always end up coming back to Xfce because it is dependable. Lately I've been using i3wm but that's a story for another time. Something I would like to see added to Xfce is an Apple Exposé type feature. Meaning a full window task switcher which is already included in some DE's like Gnome 3. I set out to find something similar to Exposé for Xfce but surprisingly didn't find much at all. I stumbled across skippy-xd which seemed to be the only real answer (What about Compiz? I decided it was too many fancy effects that I don't need!). Skippy-xd has been in development since 2004 but passed along to three different developers. Up until recently it didn't seem that there was much work done on it so I'll be expecting bugs. Check out this link of skippy-xd in action. Unfortunately it is only packaged for Debian so Fedora users will have to compile from source. Here is what I did to compile and hotkey skippy-xd in Xfce 4.

  1. Make sure you have the following packages installed:
     yum install giflib, libxcomposite, libxdamage, libxft, libxinerama  
    
  2. Grab skippy-xd source files from git repo
     git clone git://github.com/richardgv/skippy-xd.git  
    
  3. At this point I decided to run "make" in the skippy-xd directory but ran into two errors basically complaining that it could not find two header files. After doing some research I found out that I needed the following two packages installed.
     yum install giflib-devel.x86_64 libjpeg-turbo-devel.x86_64  
    
  4. Run "make" in the skippy-xd directory to compile. There should already be a makefile in the directory so running make alone should work fine.
     make  
    
  5. You will have the compiled binary called skippy-xd. Copy this to /usr/bin/ or a location of your choice.
     cp skippy-xd /usr/bin/  
    
  6. At this point you can bind it to any key you would like. You can do this by launching xfce4-keyboard-settings and configuring a shortcut to launch an application.
     xfce4-keyboard-settings  
    
So far it seems to work okay. I do want to note that their is a known bug with minimized windows and some have provided a work around for it. You'll have to search for it since I haven't had time to do it :).


1 comment:

  1. 1)
    yum install giflib libXcomposite libXdamage libXft libXinerama
    Please note X (uppercase) and don use "," separator

    2)
    yum install giflib-devel libjpeg-turbo-devel
    Please Note: -devel not dvl

    3) You'll also need to create a configuration file called "skippy-xd.rc" under ~/.config/skippy-xd/ and:
    cp -p skippy-xd.sample.rc ~/.config/skippy-xd/skippy-xd.rc

    4) If you have multiple desktops change
    showAllDesktops = false TO showAllDesktops = true

    5) If you have multiple desktops an don't desire all windows at same desktop when you click in one in skippy-xx, change
    switchDesktopOnActivate = false To switchDesktopOnActivate = true

    6) Skippy-XD has a bug and doesn't display minimized windows. A work-around for this is to use a script created by B. Murphy. (from: http://www.webupd8.org/2013/07/skippy-xd-expose-like-window-picker-for.html)

    After: cp skippy-xd /usr/bin/

    yum install xdotool

    wget https://raw.github.com/hotice/webupd8/master/skippy-xd-fix

    cp -p skippy-xd-fix /usr/bin/

    And then assign "/usr/local/bin/skippy-xd-fix" a keyboard shortcut from the system settings

    ReplyDelete