36 lines
1.1 KiB
Markdown
36 lines
1.1 KiB
Markdown
|
## 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 .
|
||
|
```
|