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

Uploaded Python 3

File details

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

File metadata

  • Download URL: i3_notifier-0.24.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.24.tar.gz
Algorithm Hash digest
SHA256 ff8af0b7ecbc5e57fc1c2997b7a8b718fcaf02c078f93482bdc4b42c12f3bfac
MD5 429df8744143e029b6366abdf0c5b30b
BLAKE2b-256 42ebc080bed689c15b12fe0b5441713bd7e8259d29cd0f1b99fc0736e6418a00

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: i3_notifier-0.24-py3-none-any.whl
  • Upload date:
  • Size: 20.1 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.24-py3-none-any.whl
Algorithm Hash digest
SHA256 f48d47af8704b7218bc9e29c229a08d8373481b2435cd86faa873fa4eb28e5fd
MD5 24b0a2f84a698c9f766f5e8c3a28f3e6
BLAKE2b-256 f5e95abefb4df224b090bd857620078068ed131fb7ac1eacae6fee74dcc1fa6a

See more details on using hashes here.

Provenance

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