通知-發送出現在視窗下方的通知

通知-發送出現在視窗下方的通知

我編寫了一個 shell 腳本,以確保我女兒每週在 Raspberry Pi 上玩 Minecraft 的時間不會超過 60 分鐘:)​​。腳本的一部分用於notify-send彈出通知,警告剩餘時間。但是,通知notify-sendnotify-send --urgency=critical通知均顯示在 Minecraft 視窗下方,因此視窗標題列上僅可見一小部分灰色。為什麼會發生這種情況,我還能做些什麼來發出可見的警告(如果有替代方案notify-send)?

答案1

當您使用「notify-send」時,通知的外觀由兩個決定其他成分:

  • 通知伺服器它創建具有特定外觀的彈出視窗(例如 notification-daemon、notify-osd、xfce4-notifyd、dunst、dzenify、lxqt-notificationd);
  • 視窗管理器最終決定桌面上每個視窗的位置和 z 順序。
  • (「notify-send」本身不顯示任何內容,它只是提交「顯示通知」請求。)

因此,要么當前的通知伺服器沒有盡力使彈出視窗始終位於頂部,要么視窗管理器已決定全螢幕視窗具有優先級,要么視窗管理器(或 Xorg 本身)有些問題。

您可以透過變更通知伺服器進行實驗 - 首先終止目前進程(並將其從桌面環境的「自動啟動」中刪除),然後安裝並啟動新進程(例如透過執行/usr/lib/notify-osd/notify-osd &)。

若要確定目前充當通知伺服器的進程 ID,請使用:

gdbus call -e -d org.freedesktop.DBus \
              -o /org/freedesktop/DBus \
              -m org.freedesktop.DBus.GetConnectionUnixProcessID \
                 "'org.freedesktop.Notifications'"

作為一般通知發送的替代方案,您可以使用建立帶有一些文字的常規視窗的程式 - 例如,xmessage; gx訊息;或禪宗。他們或許更有可能表現得正確。

相關內容