Saya membuat skrip python sederhana yang berfungsi hampir sama dengan memberi tahu-kirim tetapi memiliki dukungan untuk --replaces-id
.
notify-send.py
web: https://github.com/phuhl/notify-send.py
Skrip python untuk mengirim pemberitahuan desktop dari shell.
Tentang
Libnotify adalah bagian dari banyak skrip di dunia Linux. Ini menggunakan banyak fitur yang ditentukan dari Spesifikasi Pemberitahuan Desktop dan membuatnya dapat diakses oleh skrip shell. Namun itu tidak memungkinkan untuk mengganti notifikasi yang ada dengan replaces-id
. Ini adalah bug yang dikenal sejak 2008 dan memiliki tambalan sejak 2012. Patch masih belum hulu (2018).
Skrip python ini menggunakan paket notify2 dan memperlihatkan fungsi ke shell.
Perbedaan antara notify-send.py dan notify-send
- Di
notify-send.py -h
show help alih-alih menjadi parameter untuk hints. Untuk petunjuk gunakan --hint
.
- Ada
notify-send.py -r ID
dan notify-send.py --replaces-id ID
ada. Untuk mengganti panggilan notifikasi notify-send.py
dengan ID yang dikembalikan oleh notifikasi untuk diganti.
notify-send.py
mengembalikan ID pemberitahuan yang baru dibuat.
notify-send.py --replaces-process NAME
ada Setiap notifikasi yang dibuat dengan NAME yang sama akan menggantikan setiap notifikasi sebelumnya dengan NAME yang sama. Jika dipanggil dengan parameter ini notify-send.py
mungkin memblokir, sebaiknya dipanggil dengan trailing &
.
Instalasi
Membutuhkan python3.
git clone https://github.com/phuhl/notify-send.py
cd notify-send.py
sudo pip install notify2
sudo python setup.py install
Pemakaian
$ notify-send.py -h
usage: notify-send.py [-h] [-u LEVEL] [-t TIME] [-a APP_NAME]
[-i ICON[,ICON...]] [-c TYPE[,TYPE...]]
[--hint TYPE:NAME:VALUE] [-r ID]
[--replaces-process NAME]
SUMMERY [BODY]
positional arguments:
SUMMERY
BODY
optional arguments:
-h, --help show this help message and exit
-u LEVEL, --urgency LEVEL
Specifies the urgency level (low, normal, critical).
-t TIME, --expire-time TIME
Specifies the timeout in milliseconds at which to
expire the notification.
-a APP_NAME, --app-name APP_NAME
Specifies the app name for the icon
-i ICON[,ICON...], --icon ICON[,ICON...]
Specifies an icon filename or stock icon to display.
-c TYPE[,TYPE...], --category TYPE[,TYPE...]
Specifies the notification category.
--hint TYPE:NAME:VALUE
Specifies basic extra data to pass. Valid typesare
int, double, string and byte.
-r ID, --replaces-id ID
Specifies the id of the notification that should be
replaced.
--replaces-process NAME
Specifies the name of a process that should take care
of replacing notifications for this process.
beri tahu-kirim [.py] sebagai pengguna root
Untuk menampilkan pemberitahuan, meskipun libnotify atau
notify-send.py
digunakan dari pengguna root, kedua skrip ini sangat membantu.
#!/bin/bash
username=<your username here>
if [ "$(id -u)" != "1000" ] ; then
sudo -u $username DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus notify-send.sh "$@"
else
notify-send.sh "$@"
fi
Dengan notify-send.sh
seperti ini:
#!/bin/bash
notify-send.py "$@" &
Lihat juga
Lihat juga notifikasi-daemon saya yang terinspirasi oleh Dunst , tetapi dengan beberapa perbaikan, termasuk kemungkinan latar belakang yang transparan dan pusat notifikasi yang menyimpan notifikasi.