Home Forums Wiki Doc Install Extras Screenshots IRC Projects Blog Users Groups Register
Glx-Dock / Cairo-Dock Wiki From BZR
The latest stable release is the *3.3.2* : How to install it here.
History View code

Glx-Dock / Cairo-Dock

Home

History

Support Us

Flattr this

Cairo-Dockon

From BZR

Miscellaneous
Remember that the development version is regarded as unstable and can present some bugs : Use at your own risk
And stay updated

Don't forget to remove other releases of CD before install it by BZR

If you have any bugs, don't hesitate to open a new thread on BZR forum



With BZR on Launchpad, you can help us easily !

If you can code in C (or in another language for the applets), it's very easy to propose your modifications on a personal branch on Launchpad.

For more informations, read this : Help us with BZR


Address of bazaar
The project is hosted on Launchpad : https://code.launchpad.net/cairo-dock and uses bzr.
You can browse code, see the workflow, report bugs, translate the project, etc

Latest revisions
BZR rev

Generic Method

If you aren't on Debian, Ubuntu and other forks, Fedora or ArchLinux, this section is made for you ! For the others, go to the next sections.
    • Install all dependencies. Caution : naming may vary depending on your distribution (dev can be called devel, etc.). Here are the Debian names.
      • For compiling:
        cmake make pkg-config gcc gettext build-essential
      • For the core:
        • Modules
          Required: gtk+-3.0 (or gtk+-2.0) glib-2.0 gthread-2.0 cairo librsvg-2.0 dbus-1 dbus-glib-1 libxml-2.0 xrender gl glu libcurl
          Highly Recommended: xtst xcomposite xrandr
        • Example with Debian packages:
          libglib2.0-dev libcairo2-dev librsvg2-dev libdbus-glib-1-dev libxml2-dev libxrender-dev libglu1-mesa-dev libpango1.0-dev libxxf86vm-dev libxtst-dev libxrandr-dev libx11-dev libcurl4-gnutls-dev libgtk-3-dev # (for GTK-2, use libgtk2.0-dev)
      • For the plug-ins:
        • Modules
          Required: cairo librsvg-2.0 dbus-1 dbus-glib-1 libxml-2.0 glib-2.0 gldi # = cairo-dock-core, with the same version!
          Highly Recommended: alsa libgnome-menu gio-2.0 (and gvfs) libxklavier xrandr x11 xxf86vm
          Recommended: libical upower-glib zeitgeist-1.0 libexif vte(-2.90) ; 'python', 'curl' and 'wget' packages ; dbusmenu-glib(-0.4) dbusmenu-gtk(3)(-0.4) indicator(3)-0.4 libido(3)-0.1 + these daemons: indicator-messages and indicator-sound
          Suggested: libpulse webkitgtk-3.0 (or webkit-1.0) ; 'ruby' and 'valac' packages
          Optional: fftw3, mono: glib-sharp-2.0 ndesk-dbus-1.0 ndesk-dbus-glib-1.0
        • Example with Debian packages:
          libdbusmenu-gtk3-dev libasound2-dev libgnome-menu-dev libetpan-dev libxklavier-dev libwebkit-dev libexif-dev libvte-2.90-dev curl libzeitgeist-dev libido3-0.1-dev libindicator3-dev libsensors4-dev libupower-glib-dev # (for GTK-2, use libido-0.1-dev libindicator-dev libdbusmenu-gtk-dev libvte-dev)
      • Add thunar-vfs-1 (libthunar-vfs-1-dev) for old XCFE (< 4.6) or gnome-vfs-2.0 and libgnomeui-2.0 (libgnomevfs2-dev) for very old Gnome (< 2.20).
      • GNote is nice for the Notes applet, and Zeitgeist is needed for the Recent-Events applet.

    • Download the latest source code with bzr (you have to install it before ) in a directory of your choice :
      bzr checkout --lightweight lp:cairo-dock-core
      bzr checkout --lightweight lp:cairo-dock-plug-ins
      If you don't have the launchpad plug-in of bzr, the complete addresses are :
      bzr://bazaar.launchpad.net/~cairo-dock-team/cairo-dock-core/
      bzr://bazaar.launchpad.net/~cairo-dock-team/cairo-dock-plug-ins/
    • Compile Cairo-Dock and then its plug-ins:
      cd cairo-dock-core
      mkdir build && cd build
      cmake .. -DCMAKE_INSTALL_PREFIX=/usr ## if you want to have debug symbols, simply add this flag : "-DCMAKE_BUILD_TYPE=Debug"
      make -j $(grep -c ^processor /proc/cpuinfo) ## if you have an error, see if you have install all dependences and/or post a new thread on our forum
      make install # as root
      cd ../../cairo-dock-plug-ins/
      mkdir build && cd build
      cmake .. -DCMAKE_INSTALL_PREFIX=/usr ## if you want to have debug symbols, simply add this flag : "-DCMAKE_BUILD_TYPE=Debug"
      make -j $(grep -c ^processor /proc/cpuinfo)
      make install ## as root and if you had no errors
      • Tips: with "make -j $(grep -c ^processor /proc/cpuinfo)" the compilation uses all core of your processor.
      • Rem: For 64bits (x86_64) architectures, the libraries are installed in a 'lib/' directory by default but it seems it can be a problem for some distributions (e.g.: OpenSUSE) but not on the other (those which have a symbolic link: lib64 -> lib). If you have a problem by launching Cairo-Dock and after having uninstalled it with this command launched as root from the 2 'build' dirs
        make uninstall
        you can compile it (core and its plug-ins) with the flag "FORCE_LIB64":
        cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DFORCE_LIB64=yes
        You can also force another prefix for this librairy directory with "LIB_SUFFIX" flag, e.g. for 'lib32' directory:
        cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DLIB_SUFFIX=32

    • To get updates, run this command in the two directories (cairo-dock-core and cairo-dock-plug-ins)
      bzr up
