Зенітність та форматування тексту


10

Я щойно виявив, що zenity підтримує html-теги.

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

але як змусити його працювати з entryтипом?

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

Це друк тегів замість їх інтерпретації.

Відповіді:


13

Зеніт та entryопція не підтримують параметри розмітки "панго".

error, info, question, warningЄ єдиними варіантами , які підтримують ці націнки.

Якщо ви вивчаєте довідкову сторінку на предмет zenity - ці параметри можуть включати або вимикати розмітки pango.

FYI за цим посиланням надає розмітки, що підтримуються: http://developer.gnome.org/pygtk/stable/pango-markup-language.html

Єдине, що я можу зробити, - це звернутись із цим запитом до розробників zenity


5

Це можна зробити за допомогою програми 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але я знайшов практичні приклади, легше адаптуватися. Є деякі тут .


2

Це можна виправити, змінивши entry.cрядок файлу 101 як: gtk_label_set_text_with_mnemonicна gtk_label_set_markupте, чого я не знаю, це чому з цією метою встановлено мнемонічне за замовчуванням.


1
zenity --text-info --html

також може підтримувати розмітку pango (а також більш вдосконалений html). Це працює, коли zenity компілюється з webkit, і він є у всіх поточних версіях Ubuntu (але він відсутній після недавнього оновлення в розроблюваній версії 'Wily').

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.