diff options
author | 2017-06-14 18:53:40 -0400 | |
---|---|---|
committer | 2017-06-14 18:53:40 -0400 | |
commit | 298f56353ef155f6a2ccc977c96b2ff5d971e65e (patch) | |
tree | dcb3b74f1dde93bce8657b7509662ffd7db667d0 /HACKING.md | |
parent | Implement KDE's server-side decoration protocol (diff) | |
parent | Merge pull request #1234 from 4e554c4c/tray (diff) | |
download | sway-298f56353ef155f6a2ccc977c96b2ff5d971e65e.tar.gz sway-298f56353ef155f6a2ccc977c96b2ff5d971e65e.tar.zst sway-298f56353ef155f6a2ccc977c96b2ff5d971e65e.zip |
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 @@ | |||
1 | ## Logging | ||
2 | |||
3 | Use `sway_log(importance, fmt, ...)` to log. The following importances are | ||
4 | available: | ||
5 | |||
6 | * `L_DEBUG`: Debug messages, only shows with `sway -d` | ||
7 | * `L_INFO`: Informational messages | ||
8 | * `L_ERROR`: Error messages | ||
9 | |||
10 | `sway_log` is a macro that calls `_sway_log` with the current filename and line | ||
11 | number, which are written into the log with your message. | ||
12 | |||
13 | ## Assertions | ||
14 | |||
15 | In the compositor, assertions *must not* be fatal. All error cases must be | ||
16 | handled as gracefully as possible - crashing the compositor will make the user | ||
17 | lose all of their work. | ||
18 | |||
19 | Use `sway_assert(condition, fmt, ...)` to perform an assertion. This returns | ||
20 | `condition`, which you must handle if false. An error will be logged if the | ||
21 | assertion fails. | ||
22 | |||
23 | Outside of the compositor (swaymsg, swaybar, etc), using `assert.h` is | ||
24 | permitted. | ||
25 | |||
26 | ## Building against a local wlc | ||
27 | |||
28 | 1. Build wlc as described [here](https://github.com/Cloudef/wlc#building) | ||
29 | 2. Inside your sway source folder, tell `cmake` to use your local version of wlc: | ||
30 | |||
31 | ```bash | ||
32 | cmake \ | ||
33 | -DWLC_LIBRARIES=path/to/wlc/target/src/libwlc.so \ | ||
34 | -DWLC_INCLUDE_DIRS=path/to/wlc/include . | ||
35 | ``` | ||