Skip to main content

i3 Notification Manager (Requires rofi)

This is a notification manager for i3 desktop environment inspired by Rofication. Like Rofication, it implements the Gnome Desktop Notifications Standard standard.

Also see the companion py3status module py3-notifier.

Differences from Rofication

  • Notifications are stored in a tree structure, where they can be grouped by, for example, the application that is sending the notification and the subject. This is highly configurable. (No docs at the moment, but see the examples/i3_notifier_config.py; also see the comments in i3notifier/config.py)
  • Allows bulk deletion of notifications in a category.
  • Implements "default" action.
  • Shows icons.
  • Does not use sockets, rather adds new dbus methods to show the notifications and get the count of notifications.
  • Code is modular, should be straight forward to use another GUI rather than Rofi; or another data structure rather than tree structure.

What does it look like?

animation

Usage

To install (also see the requirements.txt)

pip install i3-notifier

Make sure you are not running any other notification daemon (if you are running dunst for example, kill it with killall dunst). Then start i3-notifier. You might want to make sure i3-notifier and its companion script switch-to-urgent.py are in the $PATH. You can confirm it is running by

dbus-send --session --print-reply --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.GetServerInformation

Then to launch GUI; bind this to a shortcut

dbus-send --session --print-reply --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.ShowNotifications

Keybindings

Key Action
j, Down, Tab or Ctrl-N Choose next
k, Up or Ctrl-P Choose previous
Enter, Space or Left Click Expand if group; execute action if singleton
Shift-Enter Execute action
Esc, Ctrl+[ or Backspace One level up or exit from top level
`, Ctrl+Backspace or Shift-Backspace Exit from any level.
Delete Delete notification or group
Ctrl+Delete, Shift+Delete Delete single notification

To get notification count & urgency

dbus-send --session --print-reply=literal --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.ShowNotificationCount

One can use this with i3blocks to show notifications in the bar or even better switch to py3status and install py3-notifier.

command = "(dbus-send --session --print-reply=literal --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.ShowNotificationCount 2>/dev/null || ($HOME/.local/bin/i3-notifier && echo '? ? ?'))|tr -s ' '|cut -d' ' -f 3"

Metadata

Release files for i3-notifier 0.30

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for i3-notifier 0.30
File Size Uploaded
i3_notifier-0.30.tar.gz 2.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for i3-notifier 0.30
File Interpreter ABI Platform
i3_notifier-0.30-py3-none-any.whl Python 3 none any Details

Total release size: 2.2 MB

Release files / i3_notifier-0.30.tar.gz

Download URL i3_notifier-0.30.tar.gz
Size 2.2 MB
Tags Source
SHA-256 checksum
How to use checksums
8043886473603e9c2dec3bd8a63f984c0f2b592ea96481bedd3c00a066d457eb
BLAKE2b-256 checksum
How to use checksums
2767a3ae039b7bec1e5ee3837254da49ca260b376cbc5de5f625efcc0a79e02e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / i3_notifier-0.30-py3-none-any.whl

Download URL i3_notifier-0.30-py3-none-any.whl
Size 21.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c6717f727ca18e8497583ce8e0d2a913aa055ee303091d25108a6246bfc80cf2
BLAKE2b-256 checksum
How to use checksums
026f28202e488bd4188d4704e299a2ac98337d937af68c7bf7e05ffe353fe28c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.30 This release

2 release files

0.28

2 release files

0.27

2 release files

0.26

2 release files

0.25

2 release files

0.24

2 release files

0.23

2 release files

0.22

2 release files

0.21

2 release files

0.20.0

3 release files

0.19

2 release files

0.18

1 release file

0.17

1 release file

0.16

1 release file

0.15

1 release file

0.13

1 release file

0.12

1 release file

0.11

1 release file

0.10

1 release file

0.9

1 release file

0.8

1 release file

0.7

1 release file

0.6

1 release file

0.5

1 release file

0.4

1 release file

0.3

1 release file

0.2

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page