gitwtfhub

wtf is mako?

emersion/mako — explained in plain English

Analysis updated 2026-07-17 · repo last pushed 2026-05-25

3,153CAudience · ops devopsComplexity · 2/5MaintainedSetup · easy

TL;DR

Mako is a lightweight notification daemon for Wayland desktops (especially Sway) that catches app notifications and shows them as popups without hogging system resources.

Mindmap

mindmap
  root((repo))
    What it does
      Notification daemon
      Wayland popups
      D-Bus triggered
    Tech stack
      C
      Wayland
      D-Bus protocol
    Use cases
      Sway desktops
      Custom configs
      Lightweight setup
    Audience
      Linux power users
      Sysadmins
    Setup
      Config files
      makoctl tool

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Replace the default notification popups on a Sway or other Wayland desktop with a lighter, faster alternative.

REASON 2

Customize how notifications look and behave through config files and the makoctl command-line tool.

REASON 3

Build a fully custom minimalist Linux desktop environment where every component is intentionally chosen.

REASON 4

Keep desktop startup fast since mako stays dormant until D-Bus wakes it for the first notification.

What's in the stack?

CWaylandD-Bus

How it stacks up

emersion/makoerincatto/box3dunikraft/unikraft
Stars3,1532,7283,621
LanguageCCC
Last pushed2026-05-252026-07-03
MaintenanceMaintainedActive
Setup difficultyeasymoderatemoderate
Complexity2/54/54/5
Audienceops devopsdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · easy Time to first run · 5min

Requires a Wayland compositor (like Sway) and D-Bus already running.

Yoink these prompts

Prompt 1
Show me a basic mako config file that changes notification popup position, background color, and timeout.
Prompt 2
How do I use makoctl to dismiss, list, or invoke actions on notifications from the command line?
Prompt 3
Explain how mako integrates with D-Bus and the FreeDesktop Notifications Specification so any app can send it notifications.
Prompt 4
Write a Sway config snippet that starts mako automatically and binds a key to dismiss the latest notification.
Prompt 5
How do I configure per-app notification rules in mako, like muting one application or giving another a different urgency color?

Frequently asked questions

wtf is mako?

Mako is a lightweight notification daemon for Wayland desktops (especially Sway) that catches app notifications and shows them as popups without hogging system resources.

What language is mako written in?

Mainly C. The stack also includes C, Wayland, D-Bus.

Is mako actively maintained?

Maintained — commit in last 6 months (last push 2026-05-25).

How hard is mako to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is mako for?

Mainly ops devops.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.