Contributing to https://github.com/alex-courtis/way-displays
Thank you for contribution!
Ideas, bug fixes and enhancements are always welcome.
Please raise an issue, fork the repository and raise a PR.
- GNU make
- gcc or clang
- wayland
- wayland-protocols
- wlroots
- libinput
- yaml-cpp
Most will be available if you are running a wlroots based compositor like sway.
yaml-cpp will need to be installed via your distribution's package manager.
gcc is the default for packaging reasons, however clang is preferred.
Set CC and CXX when invoking make:
make CC=clang CXX=clang++ ...
ccls using clang is configured via .ccls
, for editors that support the Language Server Protocol.
make
make test
cmocka is used for unit testing. Individual tests with --wrap
definitions are defined in tst/GNUmakefile
.
Please add tests when defining new functionality.
Individual tests may be run via test-name e.g.
make test-cfg
Valgrind test by appending -vg
e.g.
make test-vg
make test-cfg-vg
make cppcheck
Please resolve all issues before committing.
include-what-you-use is configured to run for src
and tst
.
make iwyu
Necessary changes will be indicated in the output with "should".
See all violations:
make -k iwyu > /dev/null
Please update README.md
.
Please update the man page:
- update
way-displays.1.pandoc
- run
make man
- preview the man page via
man -l way-displays.1
- preview the man page via
- commit both
way-displays.1.pandoc
andway-displays.1
Please match the style of the surrounding code and obey .editorconfig
. Default vim C-indenting gg=G
is preferred.
Please add the option to cfg.yaml
with a descriptive comment.
Please add a command line option and update the usage message.