Update contribution instructions

This commit is contained in:
Bastien Dejean 2016-05-06 14:26:10 +02:00
parent d7ead94ea0
commit 28df617346

View file

@ -1,42 +1,21 @@
## Requirements
## Issues
Always provide the following information when submitting an issue:
- Output of `bspwm -v`.
- Content of `bspwmrc`.
- Steps to reproduce the problem.
## Pull Requests
### Requirements
You must be comfortable with [C][1], [XCB][2] and [Git][3].
## Coding Style
### Coding Style
I follow the [Linux Coding Style][4] with the following variations:
- [Indent with tabs, align with spaces][5].
- Always use braces with if/else.
## Browsing the Code
If you use `vim`:
- Hitting *K* will lead you to the manual page of the function under the cursor (works with most `xcb_*` functions), sometimes you'll have to explicitly specify the section of the manual you're interested in with *3K* (e.g.: `open`).
- Install `ctags` and run `ctags *.{c,h}` in the directory holding the source. Then, hitting *Ctrl-]* will lead you to the definition of the function/variable/structure under the cursor (to go back: *Ctrl-T*).
- You can run `make` from `vim` with `:make` and then navigate to the next and the previous error with `:cn` and `:cp`.
## Debugging
To install debug executables:
```
make clean debug && make install
```
You can attach to a running *bspwm* process with:
```
gdb bspwm $(pgrep -x bspwm)
c
```
Or if you just want to generate a backtrace (saved in `gdb.txt`):
```
ulimit -c unlimited
startx
sudo systemd-coredumpctl gdb bspwm
set logging on
bt full
q
```
- Always use braces when using control structures.
[1]: http://cm.bell-labs.com/cm/cs/cbook/
[2]: http://www.x.org/releases/X11R7.5/doc/libxcb/tutorial/