Neredeyse notify-send ile aynı şekilde çalışan ancak desteği olan basit bir python betiği oluşturdum --replaces-id
.
notify-send.py
web: https://github.com/phuhl/notify-send.py
Kabuktan masaüstü bildirimleri göndermek için kullanılan bir python betiği.
hakkında
Libnotify, Linux dünyasındaki birçok senaryoların bir parçasıdır. Masaüstü Bildirimleri Belirtimi'nin belirtilen özelliklerinin çoğunu kullanır ve bunları kabuk komut dosyalarına erişilebilir hale getirir. O mu değil ancak mevcut bir bildirim gelmesini sağlamasını replaces-id
. Bu, 2008'den beri bilinen bir hatadır ve 2012'den beri bir yamaya sahiptir . Yama yine de yukarı akışta değildir (2018).
Bu python betiği notify2 paketini kullanır ve işlevselliği kabuğa gösterir.
Notify-send.py ve notify-send arasındaki farklar
- Gelen
notify-send.py -h
gösterileri yerine ipuçları için parametre olmanın yardımcı olur. İpuçları için kullanın --hint
.
- İçinde
notify-send.py -r ID
ve notify-send.py --replaces-id ID
var. Bir bildirimi değiştirmek için, değiştirilecek bildirimin notify-send.py
döndürdüğü kimlik numarasıyla arayın .
notify-send.py
yeni oluşturulan bildirimin kimliğini döndürür.
notify-send.py --replaces-process NAME
bulunmaktadır. Aynı NAME ile oluşturulan her bildirim, önceki NAME ile aynı bildirimlerin yerine geçecektir. Bu parametre ile çağrılırsa notify-send.py
engelleyebilir, en sonunda bir takip ile çağrılabilir &
.
Kurulum
Python3 gerektirir.
git clone https://github.com/phuhl/notify-send.py
cd notify-send.py
sudo pip install notify2
sudo python setup.py install
kullanım
$ 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.
notify-send [.py] root kullanıcısı olarak
Bildirimleri görüntülemek için, libnotize etseniz veya
notify-send.py
Kök kullanıcıdan kullanılan bu iki script yardımcı olur.
#!/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
Bunun notify-send.sh
gibi:
#!/bin/bash
notify-send.py "$@" &
Ayrıca bakınız
Ayrıca Dunst'tan ilham alan bildirim arka planıma bir göz atın , ancak saydam bir arka plan ve bildirimleri saklayan bir bildirim merkezi de dahil olmak üzere çeşitli iyileştirmeler yapıldı.