אני פוקד הרבה בפורומים בארצי ... ובאמת, נדיר למצוא משהו מעניין. עם זאת, באחד מאותם פורומים, יש משתמש שפרסם שני פוסטים מעניינים על לינוקס, וזה הראשון (שאני רוצה לשתף אתכם):
שימושים מעשיים בתיבת הדו-שיח Zenity
Zenity היא קבוצה של תיבות דו-שיח גרפיות המשמשות ספריות gtk, עם תוכנית זו נוכל להזין נתונים, לבחור רשימת משימות, להראות לנו את המידע הנובע מתהליך מסוים, לאפשר לנו לבצע הפרעה לפני או במהלך תהליך מסוים, בין היתר פונקציות.
Zenity מורכב מכ- 13 תיבות דו-שיח גרפיות, בואו נראה מה אלה והשילובים האפשריים שלהם:
1- כדי להציג לנו לוח שנה ולבחור תאריך רצוי (תאריך זה יוצג בפורמט מספרי לאחר שנבחר):
zenity --calendar
2- להזנת טקסט (שימושי מאוד בבקשת נתונים או שם קובץ)
zenity --entry
שלב אותם נכון כך שיבקש מאיתנו להזין את הנתונים
zenity --entry --text "Escriba el nombre del archivo"
3- להודיע לנו כי אירעה שגיאה
zenity --error --text "Imposible continuar"
4- לבחירת קובץ
zenity --file-selection $HOME
הוספת אפשרות זו מאפשרת לנו לבחור מספר קבצים:
--multiple
בעזרת זה תבחר רק את התיקיות
--directory
עם זאת במקום לבחור נפעיל את אפשרות השמירה
--save
בעזרת זאת נמנע החלפת קובץ קיים:
--confirm-overwrite
5- הראה לנו מידע מסוים
zenity --info *text "Información a mostrar"
6- הראה לנו רשימת אפשרויות ובחר אחת או קבוצה מבין אלה:
zenity --list --column "nombre de columna" "opcion1" "opción2" "opción3" "opción4"
עכשיו מה קורה אם נרצה לקבל רשימת פעולות עבור קבצים מסוימים, אך אנו רוצים שיוצג שם הפעולה שתבוצע. כדי להשיג זאת עלינו להשתמש בשתי האפשרויות הללו (–הסתיר עמודת ערך ו * ערך עמודת הדפסה) זה ייראה כך:
zenity --hide-column 2 --print-column 2 --list --column "nombre de columna" --column "columna oculta" "nombre1" "comando1" "nombre2" "comando2"
אם אנו רוצים לבחור יותר מפעולה אחת בכל פעם, עלינו להוסיף את שתי האפשרויות הללו
טקסט שיפריד בין הרצף שנבחר לבין השני (במקרה זה אנו מוסיפים את זה »» שמשמעותו רווח
--separator=" "
והאפשרות שתאפשר לנו לבחור יותר מפעולה אחת בכל פעם
--multiple
7- הראה לנו התראה בשורת התפריטים
zenity *notification *text "Texto deseado"
8- הראה לנו את התקדמות התהליך הנתון:
zenity --progress --pulsate
9- בעזרת זה זה יראה לנו שאלה ואנחנו יכולים לבחור אם אנחנו רוצים להמשיך בתהליך או לא:
zenity --question --text "Desea Continuar"
10- בעזרת זה אנו יכולים לקבל את התוצאה של רצף במסוף כגון רשימת חיפוש קבצים, שאילתות עזרה, בין היתר:
zenity --text-info zenity --help-all | zenity --text-info
11- זה יכול להודיע לנו שהתהליך הופרע.
zenity --warning --text "El proceso ha fallado" ls /media/carpeta || zenity --warning --text "No existe el directorio"
12- בעזרת זה אנו יכולים לבחור מספר נתון באמצעות סרגל מחוון:
zenity --scale
על ידי הוספת אפשרות זו, אנו יכולים להגדיר את הערך המינימלי:
--value 60 --min-value 60
(האפשרות –ערך לעולם לא צריכה להיות פחות מ- * ערך מינימום)
בעזרת זה אנו בוחרים את הערך המרבי
--max-value 100
13- בעזרת זה הוא יציג לנו תיבת דו-שיח שבה נוכל לבחור צבע רצוי ולקחת את הצבע מהצד השני בעזרת טפטפת בורר הצבעים כביכול.
zenity --color-selection --show-palette
לאחר שראינו אילו תיבות דו-שיח זמינות בתוכנית זו, בואו נראה כמה דוגמאות מעשיות עם אלה:
בואו נראה כיצד נוכל לערבב את תיבת הדו-שיח של קלט טקסט
באמצעות סקריפט:
#!/bin/bash
#Darle a una palabra una secuencia de comandos.
archivo="`zenity --entry --text "Escriba el nombre del archivo"`"
#comando para renombrar
mv "$@" "`dirname "$@"`"/"$archivo"
בואו נראה כיצד לשלב את תיבת הדו-שיח מספר 12 של סולמות מספריים:
(זהו סקריפט פשוט להורדת איכות תמונות jpg ובכך להקטין את השטח שהוא תופס בדיסקים שלנו)
#!/bin/bash
#Darle a una palabra una secuencia de comandos.
foto="`zenity --scale --value 80 --min-value 60 --max-value 100`"
#comando para comprimir la imagen
mogrify -compress jpeg -quality "$foto%" "$@"
בואו נראה דוגמה נוספת בה נשתמש בתיבת הדו-שיח של בורר הצבעים בה נוסיף מסגרת של הצבע שנבחר לתמונה:
#!/bin/bash
#Darle a una palabra una secuencia de comandos.
foto="`zenity --color-selection --show-palette`" marco="`zenity --entry --text "Seleccione el rango deseado 6x6"`"
#comando para agregarle el marco
mogrify -border $marco -bordercolor $foto "$@"
בואו נראה דוגמה עם תיבת הדו-שיח הודעות השגיאה:
#!/bin/bash
rm "$@" || zenity --error --text "Imposible de eliminar esto es una carpeta"
כפי שאתה יכול לראות, אם מישהו מנסה למחוק תיקיה, התהליך מחזיר שגיאה כך שהשרשרת ממשיכה בזכות מפעילי || אלה.
בואו נראה עכשיו מה אנחנו יכולים לעשות עם תיבת הדו-שיח מספר 6, ונבחר את הפעולות שנבצע בקובץ מסוים:
#!/bin/bash
actions="`zenity --multiple --separator="" --hide-column 2 --print-column 2 --list --column "nombre de columna" --column "columna oculta" "comprimir un 80%" " -compress jpeg -quality 80%" "Cambiar tamaño a 800x600" " -resize 800x600"`"
#Comando
mogrify$actions "$@"
שים לב שיש רווח בתיבת הפקודה מכיוון שהוא אינו מאפשר לטקסט להתחיל במקף, ולכן התוחם במקרה זה צריך להיות null – מפריד = »».
בואו נראה דוגמה נוספת עם תיבת הדו-שיח ההתקדמות
#!/bin/bash
#Script para eliminar
zenity --question --text "Desea borrara las imágenes dentro de esta carpeta `basename "$@"`" && find "$@" -name *.jpg -delete | zenity --list --progress * pulsate
... ובכן זהו זה.
אני מקווה שאוכל להביא לך עוד פוסטים מעניינים.
לגבי
הדבר היחיד שהשתמשתי בו בזריזות היה מכיוון שווינטריקה מבקשת שהוא יעבוד טוב (לפחות בקשת שלי) חח תודה על הטיפ
Zenity משמש לכמה טריקים אחרים, כגון מנוע החיפוש Xfce 😀
תודה, תודה רבה, טוב שאתה מדבר על Gtk + השתמשתי גם בנאמנות אני עדיין לא מבין את זה טוב אבל בהמשך עם המידע שמסרת ועם תרגול אני עשוי למצוא שימוש מעשי בזה.
ברכות.
היי מקמג'י (יש לי מקלדת צרפתית שלא מאפשרת לי למצוא את שני הפינטיקו של האו ... hehehe), האם תוכל להסביר היטב למה זה נועד? ואם כל זה נעשה באמצעות קונסולה? זה יהיה טוב אם תפרסם כמה תמונות של צילומים כדי להמחיש את הדוגמאות וככה זה נראה טוב יותר למה אתה מתכוון
למעשה, מאמר זה לא נכתב על ידי, אלא על ידי משתמש באחד מהפורומים שלנו.
כן, כל זה נעשה באמצעות קונסולה, ו ... למה זה מיועד? ובכן, זה פשוט מאוד: "ידע".
דוגמה לשימוש שניתן לתת לטובת לב עם מישהו עם המקלדת הצרפתית.
#! /bin/bash
# Un cambiador de teclado
ACTION=`zenity --width=0 --height=260 --list\
--title "Selector de setxkbmap" --text "Elige tu teclado"\
--column "Idioma"\
"Español"\
"Francés"\
"Inglés"\
"Gringo"\
"Alemán"`
if [ -n "${ACTION}" ]; then
case $ACTION in
Español)
setxkbmap es && zenity --info --text "Teclado configurado correctamente a español" || zenity --info --text "Por alguna razón no fue posible cambiar el mapa de teclado."
;;
Francés)
setxkbmap fr && zenity --info --text "Dicho sea en francés: Teclado configurado correctamente a francés" || zenity --info --text "Por alguna razón no fue posible cambiar el mapa de teclado."
;;
Inglés)
setxkbmap gb && zenity --info --text "Dicho sea en inglés: Teclado configurado correctamente a inglés" || zenity --info --text "Por alguna razón no fue posible cambiar el mapa de teclado."
;;
Gringo)
setxkbmap us && zenity --info --text "Dicho sea en Gringo: Teclado configurado correctamente a Gringo" || zenity --info --text "Por alguna razón no fue posible cambiar el mapa de teclado."
;;
Alemán)
setxkbmap de && zenity --info --text "Dicho sea en alemán: Teclado configurado correctamente a alemán" || zenity --info --text "Por alguna razón no fue posible cambiar el mapa de teclado."
;;
esac
fi
איזו בושה. העתקה והדבקה ישירות לא עובדת מכיוון שכאשר היא הופכת לתגובה היא "לא מכבדת" את השורה לאחר כל קו נטוי "\".
כדי שזה יעבוד, עליכם לשנות את קו ההטיה האחורית ולאחריו מעבר קו למרחב פשוט.
אני לא מעתיק את זה שוב כדי לא להרוות את ההערות, אבל כדי להיות ברור, מהשורה השלישית לשמינית, שתיהן כולל, זה צריך להיות בשורה אחת כך:
ACTION = `zenity –width = 0 –height = 260 –list –title« בורר Setxkbmap »–טקסט« בחר את המקלדת שלך "–עמודה" שפה "" ספרדית "" צרפתית "" אנגלית "" Gringo "" גרמנית ""
אם ברצונך לשתף קוד בתגובות תוכל לשמור אותו ב פסטה והדבק את כתובת האתר בתגובה שלך. 🙂
כלי מעולה. לא ידעתי שיש דבר כזה DesdeLinux.
בפעם הבאה שתגובה דורשת קוד אשתמש בה.
תודה על המידע. XD
אה ... ואם אתה רואה שאני משתמש בלינוקס זה בגלל שאני משתמש בשניהם, אבל אני מעוניין להיכנס ללינוקס
מאמר טוב מאוד !! זה נינוחות שימושית במיוחד.
אני משתמש בו בתסריט thunar שמשנה את גודל התמונות שנבחרו, ועם רשימה אני מציע את הגדלים של התמונות הסטנדרטיות.
ברכות!
אני צריך שתגיד לי איפה אפשר למצוא את הזניטיות כי בגלל שכבר חיפשתי וזה לא נמצא ברפיון שיש לי .... כמה מאושר אני משתמש בריפו שאני לא מוריד בעצמי ... (התראה: מצב סרקסטי מזוהה בתגובה זו)
בוא נראה מה אתה חושב על זה?
#! / bin / bash
שיר = $ (זניטי –רוחב = 360 –גובה = 320 –כותרת "משגר" –בחירת קבצים –ספריה $ HOME)
מצא שם $ "שיר" * .mp3 | מיון –סדר אקראי | ראש -נ 100 | xargs -d '\ n' mpg123
אני עדיין צריך לשפר את זה מעט