Skip to main content

Mango

Practical and Powerful Wayland Compositor

Mango is a lightweight, feature-rich Wayland compositor inspired by dwm. It combines the minimalist philosophy of tiling window managers with modern Wayland features like smooth animations, window effects, and zero-flicker rendering.

Get Started

Quickstart Guide

Get Mango running in minutes

Installation

Install on your distribution

Configuration

Configure Mango to your needs

Key Bindings

Learn the default keybindings

Key Features

Tag-Based Workspaces

Use dwm-style tags instead of traditional workspaces, with per-tag layouts

10+ Window Layouts

Tile, scroller, monocle, grid, deck, and more layout options

Smooth Animations

Customizable animations for window open/close, movement, and tag transitions

Window Effects

Blur, shadows, corner radius, and opacity effects powered by scenefx

Scratchpad

Sway-like scratchpad with support for named scratchpads

Overview Mode

Hycov-like overview for quick window navigation

IPC Support

Control Mango via IPC using the mmsg tool

XWayland Support

Excellent support for X11 applications

Why Mango?

Mango builds in seconds and stays lightweight without compromising on features. Built on top of wlroots, it provides a solid foundation for your desktop.
Every feature in Mango is designed to improve your workflow. From hot-reload configuration to rich window states, Mango focuses on what matters.
Every frame is perfect. Mango ensures smooth, flicker-free rendering for a polished desktop experience.
Configure every aspect through a simple text file. Change keybindings, animations, effects, and more—all with hot-reload support.

Quick Example

Here’s a sample configuration showing Mango’s powerful features:
config.conf
# Window effects
blur=1
shadows=1
border_radius=6

# Smooth animations
animations=1
animation_type_open=slide
animation_duration_open=400

# Tag-based layout
tagrule=id:1,layout_name:tile
tagrule=id:2,layout_name:scroller

# Keybindings
bind=Alt,Return,spawn,foot
bind=Alt,space,spawn,rofi -show drun
bind=Alt,q,killclient
bind=SUPER,m,quit

Community

GitHub

Star us on GitHub and contribute

Discord

Join our community on Discord

Contributing

Learn how to contribute

Support

Get help and support

Build docs developers (and LLMs) love