The*_*Ret 2 libnotify notify-send
我使用的是 Linux Mint 18.1,MATE。
我正在使用 notify-send 命令来可视化键的名称(例如<enter>
),同时通过 python 脚本将它们发送到当前窗口。大约两周以来,notify-send 显示出一种奇怪的行为。我知道 bash 的基本语法是notify-send [OPTIONS] <summary> [body]
.
执行时notify-send -t 0 '<enter>' 'text body'
,一切看起来都很好:
但是,当尝试使用 打印消息正文中的密钥名称时notify-send -t 0 'Summary' '<enter>'
,我得到:
同样的情况发生在notify-send -t 0 'Summary' '<'
, notify-send -t 0 'Summary' '>'
或notify-send -t 0 'Summary' \<
如果正文包含 < 或 > ,为什么正文打印为空白有什么想法吗?
我尝试使用 python 模块代替:
from gi.repository import Notify
Notify.init("App Name")
Notify.Notification.new("Summary","<enter>").show()
Run Code Online (Sandbox Code Playgroud)
但结果与上图 2 中的结果相同。
zenity --info --title='Summary' --text='<enter>'
在 bash 中尝试时,我收到一条错误消息:
(zenity:4952): Gtk-WARNING **: Failed to set text '<enter>' from markup due to error parsing markup: Error on line 1 char 24: Element 'markup' was closed, but the currently open element is 'enter'
而不是 text <enter>
,打开信息对话框有令人惊讶的文本:All updates are complete.
该通知规范说,身体可以包括简单的标记,所以内部的任何标记“<...>”将被删除,如果可能的解释。例如,"<b>hello</b>"
将以粗体显示单词。
您可以使用标准的 html 实体机制并显示一个<
with<
和
>
with >
give,例如,
notify-send 'Summary' '<enter>'
Run Code Online (Sandbox Code Playgroud)
如果您愿意,您可以只使用多行摘要,例如:
notify-send 'Summary
<enter>'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1678 次 |
最近记录: |