Zenity 和文本格式

Zenity 和文本格式

我刚刚发现 zenity 支持 html 标签。

zenity --error --text "hello <b>world</b>"

但是如何让它与entry类型一起工作呢?

zenity --entry --text "hello <b>world</b>"

它打印标签而不是解释标签。

答案1

Zenity 和该entry选项不支持“pango”标记选项。

error、、、info是唯一支持这些标记的选项questionwarning

如果您检查 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此问题,我不知道为什么出于什么目的默认将其设置为助记符。

相关内容