|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
GitSimply install Git as any other software of your distribution. E.g.:
If you want to have some colours when using git, simply launch this command:
- On Debian/Ubuntu:
- On RHEL/Fedora:
- On ArchLinux/Menjaro:
git config --global color.ui true
GithubIf 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.
ForkSimply 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 email@example.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:
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
git remote add upstream firstname.lastname@example.org: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
About the commit messageIf possible, create one commit per task/applet and try to have a message like that:
It's maybe not easy at the beginning but it's important
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)
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)
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.