ฉันเพิ่งค้นพบว่า zenity รองรับแท็ก html
zenity --error --text "hello <b>world</b>"
แต่จะทำให้มันใช้งานกับentry
ประเภทได้อย่างไร
zenity --entry --text "hello <b>world</b>"
มันกำลังพิมพ์แท็กแทนที่จะตีความมัน
ฉันเพิ่งค้นพบว่า zenity รองรับแท็ก html
zenity --error --text "hello <b>world</b>"
แต่จะทำให้มันใช้งานกับentry
ประเภทได้อย่างไร
zenity --entry --text "hello <b>world</b>"
มันกำลังพิมพ์แท็กแทนที่จะตีความมัน
คำตอบ:
Zenity และentry
ตัวเลือกไม่รองรับตัวเลือกมาร์กอัป "pango"
error
, info
, question
, warning
เป็นตัวเลือกเดียวที่สนับสนุนมาร์คเหล่านี้
หากคุณตรวจสอบหน้า man สำหรับ zenity - ตัวเลือกเหล่านี้สามารถเปิดหรือปิด pango markups
FYI ลิงก์นี้ให้มาร์กอัปที่รองรับ: http://developer.gnome.org/pygtk/stable/pango-markup-language.html
ข้อเสนอแนะเดียวที่ฉันทำได้คือทำให้คำขอนี้อัปสตรีมไปยังนักพัฒนา zenity
คุณสามารถทำได้ด้วย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
แต่ฉันพบว่าตัวอย่างที่ใช้งานได้จริงนั้นง่ายต่อการปรับตัว มีบางคนที่นี่
สิ่งนี้สามารถแก้ไขได้โดยการเปลี่ยนไฟล์entry.c
บรรทัด 101 เป็น: gtk_label_set_text_with_mnemonic
เป็นgtk_label_set_markup
, สิ่งที่ฉันไม่รู้คือสาเหตุว่าทำไมจุดประสงค์ใดที่ถูกตั้งค่าเป็นตัวช่วยจำตามค่าเริ่มต้น
zenity --text-info --html
ยังสามารถรองรับ pango markup (เช่นเดียวกับ HTML ขั้นสูงเพิ่มเติม) ใช้งานได้เมื่อคอมไพล์ zenity กับ webkit และเป็นเวอร์ชั่น Ubuntu ปัจจุบันทั้งหมด (แต่จะหายไปหลังจากอัปเดตล่าสุดในรุ่นพัฒนา 'Wily')