Ubuntu/Debian, Arch, Gentoo and Fedora have dedicated sections. The generic method will of course for any distro.
Get the sources 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
Stable version Download the sources (core and plug-ins) and extract them.
Development version Remember that the development version is regarded as unstable and can present some bugs.
Don't forget to remove other installations of CD before install it by BZR
And stay up-to-date
If you have any bugs, don't hesitate to open a new thread on BZR forum
Open a terminal, and run (you need to install bzr beforehand):
bzr checkout --lightweight lp:cairo-dock-core
bzr checkout --lightweight lp:cairo-dock-plug-ins If you have a warning about your Launchpad ID, it's not important, it just means that you can only read content of BZR repos (e.g. you can't push your modifications on a branch on Launchpad ; if you want to do that: Help us with BZR)
Note: These two previous commands should download the latest revision of our development branches (it should take a few time and 2 directories should be created). If you have an error about a Launchpad plug-in of bzr which is missing, 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/ (simply replace lp:(...) by these addresses)
To update the sources, simply run this command in the 2 directories core and plug-ins:
Tips: If you want to know which revision you are :
You can see the latest revisions here:
BZR rev
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
Generic: Install the dependencies
The following packages are required: cmake make pkg-config gcc gettext build-essential 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 xtst xcomposite xrandr 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: libalsa libetpan libgnome-menu3 gio-2.0 libxklavier xrandr x11 xxf86vm
gvfs upower-glib zeitgeist-1.0 libexif vte(-2.90) lm_sensors ; 'python', 'curl' and 'wget' packages ; dbusmenu-glib(-0.4) dbusmenu-gtk(3)(-0.4)
Suggested: indicator(3)-0.4 libido(3)-0.1 libical libpulse webkitgtk-3.0 (or webkit-1.0) ; these daemons: indicator-messages and indicator-sound ; 'ruby' and 'valac' packages
Optional: fftw3, mono: glib-sharp-2.0 ndesk-dbus-1.0 ndesk-dbus-glib-1.0
Add thunar-vfs-1 (libthunar-vfs-1-dev) for very 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.
Their names may vary depending on your distribution (dev can be called devel, etc.).
Here is the command for Ubuntu/Debian:
sudo apt-get install cmake make pkg-config gcc gettext build-essential \
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 \
libdbusmenu-gtk3-dev libasound2-dev libgnome-menu-3-dev libetpan-dev libxklavier-dev libwebkit-dev libexif-dev libvte-2.90-dev libzeitgeist-dev libido3-0.1-dev libindicator3-dev libsensors4-dev libupower-glib-dev wget curl
Here is the command for Fedora:
sudo yum install cmake make pkgconfig gcc gcc-c++ gettext \
glib2-devel cairo-devel librsvg2-devel dbus-glib-devel libxml2-devel libXrender-devel mesa-libGL-devel mesa-libGLU-devel pango-devel libXxf86vm-devel libXtst-devel libXrandr-devel libX11-devel libcurl-devel gtk3-devel \
vte3-devel lm_sensors-devel libxklavier-devel libexif-devel libetpan-devel gnome-menus-devel alsa-lib-devel libical-devel upower-devel libzeitgeist-devel
Generic: Compilation - Compile and install 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
sudo 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)
sudo make install ## as root and if you had no errors
- Rem: For 64bits (x86_64) architectures, the libraries are installed in a 'lib' directory by default. If your distribution uses lib64 and /usr/lib64 is not a link to /usr/lib (Fedora, Suse, etc), simply add 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
- Tips: with "make -j $(grep -c ^processor /proc/cpuinfo)" the compilation uses all core of your processor.
Debian / Ubuntu
Mav and Matttbe have written 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.
If you are on Debian or Ubuntu (or Linux Mint) you can also install a weekly version of Cairo-Dock from our our 'Weekly Build' PPA.
You can add this PPA to your sources.list with Mav's script, or look there : ppa Weekly
BZR: 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 !
BZR: 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…
BZR: 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.
Rebuilt deb packages
If you just want to recreate deb packages which include some tiny changes, it can be interesting to follow this procedure:
- Install all dependences:
sudo apt-get update
sudo apt-get install build-essential devscripts
sudo apt-get build-dep cairo-dock (or replace "cairo-dock" by "cairo-dock-plug-ins" if you want to only recompile plugins. If you've an error, it's maybe because you didn't add deb-src repos
- Download the sources into a new directory:
apt-get source cairo-dock (or "cairo-dock-plug-ins").
- Re-build our packages:
- Core:
cd cairo-dock ## or cairo-dock-plug-ins ## the directory may contain a version number
dch -i "Rebuild by $USER"
dpkg-buildpackage
cd ..
sudo dpkg -i *.deb
sudo apt-get install -f ## to install new dependences if any
- And voilà, it's done! Note that you can also uninstall *-dbg.deb packages and also other dependences downloaded to build these packages. Don't forget that you'll have to do that for each new version of the dock
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.
Gentoo
For detailed instructions, a Gentoo-specific page is available here.
Fedora An SRPM is available here: http://download.tuxfamily.org/glxdock/repository/fedora/fedora-18/SRPMS/
You need to install the libdbusmenu too, as the one provided by Fedora lacks of GTK support (if you have already installed it, you may have to force the installation with -force)
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)
uri=$1 lines=$2 titlenum=$3
if [[ "$uri" == "" ]]; then
echo "No URI specified, cannot continue!" >&2
echo "Please read script for more information" >&2
else
if [[ $lines == "" ]]; then lines=5 ; fi
if [[ $titlenum == "" ]]; then titlenum=2 ; fi
curl -s --connect-timeout 30 $uri |\
sed -e 's/<\/title>/\n/g' |\
grep -o '.*' |\
sed -e 's///' |\
head -n $(($lines + $titlenum)) |\
tail -n $(($lines))
fi
- This script needs +x right
chmod u+x CHEMIN/NAME_OF_YOUR_FILE.sh (~/.conky-rss.sh)
- Modify your ~/.conkyrc with, for example
${color white}Cairo-Dock${color} ${hr 2}
${color lightgrey}Core : ${execi 900 ~/.conky-rss.sh http://bazaar.launchpad.net/%7Ecairo-dock-team/cairo-dock-core/cairo-dock/atom 2 1}
Plug-ins : ${execi 900 ~/.conky-rss.sh http://bazaar.launchpad.net/%7Ecairo-dock-team/cairo-dock-plug-ins/plug-ins/atom 2 1} (modify every 2 in order to have more or less lines and change the path of the script (~/.conky-rss.sh)
|