Contributing - WayfireWM/wayfire GitHub Wiki
Style guide
In general, you should use uncrustify
with the uncrustify.ini
file from the repo. There are also automatic checks for your PR.
To run uncrustify
on all project files:
$ git ls-files | grep "hpp$\|cpp$" | xargs uncrustify -c uncrustify.ini --no-backup
Names
Class, method and variable names are all in snake_case
. Class names should end in _t
.
File names are all lowercase, with -
as word separator. Headers end in .hpp
. So, a header could be called this-is-example-header.hpp
.
Headers
- Use #pragma once instead of
#ifdef
.
Environment variables
- WAYFIRE_PLUGIN_XML_PATH: Wayfire will search this path for plugin XML files. Useful if you're developing custom plugins.
- WAYFIRE_PLUGIN_PATH: Wayfire will search this path for plugin shared object files. Useful if you're developing custom plugins.
Wayfire Tests
The wayfire-tests
are a suite of tests for wayfire.
Wayfire pull requests accompanied by a wayfire test pull request to demonstrate a bug fix will be prioritized.