Keep a running text log of notifications from one specific contact or app.
Run a lightweight always-on notification watcher as a systemd user service.
Debug D-Bus notification eavesdropping policies on a Linux desktop.
Archive message previews that would otherwise disappear once a popup closes.
| darynongera/gotcha | deepanwadhwa/samosa-chat | felixrieseberg/relic | |
|---|---|---|---|
| Stars | 44 | 45 | 45 |
| Language | C | C | C |
| Setup difficulty | moderate | moderate | moderate |
| Complexity | 2/5 | 3/5 | 4/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires installing D-Bus development headers and may need session-bus policy changes to allow eavesdropping.
gotcha is a small Linux tool, written in C, that watches for desktop notifications and writes matching ones to a plain text log file. It listens on the D-Bus system that Linux desktops use to send popup notifications, filters those by which app sent them and who the sender is, and appends anything that matches to a log in a readable format like a timestamp followed by the sender and the message text. A common use is watching for messages from a specific contact in an app such as WhatsApp Linux, so you get a running text record of what was said even after the notification popup disappears. You start it by pointing it at an app name and a sender to watch for, and an output file to write matches to. It can be run once from the terminal to test it, or installed as a persistent background service using systemd, so it keeps running after you log out or reboot, restarts itself if it crashes, and starts automatically the next time you log in. Getting it running means installing a few development packages first, such as build tools and the D-Bus development headers, which the README gives separate commands for on Debian and Ubuntu, Fedora, and Arch systems. After that you compile it with a single make command, or by calling gcc directly with the D-Bus library flags. Installing it as a service involves copying a provided service file into your systemd user config folder and enabling it. The README includes a troubleshooting section for the most common snag: some Linux desktop configurations block a program from eavesdropping on notifications meant for other apps unless the policy explicitly allows it. It explains how to check whether your system is blocking this using the dbus-monitor tool, and where to look in the system's D-Bus policy files. It also notes that not every app puts the sender's name in the same place, so matching by name alone may need adjusting depending on which chat app you are watching. The project does not state a license.
A small Linux background tool that watches desktop notifications from a chosen app and sender, and logs matching messages to a plain text file.
Mainly C. The stack also includes C, D-Bus, systemd.
The project does not state a license, so default copyright rules apply and reuse permissions are unclear.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
double-check against the repo, no cap.