diff options
author | Drew DeVault <sir@cmpwn.com> | 2017-06-14 18:53:40 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-14 18:53:40 -0400 |
commit | 298f56353ef155f6a2ccc977c96b2ff5d971e65e (patch) | |
tree | dcb3b74f1dde93bce8657b7509662ffd7db667d0 /HACKING.md | |
parent | a5c07dde6aba87584ddb6c6a2769472a6003623a (diff) | |
parent | eb6e38c86d2deb37cc6f378f8644c4a530fd7448 (diff) |
Merge branch 'master' into server-decoration
Diffstat (limited to 'HACKING.md')
-rw-r--r-- | HACKING.md | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/HACKING.md b/HACKING.md new file mode 100644 index 00000000..cf18dbb0 --- /dev/null +++ b/HACKING.md @@ -0,0 +1,35 @@ +## Logging + +Use `sway_log(importance, fmt, ...)` to log. The following importances are +available: + +* `L_DEBUG`: Debug messages, only shows with `sway -d` +* `L_INFO`: Informational messages +* `L_ERROR`: Error messages + +`sway_log` is a macro that calls `_sway_log` with the current filename and line +number, which are written into the log with your message. + +## Assertions + +In the compositor, assertions *must not* be fatal. All error cases must be +handled as gracefully as possible - crashing the compositor will make the user +lose all of their work. + +Use `sway_assert(condition, fmt, ...)` to perform an assertion. This returns +`condition`, which you must handle if false. An error will be logged if the +assertion fails. + +Outside of the compositor (swaymsg, swaybar, etc), using `assert.h` is +permitted. + +## Building against a local wlc + +1. Build wlc as described [here](https://github.com/Cloudef/wlc#building) +2. Inside your sway source folder, tell `cmake` to use your local version of wlc: + +```bash +cmake \ + -DWLC_LIBRARIES=path/to/wlc/target/src/libwlc.so \ + -DWLC_INCLUDE_DIRS=path/to/wlc/include . +``` |