PieDock

A task bar and application launcher in shape of a pie menu of icons

Download

Development version: PieDock-0.2.3.tar.bz2

Stable version: PieDock-0.1.7.tar.bz2

Description

JavaScript Demo

Screenshot of PieDock in action Screenshot of PieDock in action

PieDock feels a little bit like the famous OS X dock but in shape of a pie menu which appears directly around your mouse cursor.
Basically it shows a selection of icons that you can use to control or launch the corresponding application.

Requirements

Requires a C++ compiler, a make utitlity along with the headers and libraries of X11 and libpng.
Runs on Linux and *BSD.

Installation

  1. Be sure your system meets the above requirements
  2. Download tarball above
  3. Unpack tarball:
    $ tar xjvf PieDock-x.x.x.tar.bz2
  4. Change into the new directory "PieDock" and compile it:
    $ cd PieDock
    $ make
  5. Place the executable somewhere in your path, i.e. for a local install try:
    $ mv PieDock ~/bin/
    Or, if you want to make the program available for all users, do this as root:
    $ mv PieDock /usr/local/bin/
  6. Now you need to set up your configuration, see below

Configuration

  1. At first, find some high resolution icons (approx. 128x128 Pixels) in PNG format you like. I'd recommend those places: You may use GIMP to convert XP icons; OS X icons can be converted by gthumb or ImageMagick.
  2. Create a directory named ".PieDock" in your home directory:
    $ mkdir ~/.PieDock
  3. Place all your PNG icons into this directory
  4. Create a ".PieDockrc" configuration file in your home directory; you may use the enclosed "res/PieDockrc.sample" as template:
    $ cp res/PieDockrc.sample ~/.PieDockrc
  5. Edit ".PieDockrc" to meet your requirements. The format of the file is very simple: Each line begins with a statement and continues with space-seperated arguments to this statement. If an argument has spaces, it must be enclosed in quotes, just like you do on the command line. There are only two statements that are important: sticky and alias.

    Use the sticky statement to specify persistent icons in the menu. Normally an icon would only appear if there is a corresponding window. sticky icons do always appear. The statement accepts two arguments: the name of the application (which must also be the name of the icon in "~/.PieDock/") and, optionally, a string to launch the application if the first argument isn't enough to do that (i.e. a path is required or you want to give some arguments).

    The alias directive allows you to recognize windows that do not give the correct name of their corresponding executable. Every application window in X11 should have a resource with it's name in it (the so-called class hints for the interested). Unfortunately, this name may differ from the name of the executable which is where alias comes in.alias accepts two arguments: a string for recognition and the true name of the executable. The recognition string may be prefixed by another argument (either name, class or title) to specifiy the property which the string is checked against.

    There is a "utils" subdirectory in the source directory which contains a helpful utitlity to find the right settings. Just change into this directory and compile it:
    $ cd utils
    $ make
    After that, you can do:
    $ ./PieDockUtils -l
    A list of all open windows with their properties will be displayed. Now you can use those values (always prefer the class or name property) to set up aliases for windows which doesn't get recognized the right way.

    If you have some unused button on your mouse, I suggest you specify its number to the trigger button directive like this:
    trigger button (number of mouse button)
    You may find the right number by using the xev utitlity. Then you can open the pie menu by clicking that button.

Documentation

Browse source code documentation.

License

This software is open source, please read the disclaimer.