Home Forums Wiki Doc Install Extras Screenshots Source Code Projects Blog Users Groups Register
Glx-Dock / Cairo-Dock Wiki Help us with Git
The latest stable release is the *3.4.0* : How to install it here.
Note: We just switched from BZR to Git on Github! (only to host the code and your future pull requests)
History View code

Glx-Dock / Cairo-Dock




en English

Support Us

Flattr this


Help us with Git

You can code ? You want to create your own applet or improve another one in C or in another language via the DBus plug-in ? Or you want to write some patches ?

So you can and you want to help us with some lines of source code. These modifications should be integrated in our development branch ? So read this page in order to learn more about the advantages of Git

Rem : If you want to help us, contact us via our forum
There is also a Cairo-Dock's API for C language : http://doc.glx-dock.org

This page will show you some features of Git for devs. To compile source code, go there : By Compiling (Generic Method)

A lot of resources and GUI are available! Feel free to have a look to the documentation of Github and GUI like gitg

Simply install Git as any other software of your distribution. E.g.:
  • On Debian/Ubuntu:
    sudo apt-get install git
  • On RHEL/Fedora:
    sudo yum install git
  • On ArchLinux/Menjaro:
    sudo pacman -S git
  • (...)
If you want to have some colours when using git, simply launch this command:
git config --global color.ui true

About branches

If you want to push your modifications on Github, you will need a Github account on github.com.
(Note that if you don't want to use it, you can also post a message with your patch on our forum or on Launchpad).
  • This web page will help you to set up Git for Github: https://help.github.com/articles/set-up-git/#setting-up-git
  • Don't forget to add your name and email to Git config in order to link your modifications with your Github account.
  • We recommend the use of an SSH key instead of using Git via an HTTPS connexion.

Simply have a look to this web page for more details about that: https://help.github.com/articles/fork-a-repo/

Send us a modification: Example
  • First, go to Github and fork one of our repo: https://github.com/Cairo-Dock
  • Download your new forked repo, e.g.:
    git clone git@github.com:YOUR_USER/cairo-dock-plug-ins-extras.git ## if you've sent your public SSH to Github
    git clone https://github.com/YOUR_USER/cairo-dock-plug-ins-extras.git
  • Do some modifications:
    cd cairo-dock-plug-ins-extras
    git remote add upstream git@github.com:Cairo-Dock/cairo-dock-plug-ins-extras.git ## add the upstream branch
    git pull upstream ## get info about the upstream branch
    git checkout -b gmail ## create a new branch
    edit Gmail/Gmail.py ## fix something
    git diff ## check your changes
    git add Gmail/Gmail.py ## you want to send modifications that you did in this files
    git status ## check that you've edited the right files
    git commit ## commit your changes
    git rebase upstream master ## rebase your branch in order to sync it with upstream's master branch
    git push --set-upstream origin gmail
    Now you can go to your git repository on github in order to propose a new pull request, e.g. https://github.com:Cairo-Dock/cairo-dock-plug-ins-extras

About the commit message
If possible, create one commit per task/applet and try to have a message like that:
APPLET/TASK: Short summary of your changes (max 50 chars)

A few more details after a blank line, TODO, link to a bug report, etc. (max 72 chars per line)
It's maybe not easy at the beginning but it's important
The idea is to easily understand:
  • why you did that (e.g. (...) was broken when doing (...) because (...))
  • all what you did without checking the source code (e.g. it will now use (...) to do (...) instead of (...) because (...))
  • changes in the source code if they are "complex" (you can re-use comments from your source code that you have to add in this case ; e.g. this is just to avoid a infinite loop that can happen when (...) then we have to (...))

Of course if you want to add new applet/features, no need to detail all the source code, it's the aim of comments that have to be used correctly (no need to add to much comments if variables and functions are correctly named) but a short description of the applet/feature is enough (e.g. APPLET: added a new option to do (...) ; it's interesting because (...) ; or: APPLET: added a new applet APPLET; (...) => 'official' description)

Glx-Dock / Cairo-Dock Wiki Help us with Git Top

Online users :

Powered by ElementSpeak © 2007 Adrien Pilleboue, 2009-2013 Matthieu Baerts.
Dock based on CSS Dock Menu (Ndesign) with jQuery. Icons by zgegball
Cairo-Dock is a free software under GNU-GPL3 licence. First stable version created by Fabounet.
Many thanks to TuxFamily for the web Hosting and Mav for the domain name.