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 ini3notifier/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?
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26b265ec105b3509e73074753f2635e60a4ff55eae950eec80023ad100ab8459
|
|
| MD5 |
310ecdc7a3a4bd7c61c062ba4fe58f0d
|
|
| BLAKE2b-256 |
f1b0ac5f48493d5fc836493f426e9bbc8049137519d8faeb948e7f63a5006e12
|
Provenance
The following attestation bundles were made for i3_notifier-0.20.0.tar.gz:
Publisher:
publish.yml on sencer/i3-notifier
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
i3_notifier-0.20.0.tar.gz -
Subject digest:
26b265ec105b3509e73074753f2635e60a4ff55eae950eec80023ad100ab8459 - Sigstore transparency entry: 1384629112
- Sigstore integration time:
-
Permalink:
sencer/i3-notifier@cd6802fea1727269d3f85c47e0fa9768b728921b -
Branch / Tag:
refs/tags/v0.20.0 - Owner: https://github.com/sencer
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@cd6802fea1727269d3f85c47e0fa9768b728921b -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff0a63aae1ec020cd3562d2c386403730e734e413778e0fcceee913e7ff04d28
|
|
| MD5 |
2ff6dca3b374bc5c5f8aa76eddfc8794
|
|
| BLAKE2b-256 |
41d7312166dd63e95ab796214f94ba60a2874a84455b93d86cb714eda708ffa1
|
Provenance
The following attestation bundles were made for i3_notifier-0.20.0-py3-none-any.whl:
Publisher:
publish.yml on sencer/i3-notifier
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
i3_notifier-0.20.0-py3-none-any.whl -
Subject digest:
ff0a63aae1ec020cd3562d2c386403730e734e413778e0fcceee913e7ff04d28 - Sigstore transparency entry: 1384629248
- Sigstore integration time:
-
Permalink:
sencer/i3-notifier@cd6802fea1727269d3f85c47e0fa9768b728921b -
Branch / Tag:
refs/tags/v0.20.0 - Owner: https://github.com/sencer
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@cd6802fea1727269d3f85c47e0fa9768b728921b -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e25b8ccc251d11b169c257e7c74c04860b2f275e2c589c558227124b88a5eea8
|
|
| MD5 |
c1259ce29f6e7867d88f771ea166dc51
|
|
| BLAKE2b-256 |
03caec3898fe6e45972390df363e75a438e7af3e273cf5d86d73b6e7f3b33033
|
Provenance
The following attestation bundles were made for i3_notifier-0.20-py3-none-any.whl:
Publisher:
publish.yml on sencer/i3-notifier
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
i3_notifier-0.20-py3-none-any.whl -
Subject digest:
e25b8ccc251d11b169c257e7c74c04860b2f275e2c589c558227124b88a5eea8 - Sigstore transparency entry: 1384656398
- Sigstore integration time:
-
Permalink:
sencer/i3-notifier@9ee79786ec420cfd5b4aa7340b30f18a14b5375e -
Branch / Tag:
refs/tags/v0.20.0 - Owner: https://github.com/sencer
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9ee79786ec420cfd5b4aa7340b30f18a14b5375e -
Trigger Event:
release
-
Statement type: