MCPcopy Index your code
hub / github.com/emersion/mako

github.com/emersion/mako @v1.11.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.11.0 ↗ · + Follow
432 symbols 909 edges 34 files 19 documented · 4% 39 cross-repo links
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

mako

A lightweight notification daemon for Wayland. Works on Sway.

mako screenshot

mako implements the FreeDesktop Notifications Specification.

Feel free to join the IRC channel: #emersion on irc.libera.chat.

Running

mako will run automatically when a notification is emitted. This happens via D-Bus activation, so you don't really need to explicitly start it up (this also allows delaying its startup time and speed up system startup).

If you have several notification daemons installed though, you might want to explicitly start this one. Some ways of achieving this is:

  • If you're using Sway you can start mako on launch by putting exec mako in your configuration file.

  • If you are not using systemd, you might need to manually start a dbus user session: dbus-daemon --session --address=unix:path=$XDG_RUNTIME_DIR/bus

Configuration

mako can be extensively configured and customized - feel free to read more using the command man 5 mako

For control of mako during runtime, makoctl can be used; see man makoctl

Building

Install dependencies:

  • meson (build-time dependency)
  • wayland
  • pango
  • cairo
  • systemd, elogind or basu (for the sd-bus library)
  • gdk-pixbuf (optional, for icons support)
  • dbus (runtime dependency, user-session support is required)
  • scdoc (optional, for man pages)

Then run:

meson build
ninja -C build
build/mako

mako

I have a question!

See the faq section in the wiki.

License

MIT

Core symbols most depended-on inside this repo

max
called by 25
config.c
mako_asprintf
called by 12
string-util.c
copy_binding
called by 10
config.c
destroy_notification
called by 10
notification.c
parse_boolean
called by 10
types.c
set_dirty
called by 10
wayland.c
close_notification
called by 9
notification.c
call_method
called by 9
makoctl.c

Shape

Class 209
Function 196
Enum 27

Languages

C72%
C++28%

Modules by API surface

wayland.c64 symbols
notification.c37 symbols
makoctl.c29 symbols
include/notification.h26 symbols
config.c26 symbols
include/mako.h24 symbols
dbus/mako.c24 symbols
render.c17 symbols
include/config.h17 symbols
criteria.c17 symbols
types.c16 symbols
event-loop.c16 symbols

For agents

$ claude mcp add mako \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact