Notifications should be useful before they become noise.
Putting notifications inside a terminal launcher can go wrong very quickly. If every alert becomes another permanent line, the terminal stops feeling like yours. RETUI separates the live notification module from output history so you can decide what deserves each kind of attention.
Android has to open the door first
RETUI reads active notifications through Android's notification-listener access. The Launcher cannot grant that permission to itself, and it should not pretend otherwise.
notifications -access
Enable RETUI on that system screen. The same listener also helps the Music module observe external media sessions, so missing notification access can explain two apparently unrelated problems.
The module and the history are separate choices
show_notificationsEnable the live notification terminal/module feed.
terminal_notificationsPrint accepted notifications into ordinary terminal output history.
notifications -onAdd the notifications module to the dock.
notifications -offRemove the module from the dock without rewriting the notification rules.
I prefer the module without output printing. I can inspect what is active, then leave it behind, instead of scrolling through yesterday's notifications beside commands I actually ran.
config -set show_notifications true config -set terminal_notifications false notifications -on
One notification gets the room
The active module shows one selected notification at a time: position, app name, title, body, and a `reply available` marker when the selected action supports it. Long content scrolls inside the terminal window, and the panel compacts when the keyboard needs the space.
The controls stay deliberately small:
notifications -prevMove to the previous active notification.
notifications -nextMove to the next active notification.
notifications -clearDismiss the selected Android notification when it has a usable notification key.
notifications -openOpen Android's full notification shade.
Tap the notification body to follow its original pending action. The module's settings button can exclude the selected notification pattern when it is the content, rather than the whole app, that you no longer want to see.
Reply has to stay attached to the right conversation
Inline reply uses Android's `RemoteInput` action, the same mechanism behind replies in the notification shade. Before RETUI can use an app's reply action, bind the app:
reply -bind Signal reply -ls
Select a replyable notification in the module and run `notifications -reply`, or choose the reply suggestion. RETUI opens its native prompt and locks the selected notification while you type. New arrivals do not move the reply target, and previous/next navigation stays disabled until the reply is sent or cancelled.
The older direct route remains available when you deliberately want the latest bound notification from one app:
reply -to <ID-or-package> <message>
Filtering matters more than presentation
The terminal frame can make notifications look consistent. It cannot decide which interruptions deserve your attention. That belongs to rules you can inspect.
notifications -inc <app>Explicitly include an app.
notifications -exc <app>Exclude an app from RETUI's accepted notifications.
notifications -add_filter <id> <pattern>Create a reusable content filter.
notifications -rm_filter <id>Remove a content filter by its ID.
notifications -lsDescribe the current include, exclude, and filter rules.
`app_notification_enabled_default` decides the starting posture. When it is true, apps are allowed unless excluded. When false, an app must be explicitly included. That one setting turns the system from a blacklist into an allowlist.
The text can still belong to the app
Rules can assign a colour or a named format to one application, and `notifications.xml` keeps the defaults and mappings readable.
notifications -color #ff58d3dc Signal notifications -add_format 7 %pkg: %title notifications -format 7 Signal notifications -file
The exact format tokens are best inspected in the current file and command help. I would keep formats short. A notification module should help you notice a message, not make you parse a decorative log protocol.
When nothing appears, inspect both halves
debug -settings # notification_terminal # notification_output notifications -ls
Then check Android notification access and confirm the app is not excluded by the current rule posture. The Troubleshooting post covers the broader source, state, and surface sequence.
I do not want RETUI to hide the outside world. I want it to let that world in through a smaller door, with a filter beside it and a close button that still means something.