Zenity และการจัดรูปแบบข้อความ


10

ฉันเพิ่งค้นพบว่า zenity รองรับแท็ก html

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

แต่จะทำให้มันใช้งานกับentryประเภทได้อย่างไร

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

มันกำลังพิมพ์แท็กแทนที่จะตีความมัน

คำตอบ:


13

Zenity และentryตัวเลือกไม่รองรับตัวเลือกมาร์กอัป "pango"

error, info, question, warningเป็นตัวเลือกเดียวที่สนับสนุนมาร์คเหล่านี้

หากคุณตรวจสอบหน้า man สำหรับ zenity - ตัวเลือกเหล่านี้สามารถเปิดหรือปิด pango markups

FYI ลิงก์นี้ให้มาร์กอัปที่รองรับ: http://developer.gnome.org/pygtk/stable/pango-markup-language.html

ข้อเสนอแนะเดียวที่ฉันทำได้คือทำให้คำขอนี้อัปสตรีมไปยังนักพัฒนา zenity


5

คุณสามารถทำได้ด้วยyadซึ่งคุณสามารถติดตั้งได้จาก Software Center คุณสามารถเรียกใช้:

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 markup (เช่นเดียวกับ HTML ขั้นสูงเพิ่มเติม) ใช้งานได้เมื่อคอมไพล์ zenity กับ webkit และเป็นเวอร์ชั่น Ubuntu ปัจจุบันทั้งหมด (แต่จะหายไปหลังจากอัปเดตล่าสุดในรุ่นพัฒนา 'Wily')

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.