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

Uploaded Python 3

File details

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

File metadata

  • Download URL: i3_notifier-0.22.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.22.tar.gz
Algorithm Hash digest
SHA256 7023ff3638a6f54894a6ddc684585d1e5cb653c3c66d80664b5409f01817c453
MD5 f16550b0365f8fcfa0350c8c06299861
BLAKE2b-256 2d434fc5d217e7e8c70b3aab45da666a8ec5473c686411af452da3f49bad6482

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: i3_notifier-0.22-py3-none-any.whl
  • Upload date:
  • Size: 18.8 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.22-py3-none-any.whl
Algorithm Hash digest
SHA256 c56a23e371ed29cbdbbfbdffe3108aeeece4380eeade99fc1b170d9f9de9b07e
MD5 cc032caf7ae52ddceb58fe847573b876
BLAKE2b-256 b915c7be66b4e1dbfb2eec748d8126a4631dbd2b5081afed4f924570f5bbfe3a

See more details on using hashes here.

Provenance

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