Skip to main content

A notification daemon for i3

Project description

i3 Notification Manager (Requires a recent version of 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"

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.21.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.21-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: i3_notifier-0.21.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.21.tar.gz
Algorithm Hash digest
SHA256 e8a3212e6f826a6bc44b082e997b56ac5b253496ebe38227c301ce0bd042459b
MD5 95cc178a380b168d549c122a4ea3c6f0
BLAKE2b-256 40d64234a719bab35ef4b47f57c96da04da7c5f3e678c78f4666640b1f3ae3c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for i3_notifier-0.21.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.21-py3-none-any.whl.

File metadata

  • Download URL: i3_notifier-0.21-py3-none-any.whl
  • Upload date:
  • Size: 18.4 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.21-py3-none-any.whl
Algorithm Hash digest
SHA256 75a04e4cd4eb44607c2111c3d9c66b9e489d6e8015c35264e5eb8b98a023503e
MD5 9b26a82ed09a6bcab86b9c5e1d6ea591
BLAKE2b-256 3227d3887991ff1898f8b172ac9db8397d25b4d7a532cde539fbad085a101e0a

See more details on using hashes here.

Provenance

The following attestation bundles were made for i3_notifier-0.21-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