通过在命令行中附加 -xrm 参数,可以将资源传递给 X 应用程序。所以,如果我想让 Xmessage 背景为灰色,我可以发出xmessage Hi -xrm "xmessage*background: grey"
.
如果我想修改事件翻译,事情就会变得棘手。在我.Xresouces
的这个
Xmessage*Translations:#override\
<Key>F10:exit(-1) \n\
<Key>q:exit(-1)
成功设置F10和q键以退出任何 Xmessage 窗口,但我在命令行中使用 -xrm 时遇到了麻烦,这肯定是因为换行符和转义反斜杠。
我已经尝试了以下三个命令,但没有成功。
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)"
第三个命令仅成功分配最后一个键。其他人失败了,尽管我希望第一个可以工作,因为它在exit(4)和exit(3)之后插入了一个换行符,正如通过回显命令所确认的那样。
我错过了什么,我该如何纠正?
您需要加上单引号:
否则,换行符会丢失。