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.20.0.tar.gz (2.2 MB view details)

Uploaded Source

Built Distributions

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

i3_notifier-0.20.0-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

i3_notifier-0.20-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: i3_notifier-0.20.0.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.20.0.tar.gz
Algorithm Hash digest
SHA256 26b265ec105b3509e73074753f2635e60a4ff55eae950eec80023ad100ab8459
MD5 310ecdc7a3a4bd7c61c062ba4fe58f0d
BLAKE2b-256 f1b0ac5f48493d5fc836493f426e9bbc8049137519d8faeb948e7f63a5006e12

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: i3_notifier-0.20.0-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.20.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ff0a63aae1ec020cd3562d2c386403730e734e413778e0fcceee913e7ff04d28
MD5 2ff6dca3b374bc5c5f8aa76eddfc8794
BLAKE2b-256 41d7312166dd63e95ab796214f94ba60a2874a84455b93d86cb714eda708ffa1

See more details on using hashes here.

Provenance

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

File details

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

File metadata

  • Download URL: i3_notifier-0.20-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.20-py3-none-any.whl
Algorithm Hash digest
SHA256 e25b8ccc251d11b169c257e7c74c04860b2f275e2c589c558227124b88a5eea8
MD5 c1259ce29f6e7867d88f771ea166dc51
BLAKE2b-256 03caec3898fe6e45972390df363e75a438e7af3e273cf5d86d73b6e7f3b33033

See more details on using hashes here.

Provenance

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