web-dev-qa-db-fra.com

Zenity et mise en forme du texte

Je viens de découvrir que zenity prend en charge les balises HTML.

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

mais comment le faire fonctionner avec le type entry?

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

C'est imprimer des étiquettes au lieu de les interpréter.

10
adrenochrome

Zenity et l'option entry ne prennent pas en charge les options de balisage "pango".

error, info, question, warning sont les seules options qui prennent en charge ces annotations.

Si vous examinez zenity dans la page de manuel, les annotations Pango peuvent être activées ou désactivées dans ces options.

FYI ce lien vous donne les balises prises en charge: http://developer.gnome.org/pygtk/stable/pango-markup-language.html

La seule suggestion que je puisse faire est de faire cette demande en amont du développeurs de zenity

12
fossfreedom

Vous pouvez le faire avec yad, que vous pouvez installer à partir du Centre de logiciel. Tu peux courir:

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"

Terminal screenshot

Pour que cela soit utilisable, nous devons récupérer toutes les données saisies et vérifier quel bouton a été enfoncé. Cela le fait:

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

Pour obtenir de l'aide sur yad, tapez yad --help-all ou man yad, mais j'ai trouvé que les exemples pratiques sont plus faciles à adapter. Il y en a ici .

5
Scooby-2

Ceci est réparable en changeant le fichier entry.c ligne 101 comme: gtk_label_set_text_with_mnemonic en gtk_label_set_markup, ce que je ne sais pas, c'est pourquoi le but est défini comme mnémonique par défaut.

2
Thanatermesis
zenity --text-info --html

peut également prendre en charge le balisage Pango (ainsi que le HTML plus avancé). Cela fonctionne lorsque zenity est compilé avec webkit et qu'il figure dans toutes les versions actuelles d'Ubuntu (mais il manque après une mise à jour récente de la version en développement 'Wily').

1
sudodus