---
name: "mangonag"
section: "1"
platform: "linux"
package: "mangowm"
version: "0.18.4-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/mangonag"
---

# mangonag(1)

show a nag/notification bar on the mango Wayland compositor

## NAME

mangonag - show a nag/notification bar on the mango Wayland compositor

## SYNOPSIS

**mangonag** \[*options*\]\
 **mangonag** --help \| -h

## DESCRIPTION

**mangonag** connects to a running **mango**(1) compositor and displays a single nag bar on a layer surface. It is used to surface messages such as configuration errors (see the compositor's config error nag) and can also be invoked directly to show custom notifications. The bar is anchored to the top or bottom edge of an output, stays on screen until dismissed, its timeout expires, or **SIGINT**/**SIGTERM** is received.

The message text is taken from **--message**. If **--detailed-message** is given, the remaining lines are read from standard input and appended to the message. Messages are limited to four lines; longer input is truncated with an ellipsis and a count of the omitted lines.

If the message is empty and no buttons are configured the program still creates the bar. Pressing a button runs its action and, depending on the button kind, may dismiss the bar first.

## OPTIONS

- **-m**, **--message** \<text\>

  Message text to display.

- **-l**, **--detailed-message**

  Read extra lines from standard input and append them to the message.

- **-t**, **--type** \<error\|warning\|info\>

  Color preset for the bar. Defaults to **error**.

- **-e**, **--edge** \<top\|bottom\>

  Edge of the output to anchor the bar to. Defaults to **top**.

- **-y**, **--layer** \<overlay\|top\|bottom\>

  Layer shell layer to appear on. Defaults to **top**.

- **-o**, **--output** \<name\>

  Name of the output to show the bar on. If omitted the bar is shown on the output with the highest scale, or the focused output when the compositor selects one.

- **-f**, **--font** \<pango font\>

  Font description used to render the text. Defaults to **monospace 13**.

- **-s**, **--dismiss-button** \<text\>

  Text of the dismiss button. Defaults to **X**. Pass an empty string to omit the button.

- **-b**, **--button** \<text\> \<command\>

  Add a button that runs *command* in a terminal when clicked.

- **-B**, **--button-no-terminal** \<text\> \<command\>

  Add a button that runs *command* directly (no terminal).

- **-z**, **--button-dismiss** \<text\> \<command\>

  Add a button that runs *command* in a terminal and then dismisses the bar.

- **-Z**, **--button-dismiss-no-terminal** \<text\> \<command\>

  Add a button that runs *command* directly and then dismisses the bar.

- **-T**, **--timeout** \<ms\>

  Automatically dismiss the bar after *ms* milliseconds. **0** (the default) never times out.

- **-h**, **--help**

  Print a usage summary and exit with success.

## BUTTONS

Buttons are added in the order given on the command line. For **-b** and **-B** the command is optional; a button without a command only dismisses the bar when pressed. Terminal buttons run the command in **$TERMINAL** if set, otherwise the first available of **foot**, **alacritty**, **kitty**, **wezterm**, **st** or **xterm**, and fall back to [**sh**(1)](/sh/1.md) if none is found.

## ENVIRONMENT

- *TERMINAL*

  Terminal used for terminal buttons.

- *WAYLAND\_DISPLAY*

  Wayland display to connect to. Set automatically inside a **mango**(1) session.

## EXIT STATUS

- **0**

  Success (or help message printed).

- **EXIT\_FAILURE**

  An error occurred (failed to connect to the compositor, missing globals, etc.).

## SEE ALSO

**mango**(1), [**mmsg**(1)](/mmsg/1.md), [**sh**(1)](/sh/1.md)

## BUGS

Report issues at the project's issue tracker.
