sway/HACKING.md
2017-04-29 10:54:08 -04:00

1.1 KiB

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
  2. Inside your sway source folder, tell cmake to use your local version of wlc:
cmake \
    -DWLC_LIBRARIES=path/to/wlc/target/src/libwlc.so \
    -DWLC_INCLUDE_DIRS=path/to/wlc/include .