Then go to the build directories and re-compile the core and then the plus-ings as shown above (with make and make install).
    • Tips : If you want to know which rev you are :
      bzr log -l1 --line


Debian / Ubuntu

Mav (with the help of matttbe ) wrote a script for Debian/Ubuntu users (cairo-dock_bzr.sh) which allows the installation and the update via BZR and avoids the tiresome steps for the recovery of the sources and the installation. Moreover, the script will automatically install all the packages necessary for the compilation (the same ones as those described in the part "By compilation").

If you are on Debian or Ubuntu (or Linux Mint) you can also install Cairo-Dock with DEB packages from our 'Weekly Build' PPA.
You can also add this PPA to your sources.list with Mav's script. Or look there : ppa Weekly


First installation

Open a Terminal, start by creating a specific directory (for example /opt/cairo-dock_bzr) and use it without administrator right:

sudo mkdir /opt/cairo-dock_bzr
sudo chown $USER:$USER /opt/cairo-dock_bzr
cd /opt/cairo-dock_bzr


Then get the script, make it executable and launch it:

wget http://bzr.glx-dock.org/cairo-dock_bzr.sh
chmod u+x cairo-dock_bzr.sh
./cairo-dock_bzr.sh
REM: For Debian users, you need to install the 'sudo' package.

You'll have this information
    1 --> Install the current version of Cairo-Dock from BZR server for the first time (Install)
    2 --> Install weekly ppa instead of BZR
    3 --> About this script
Press "1" + "Enter" to start the update.
Enter your own password when the script requires it (it's fully transparency when you'll write something) in order to proceed to the installation.
Then you'll have something like after having installed all needed dependences:
Is it the first time that you install Cairo-Dock from BZR sources files?

