mwc came to existence out of pure will to create a compositor tailored to my taste and needs. the whole point of mwc is to be as simple and predictable to use and not get in the way of its user with any confusing behaviour. i choose master (stack) layout (hence the name master wayland compositor), because it is dead simple - tiling is done in a really easy-to-understand manner - toplevels are stacked horizontally until the master_count-th one, and then vertically.
all the features implemented up to this point (and all that will be implemented it the future) are done in the simplest possible way i could think off, and all the features requested are added only if they provide something to the end user while maintaining the current simplicity of the compositor.
although mwc is aiming to be really simple in its behaviour, it does provide a lot of (opt-in) features to improve its looks such as animations, transparency, rounded corners, blur etc. these are here for all the users who like thinkering with their setup and can be disabled completely, or used in any capacity.
- tiling and floating toplevels
 - master layout with support for multiple masters, ideal for wide monitors
 - keyboard focused workflow
 - great multitasking with multimonitor and workspaces support
 - smooth and customizable animations
 - easy configuration with hot reloading on save
 - eye-candy (opacity, blur, rounded corners and shadows)
 - portals and an ipc for integrating with other apps
 
- meson *
 - ninja *
 - wayland-protocols *
 - wayland
 - libinput
 - libdrm
 - pixman
 - libxkbcommon
 - wlroots 18.0
 - scenefx 0.2
 
* compile-time dependencies
git clone https://github.com/dqrk0jeste/mwc
cd mwc
meson setup build
ninja -C buildmwc is available in the arch user repository as mwc (versioned releases) and mwc-git (latest features). you can install it with your favourite aur helper
yay -S mwcgit clone https://github.com/dqrk0jeste/mwc
cd mwc
meson setup build --prefix=/usr/local --buildtype=release
ninja -C build installif you need to interact with sandboxed applications and/or screenshare you will need xdg-desktop-portals. by default mwc needs
- xdg-desktop-portal (base)
 - xdg-desktop-portal-wlr (for screensharing)
 - xdg-desktop-portal-gtk (for everything else)
 
mwc [--debug]you probably want to run it from a tty
configuration is done in a configuration file found at $XDG_CONFIG_HOME/mwc/mwc.conf or $HOME/.config/mwc/mwc.conf. if no config is found a default config will be used (you need mwc installed, see above).
note: you can use other configuration location by setting
MWC_CONFIG_PATHbefore runningmwc.
for detailed documentation see examples/example.conf. you can also find the default config in the repo.
if you want to support this project financially you can do so here