我刚刚发现 zenity 支持 html 标签。
zenity --error --text "hello <b>world</b>"
但是如何让它与entry
类型一起工作呢?
zenity --entry --text "hello <b>world</b>"
它打印标签而不是解释标签。
答案1
Zenity 和该entry
选项不支持“pango”标记选项。
error
、、、info
是唯一支持这些标记的选项question
。warning
如果您检查 zenity 的手册页 - 那些选项可以打开或关闭 pango 标记。
仅供参考,此链接为您提供了支持的标记:http://developer.gnome.org/pygtk/stable/pango-markup-language.html
我唯一能提出的建议是将此请求上游到zenity 开发人员
答案2
您可以使用 执行此操作yad
,您可以从软件中心安装它。您可以运行:
yad --title "Customised title here" --entry --text " Are you <b>really</b> sure you want to add an entry?" --width=300 --center --button="gtk-cancel:252" --button="gtk-ok:0"
为了使其可用,我们需要获取输入的所有数据并检查按下了哪个按钮。这样做:
data=$(yad --title "Customised title here" --entry --text " Are you <b>really</b> sure you want to add an entry?" --width=300 --center --button="gtk-cancel:252" --button="gtk-ok:0");rc=$?; [[ $rc = 252 ]] && data="";echo $data
有关 yad 的帮助,请键入yad --help-all
或,man yad
但我发现实际示例更容易适应。有一些这里。
答案3
zenity --text-info --html
还可以支持 pango 标记(以及更高级的 html)。当 zenity 使用 webkit 编译时,此功能有效,并且它存在于所有当前的 Ubuntu 版本中(但在开发版本“Wily”的最近更新后,它消失了)。
答案4
可以通过将文件entry.c
第 101 行更改为:gtk_label_set_text_with_mnemonic
来解决gtk_label_set_markup
此问题,我不知道为什么出于什么目的默认将其设置为助记符。