With BZR you can download these sources files in two ways:
    * By downloading all the content (it's interesting to have a copy of the server branch if you want to make some modifications in this branch) or only the latest revision (if you just want to compile sources)

    1 --> Download the complete branch (~150Mo - for dev.)
    2 --> Download only the last rev. (~20Mo - for all users)
Press "2" (in most cases) + "Enter" to start the download.

A message is posted with each installation of modules and the final message indicates if everything went well. If not please post in our forum the error messages (or consult the log.txt). It can be helpful !

Update it

Open a Terminal, in the specific file which you had created with the first installation (in our /opt/cairo-dock_bzr example) and start the script again:

cd /opt/cairo-dock_bzr
./cairo-dock_bzr.sh
And this is what you'll have:
    1 --> Update Cairo-Dock to the latest BZR revision
    2 --> Reinstall the current version
    3 --> Uninstall the current version
    4 --> Install weekly ppa instead of BZR
    5 --> Display the current installed revision
    6 --> About this script


Press "1" + "Enter" to start the update.

If an update is found, enter your own password, otherwise the message “No update available” will appear and the script will exit.

Note: Mav's script “auto-updates”, therefore each time you launch it, it will seek the last version of script available…



Tips

You can create a launcher in Cairo-Dock to execute the script… For that, create a new launcher (Right Click on the dock and select “Add a launcher”). Click on “New” and Enter this:

- Name of the launcher (example) : Cairo BZR Update

- Command to execute at the click :
gnome-terminal --working-directory=/opt/cairo-dock_bzr/ -e "./cairo-dock_bzr.sh"

(change your "working-directory" if necessary

- Directory of the picture :
(your most beautiful icon !)

Validate!!! and just click on your new icon to update your BZR version.



ArchLinux

It's easy with Yaourt !
On root mode, add arlinuxfr repositories in your file /etc/pacman.conf

[archlinuxfr]
Server = http://repo.archlinux.fr/i686/

or
[archlinuxfr]
Server = http://repo.archlinux.fr/x86_64/


Install yaourt if you have do that before.

sudo pacman -S yaourt
yaourt -Syu


Now, install cairo-dock and its plug-ins !
yaourt -S cairo-dock-bzr cairo-dock-plug-ins-bzr

Remember to check the plugins' PGKBUILD and remove the plugins you want from the blacklist line.


Fedora

  • Install this kit
    su -
    yum -y groupinstall buildsys-build

  • After that, install all dependences with yum install:
    yum install bzr alsa-lib-devel cmake dbus-glib-devel desktop-file-utils gettext gnome-menus-devel gnome-vfs2-devel gtk2-devel gtkglext-devel intltool libXcomposite-devel libXinerama-devel libXrender-devel libXtst-devel libXxf86vm-devel libetpan-devel libexif-devel libgnomeui-devel librsvg2-devel libtool libxklavier-devel libxml2-devel vte-devel perl WebKit-gtk-devel libsensors4-devel curl
    Install Thunar-devel instead of gnome-vfs2-devel if you uses XFCE
(and also something like libcurl4-gnutls-dev)

  • After that go to a new repertory to download sources (for example /opt/ with user right)
    bzr checkout --lightweight lp:cairo-dock-core
    bzr checkout --lightweight lp:cairo-dock-plug-ins

  • Compile Cairo-Dock and its plug-ins:
    cd cairo-dock-core
    mkdir build && cd build
    cmake .. -DCMAKE_INSTALL_PREFIX=/usr ## if you want to have debug symbols, simply add this flag : "-DCMAKE_BUILD_TYPE=Debug"
    make -j $(grep -c ^processor /proc/cpuinfo)
    su -
    make install # If you haven't any error before that
    exit
    cd ../../cairo-dock-plug-ins/
    mkdir build && cd build
    cmake .. -DCMAKE_INSTALL_PREFIX=/usr ## if you want to have debug symbols, simply add this flag : "-DCMAKE_BUILD_TYPE=Debug"
    make -j $(grep -c ^processor /proc/cpuinfo)
    su -
    make install # If you haven't any error before that
    exit
    • To get updates, run this command in the two directories (cairo-dock-core and cairo-dock-plug-ins)
      bzr up
Then go to the build directories and re-compile the core and then the plus-ings as shown above (with make and make install).

Gentoo

For detailed instructions, a Gentoo-specific page is available here.

OpenSUSE KDE

  • This is an almost exhaustive list of the required dependencies. Install before compiling:
    cmake libtool m4 pkg-config intltool gettext cairo-devel gtk2-devel librsvg-devel dbus-1-glib-devel vte-devel xorg-x11-libx11-devel libasound2 xorg-x11-libs gnome-menus-devel libgnome-menu2 libzeitgeist-devel zeitgeist libetpan-devel libxklavier-devel libwebkitgtk-devel libexif-devel curl libcurl-devel libgnomevfsmm-2_6-1 libical-devel libgnutls-devel libsensors4-devel
    + the equivalent of libcurl4-gnutls-dev. It's also possible other dependencies are required. If the compilation asks for it, verify the following (names might differ, they come from Fedora):
    alsa-lib-devel libXcomposite-devel libXinerama-devel libXrender-devel libXtst-devel libxml2-devel perl
    They should be already included in xorg-x11, alsa and xml packages.

Note: since version 11.4, it seems the following packages are no longer supported: libgnome-menu indicator3(-0.4) (libido3-0.1) dbusmenu-glib(-0.4) dbusmenu-gtk3(-0.4). This means that though the compilation is still possible, the following functions will not be available:

-- - with GMenu applet: no
-- - with Me-Menu applet applet: no
-- - with Messaging-Menu applet: no
-- - with Sound-Menu applet: no
-- - with Status-Notifier applet: no
-- - with Application-Menu applet: no

  • After go to a new repertory to download sources (with user right):
    bzr checkout --lightweight lp:cairo-dock-core
    bzr checkout --lightweight lp:cairo-dock-plug-ins

  • Compile Cairo-Dock and its plug-ins:
    cd cairo-dock-core
    mkdir build && cd build
    cmake .. -DCMAKE_INSTALL_PREFIX=/usr ## if you want to have debug symbols, simply add this flag : "-DCMAKE_BUILD_TYPE=Debug"
    ### Please use this command instead for 64bits (x86_64) architectures: cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DFORCE_LIB64=yes
    make -j $(grep -c ^processor /proc/cpuinfo) ## if you have an error, see if you have install all dependences and/or post a new thread on our forum
    # sudo make install ## on root mode
    cd ../../cairo-dock-plug-ins/
    mkdir build && cd build
    cmake .. -DCMAKE_INSTALL_PREFIX=/usr ## if you want to have debug symbols, simply add this flag : "-DCMAKE_BUILD_TYPE=Debug"
    ### Please use this command instead for 64bits (x86_64) architectures: cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DFORCE_LIB64=yes
    make -j $(grep -c ^processor /proc/cpuinfo)
    # sudo make install ## as root and if you had no errors
    Tips : with "make -j $(grep -c ^processor /proc/cpuinfo)" the compilation uses all core of your processor.

  • Update with this command in the two repertories (cairo-dock-core and cairo-dock-plug-ins)
    bzr up
    Remove the content of build directories and recompile Cairo-Dock and its plug-ins with the same commands as the previous box.

Rem.
  • It seems the version of libgtkglext of OpenSUSE 11.3 is a bit buggy. So if you've this error at the end of the compilation process:
    /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../lib64/libgtkglext-x11-1.0.so: undefined reference to `GTK_WIDGET_REALIZED'
    /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../lib64/libgtkglext-x11-1.0.so: undefined reference to `GTK_WIDGET_NO_WINDOW'
    collect2: ld returned 1 exit status
    make[2]: *** [src/cairo-dock] Error 1
    You can install the version 1.2.0-186 (or newer) of gtkglext. This version is available in this repository here but you can also find a copy of these packages here.
  • It's seems that the librairies has to be installed into a lib64/ directory for 64bits (x86_64) architectures. So you have to use this CMake flag: -DFORCE_LIB64=yes


Tips

ATOM Feed

An atom feed is available in order to know when there is an update (every day ) .

http://bazaar.launchpad.net/%7Ecairo-dock-team/cairo-dock-core/cairo-dock/atom
http://bazaar.launchpad.net/%7Ecairo-dock-team/cairo-dock-plug-ins/plug-ins/atom

Conky

You can use the Atom feed on conky with a script.
  • You need curl :
    sudo apt-get install curl
    (or yum install curl, sudo pacman -S yaourt, emerge -av net-misc/curl, etc. depending of your distribution)
  • Save these line on your computer (for example '~/.conky-rss' ; a file hidden in your home)
    #!/bin/bash
    # RSS Display Script by Bill Woodford (admin@sdesign.us) v1.0
    #
    # This script is designed to output story titles for most any RSS Feed.
    #
    # This script depends on curl. Please ensure it is installed and in your $PATH
    # Gentoo: emerge -av net-misc/curl
    # Debian: apt-get install curl
    # Homepage: http://curl.haxx.se/
    #
    # Usage:
    # .conkyrc:    ${execi [time] /path/to/script/conky-rss.sh URI LINES TITLENUM}
    #    URI = Location of feed, ex. http://www.gentoo.org/rdf/en/glsa-index.rdf
    #    LINES = How many titles to display (default 5)
    #    TITLENUM = How many times the title of the feed itself is specified, usually 1 or 2 (default 2)
    #
    # Usage Example        
    #        ${execi 300 /home/youruser/scripts/conky-rss.sh http://www.foxnews.com/xmlfeed/rss/0,4313,1,00.rss 4 2}

    #RSS Setup - Don't change unless you want these values hard-coded!
    uri=$1                            #URI of RSS Feed
    lines=$2                        #Number of headlines
    titlenum=$3                        #Number of extra titles

    #Script start
    #Require a uri, as a minimum
    if [[ "$uri" == "" ]]; then
        echo "No URI specified, cannot continue!" >&2
        echo "Please read script for more information" >&2
    else
        #Set defaults if none specified
        if [[ $lines == "" ]]; then lines=5 ; fi
        if [[ $titlenum == "" ]]; then titlenum=2 ; fi

        #The actual work
        curl -s --connect-timeout 30 $uri |\
        sed -e 's/<\/title>/\n/g' |\
        grep -o '.*'</span> |\ <br/>    sed -e <span class="sntx_bash_string">'s/<title>//'</span> |\ <br/>    head -n <span class="sntx_bash_var">$</span>((<span class="sntx_bash_var">$lines</span> + <span class="sntx_bash_var">$titlenum</span>)) |\ <br/>    tail -n <span class="sntx_bash_var">$</span>((<span class="sntx_bash_var">$lines</span>)) <br/>fi</span></div></div> </li><li>This script needs +x right <div class='sntx_code'><div class='sntx_code_inner'><span class="sntx_bash_default">chmod u+x CHEMIN/NAME_OF_YOUR_FILE.sh</span></div></div> (~/.conky-rss.sh) </li><li>Modify your ~/.conkyrc with, for example<div class='sntx_code'><div class='sntx_code_inner'>${color white}Cairo-Dock${color} ${hr 2} <br/>${color lightgrey}Core : ${execi 900 ~/.conky-rss.sh http://bazaar.launchpad.net/%7Ecairo-dock-team/cairo-dock-core/cairo-dock/atom 2 1} <br/>Plug-ins : ${execi 900 ~/.conky-rss.sh http://bazaar.launchpad.net/%7Ecairo-dock-team/cairo-dock-plug-ins/plug-ins/atom 2 1}</div></div> (modify every <span class="sntx_italic">2</span> in order to have more or less lines and change the path of the script (~/.conky-rss.sh)</li></ul></td> </tr> </table> </div> <br/> </td> </table> <br/> <table width="100%"><tr> <td id="hdrPlus"> <a href="index.php">Glx-Dock / Cairo-Dock</a> <a href="ww_page.php">Wiki</a> <b>From BZR</b> </td> <td id="hdrPlus" class="small" align="right"><a href="#top">Top</a></td> </tr> </table> <hr/> <div class="small"> <img src="templates/bluecloud/images/elementspeak.png" align="right"/> Online users : <span style="color:#f0f0f0;"> <br/> </span> </div> </div> <br/> <div align="center" class="small"> Powered by ElementSpeak © 2007 Adrien Pilleboue, 2009-2013 Matthieu Baerts. <br /> <font color="grey">Dock based on CSS Dock Menu (Ndesign) with jQuery. Icons by zgegball</font> <br/>Cairo-Dock is a free software under GNU-GPL3 licence. First stable version created by Fabounet.<br />Many thanks to TuxFamily for the web Hosting and Mav for the domain name. </div> </body> </html>