Skip to main content

A notification daemon for i3

Project description

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)

[!NOTE] System Dependency: This project requires PyGObject (Gio) which depends on system libraries. Please install python3-gi (or equivalent for your distribution) via your system package manager before installing via pip.

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"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

i3_notifier-0.23.tar.gz (2.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

i3_notifier-0.23-py3-none-any.whl (20.0 kB view details)

Uploaded Python 3

File details

Details for the file i3_notifier-0.23.tar.gz.

File metadata

  • Download URL: i3_notifier-0.23.tar.gz
  • Upload date:
  • Size: 2.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for i3_notifier-0.23.tar.gz
Algorithm Hash digest
SHA256 c9e1da4e04b4d7bedb8c305743ed630d5fc57c054385960e3ec3c3675d7ac5ad
MD5 a05678503c45c09e46a1c389a20271ee
BLAKE2b-256 b0dc624b651f05401cc6d18f6d7141f01aa5ac0d0ec18faf5dae5fd7d78ecd6a

See more details on using hashes here.

Provenance

The following attestation bundles were made for i3_notifier-0.23.tar.gz:

Publisher: publish.yml on sencer/i3-notifier

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file i3_notifier-0.23-py3-none-any.whl.

File metadata

  • Download URL: i3_notifier-0.23-py3-none-any.whl
  • Upload date:
  • Size: 20.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for i3_notifier-0.23-py3-none-any.whl
Algorithm Hash digest
SHA256 d9f7dc61ce063397876434126dad56d06f28a78abf8ea9b853d47ff95173d7db
MD5 b4d59e7c808fe4f52c39dd2e5518f111
BLAKE2b-256 9638ea97677bea15a6aecca8d4cb247c3731bf2e909e8b57b8df2bd3b2ba6008

See more details on using hashes here.

Provenance

The following attestation bundles were made for i3_notifier-0.23-py3-none-any.whl:

Publisher: publish.yml on sencer/i3-notifier

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page