Some insight and guidelines for contribution to the compositor.
- Formatting is done using
cargo +nightly fmt
- Current MSRV is
nightly
, due to this - Keep your git commit titles short, expand in their descriptions (your editor should have settings for this)
There exist four kind of log levels:
info!
: For information message, if some important enough action succeededwarn!
: For error/unexpected behaviour, but not important enough to alter compositor activityerror!
: For error/unexpected behaviour, that is important enough to alter compositor activitydebug!
: For keeping track of events and actions that matter for developers, not end users
Additional directives are
- Avoid punctuation when logging messages
- use tracing's
?value
to specify arguments, unless it hurts user readability, for examplewarn!(?err, "msg")
backend::*
: Backend-only interactionconfig::*
: Config typeshandlers::*
: Custom*Handler
trait types ordelegate_*
macros, required by smithay.portals::*
: XDG desktop portalsrenderer::*
: Rendering and custom render elementsshell::*
: Modules related to the desktop shell withxdg-shell
,wlr-layer-shell
, workspaces, etc.utils::*
: General enough utilities (optimally I'd get rid of this)