改行文字のため、翻訳リソースを-xrmに渡すことはできません。

改行文字のため、翻訳リソースを-xrmに渡すことはできません。

-xrmパラメータをコマンドラインに追加すると、リソースをXアプリケーションに渡すことができます。したがって、Xmessageの背景をグレーにするにはxmessage Hi -xrm "xmessage*background: grey"

イベント翻訳を修正するには、状況が厳しくなります。私の中で.Xresouces

Xmessage*Translations:#override\
    <Key>F10:exit(-1) \n\
    <Key>q:exit(-1)

設定成功F10そしてキューキーを使用してXmessageウィンドウを終了できますが、改行とバックスラッシュのエスケープのため、コマンドラインで-xrmを使用する際に問題があります。

私は成功せず、次の3つのコマンドを試しました。

xmessage Hi -xrm "xmessage*Translations:#override <Key>s:exit(4)
    <Key>r:exit(3)
    <Key>p:exit(2)"

xmessage Hi -xrm "xmessage*Translations:#override\
    <Key>s:exit(4)\n\
    <Key>r:exit(3)\n\
    <Key>p:exit(2)"

xmessage Hi -xrm "xmessage*Translations:#override <Key>s:exit(4)" \
-xrm "xmessage*Translations:#override <Key>r:exit(3)" \
-xrm "xmessage*Translations:#override <Key>p:exit(2)"

3番目のコマンドは、最後のキーのみを正常に割り当てます。他のものは失敗しましたが、最初のものは後に改行文字を挿入したのでうまくいくと予想しました。出口(4)そして出口(3)、コマンドをエコーし​​て確認します。

私は何を見逃しており、どのように修正しますか?

ベストアンサー1

一重引用符を入れる必要があります。

xmessage Hi -xrm 'xmessage*Translations:#override\
    <Key>F10:exit(-1) \n\
    <Key>q:exit(-1)'

それ以外の場合は改行文字が失われます。

おすすめ記事