... nhưng có vẻ như rất nhiều công việc ...
Nó không thực sự quá tệ, ít nhất là cho một giải pháp chung chung.
Đây là một bản sao của các chi tiết từ câu trả lời của tôi đến bài đăng năm ngoái (tháng 9 năm 2012) trong
Cách tắt thông báo từ người quản lý mạng .
dbus-monitor "interface='org.freedesktop.Notifications'" \
| grep --line-buffered 'string "NetworkManager"' \
| sed -u -e 's/.*/killall notify-osd/g' \
| bash
Thay thế string "NetworkManager"
bằng RE mong muốn để xác định chặn.
Để có được ý tưởng về mẫu RE phù hợp để tìm kiếm chạy:
dbus-monitor "interface='org.freedesktop.Notifications'"
và xem đầu ra trong khi các thông báo được bật lên.
I E. để xóa notify-send
tin nhắn cũng, sử dụng grep
dòng này thay thế:
| grep --line-buffered 'string "NetworkManager"\|string "notify-send"' \
Hãy cẩn thận :
killall notify-osd
không phân biệt đối xử và xóa hoàn toàn ngăn xếp thông báo của bất kỳ tin nhắn đang chờ xử lý nào, bất kể là NetworkManager
hay notify-send
là tác nhân thông báo.
Một giải pháp "trung thực" cần tính đến các điều kiện cuộc đua có thể xảy ra khi giữa việc xác định thanh lọc thông báo là cần thiết và sau đó thực hiện nó, một thông báo khác sẽ xuất hiện và không bị thanh trừng với phần còn lại.
Ngoài ra, nếu thông báo đang chờ xử lý khi một vi phạm bị chặn xuất hiện, tất cả chúng sẽ bị xóa. Tình huống này ít nhất có thể được giải quyết bằng cách tạo một bản sao của các dbus
thông báo đang chờ xử lý và sau đó phát hành lại những thông báo mong muốn notify-send
sau khi thanh trừng.
Đây là một chút công việc nặng nhọc thủ công!
Lý tưởng nhất là việc sử dụng dbus trực tiếp
method void org.freedesktop.Notifications.CloseNotification(uint id) [1]
để chỉ nhắm mục tiêu cụ thể các thông báo mong muốn, thật không may là không rõ ràng ... tuy nhiên ...
Một câu trả lời khác
Liệu org.freedesktop.Notutions.CloseNotification (uint id) có thể được kích hoạt và được gọi thông qua DBus không?
chỉ ra cách sử dụng [1]
, ít nhất là vớinotify-send
, nhưng tiếc là không cho aps thông báo tùy ý. mặc dù một số aps. có giao diện tùy chỉnh để kiểm soát thông báo bật lên.
giới thiệu chéo: