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 Github : https://github.com/Cairo-Dock and uses git.
You can browse code, see the workflow, propose your changes on Github. You can also report bugs, translate the project, etc. on our Launchpad account.
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 Cairo-Dock before install it by Git
And stay up-to-date
If you have any bugs, don't hesitate to open a new thread on Git forum
Open a terminal, and run (you need to install git beforehand):
git clone https://github.com/Cairo-Dock/cairo-dock-core.git
git clone https://github.com/Cairo-Dock/cairo-dock-plug-ins.git
To update the sources, simply run this command in the 2 directories core and plug-ins:
With Git on Github, 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 Git
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_git.sh) which allows the installation and the update via GIT 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
GIT: First installation
Open a Terminal, start by creating a specific directory (for example /opt/cairo-dock) and use it without administrator right:
sudo mkdir /opt/cairo-dock
sudo chown $USER:$USER /opt/cairo-dock_gir
cd /opt/cairo-dock_git
Then get the script, make it executable and launch it:
wget http://download.tuxfamily.org/glxdock/scripts/cairo-dock_git.sh
chmod u+x cairo-dock_git.sh
./cairo-dock_git.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 GIT server for the first time (Install)
2 --> Install weekly ppa instead of GIT
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.
Thanks to github, you can download these sources files with HTTPS and SSH protocol. The second one is more interesting if you want to contribute but you will need to send your public SSH key to Github. This script will propose you to use SSH protocol but if you don't know what is it, answer 'No' to the question.
If you see some errors (in RED), please post them on our forum, it can be helpful !
GIT: Update it
Open a Terminal, in the specific file which you had created with the first installation (in our /opt/cairo-dock example) and start the script again:
cd /opt/cairo-dock
./cairo-dock_git.sh And this is what you'll have: 1 --> Update Cairo-Dock to the latest GIT revision
2 --> Reinstall the current version
3 --> Uninstall the current version
4 --> Install weekly ppa instead of GIT
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…
GIT: 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 GIT Update
- Command to execute at the click :
gnome-terminal --working-directory=/opt/cairo-dock/ -e "./cairo-dock_git.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 GIT 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").
- If you want to modify sources, it's the right moment!
- 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)
|