Deliver system data via on-demand notifications
3 months ago
6 months ago


citron provides system data via on-demand notifications, it is essentially an alternative to status bars, meant to be used through keybindings defined in your window manager's configuration.

It is designed to stay out of your way. The moment you want to know something, like today's date for example, you hit a keybinding — and instantly, a notification pops up with the data you requested, and then disappears a few seconds later.


If you wish to contribute a patch, inquire about something or share your feedback, you are welcome to send an email to ~grtcdr/pub@lists.sr.ht. If you encounter issues of any kind, please file them in the project's ticket tracker.


citron depends on a couple things: dbus and a notification daemon of your choosing, e.g. mako, dunst, etc.

If you're installing from cargo, run the following in a shell:

cargo install citron

pkgsrc users can install it directly from the official repositories:

pkgin install citron

Otherwise, run these commands to build the program from source:

git clone https://git.sr.ht/~grtcdr/citron
cd citron
cargo build --release


citron is designed to integrate directly into your window manager or desktop environment through a set of user-defined keybindings - here's an example configuration for sway:

bindsym {
   $mod+Alt+b exec citron battery   # Show a battery notification
   $mod+Alt+d exec citron date      # Show a date notification
   $mod+Alt+l exec citron backlight # Show a backlight notification
   $mod+Alt+m exec citron memory    # Show a memory notification
   $mod+Alt+n exec citron network   # Show a network notification
   $mod+Alt+u exec citron uptime    # Show an uptime notification


This topic is fully documented in citron(1). If you've installed citron through a package manager (with the exception of cargo), then you may be able to view the manpage directly from your terminal by issuing man citron.

If you don't have access to the manpages, you will want to build them. To do this, you should first install scdoc, clone the repository and then run the following in a shell:

# Navigate to where the manpage is located
cd citron/doc
# Build the manpage
scdoc < citron.1.scd > citron.1

You can now view the manpage by running man -l citron.1.


If your research involves this project in any way, you may cite it like so:

  author = {Benali, T. A.},
   title = {citron},
     url = {https://grtcdr.tn/citron.html},
 version = {0.15.0},
    year = 2021


  • Thank you to pin@netbsd.org for packaging and maintaining citron on NetBSD.