libotify/notify-send: 本文に「<」または「>」が含まれていると、本文は印刷されません。

libotify/notify-send: 本文に「<」または「>」が含まれていると、本文は印刷されません。

私はLinux Mint 18.1、MATEを使用しています。

<enter>Pythonスクリプトを介して現在のウィンドウにキーを送信しているときに通知を送信するコマンドを使用して、キー名(たとえば)を視覚化します。約2週間、通知 - 送信が奇妙な動作を示しました。 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()

しかし、結果は上の<図2>のようになります。


追加情報:

Bashを使用しようとすると、zenity --info --title='Summary' --text='<enter>'次のエラーメッセージが表示されます。

(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'

開く情報ダイアログボックスにはテキストはありませんが、<enter>素晴らしいテキストがあります。All updates are complete.

答え1

これ通知仕様説明する単純なタグを含めることができるため、「<...>」内のすべてのタグは削除され解釈されます(可能な場合)。たとえば、"<b>hello</b>"その単語は太字で表示されます。

標準のHTMLエンティティメカニズムを使用してGiveと一緒に表示できます。 <たとえば、次のようになります。&lt;>&gt;

notify-send 'Summary' '&lt;enter&gt;'

必要に応じて、次のように複数行のまとめを使用できます。

notify-send 'Summary
<enter>'

関連情報