Saya telah mengkonfigurasi sistem saya sehingga ketika saya menerima email baru, balon pemberitahuan muncul di layar saya. Ini nyaman di waktu, dan mengganggu di waktu lain. Tanpa harus mencopot pemasangan integrasi gmail yang saya gunakan, apakah ada cara toggling terpusat apakah jenis pemberitahuan tertentu akan ditampilkan?
Dengan kata lain, saya sedang mencari aplikasi (atau API) yang memungkinkan saya melihat daftar aplikasi "terdaftar" yang menggunakan layanan notifikasi, dan mengaktifkannya sebagai diaktifkan / dinonaktifkan. Atau, sesuatu yang memungkinkan saya untuk membuat satu atau lebih ekspresi reguler yang dapat digunakan untuk mencocokkan dengan source-application-name atau notification-bubble-content, dan jika ada kecocokan, untuk memblokir notifikasi.
sumber
Jawaban:
Anda mungkin dapat memfilter ini pada level d-bus, tetapi sepertinya banyak pekerjaan. Pertama lihat posting ini untuk mendapatkan wawasan tentang bagaimana OSD beroperasi
Mulai dbus-monitor sebelum Anda mengirim jalankan 'notify-send' di konsol terpisah.
notify-osd tidak aktif di dbus
tetapi tidak ada kendala tambahan untuk layanan ini di /etc/dbus-1/system.d
Jadi, Anda mungkin dapat membuat file konfigurasi yang dapat memfilter acara Pemberitahuan berdasarkan sumbernya dan mencapai kontrol yang Anda cari. Itu yang terbaik yang bisa saya lakukan tanpa menggali masalah dan spesifikasi dbus. Saya harap ini membantu, apa yang Anda cari harus lebih mudah dikonfigurasi untuk memulai.
sumber
Ini tidak terlalu buruk, setidaknya untuk solusi generik kasar.
Berikut adalah salinan detail dari jawaban saya untuk pos tahun lalu (September 2012) di
Cara menonaktifkan pemberitahuan dari manajer jaringan .
Ganti
string "NetworkManager"
dengan RE yang diinginkan untuk menentukan pemblokiran.Untuk mendapatkan gambaran tentang pola RE yang cocok untuk dijalankan:
dbus-monitor "interface='org.freedesktop.Notifications'"
dan lihat output ketika notifikasi muncul.
yaitu. untuk menghapus
notify-send
pesan juga, gunakangrep
baris ini sebagai gantinya:Peringatan :
killall notify-osd
tidak diskriminatif dan sepenuhnya menghapus tumpukan pemberitahuan dari semua pesan yang tertunda terlepas dari apakah agen pemberi tahuNetworkManager
ataunotify-send
bukan.Solusi "jujur" perlu memperhitungkan kemungkinan kondisi balapan ketika antara menentukan pembersihan pemberitahuan diperlukan dan kemudian melakukan melakukannya, pemberitahuan lain masuk yang harus muncul dan tidak dibersihkan dengan yang lain.
Juga, jika notifikasi tertunda ketika salah satu yang diblokir masuk, mereka semua akan dibersihkan. Situasi ini setidaknya dapat diselesaikan dengan membuat salinan
dbus
pemberitahuan yang tertunda dan kemudian menerbitkan kembali yang diinginkan dengannotify-send
setelah pembersihan.Ini sedikit kerja padat karya secara manual!
Idealnya, penggunaan dbus langsung dari
khusus menargetkan hanya pemberitahuan yang diinginkan, sayangnya tidak jelas ... namun ...
Jawaban lain
Bisakah org.freedesktop.Notifications.CloseNotification (uint id) dipicu dan dipanggil melalui DBus?
menunjukkan cara menggunakan
[1]
, paling tidak dengannotify-send
, tetapi sayangnya tidak untuk pemberitahuan sembarang aps. meskipun beberapa aps. memiliki antarmuka khusus untuk mengontrol notifikasi pop-up.referensi silang .:
sumber