שימושים מעשיים בתיבת הדו-שיח Zenity

אני פוקד הרבה בפורומים בארצי ... ובאמת, נדיר למצוא משהו מעניין. עם זאת, באחד מאותם פורומים, יש משתמש שפרסם שני פוסטים מעניינים על לינוקס, וזה הראשון (שאני רוצה לשתף אתכם):

שימושים מעשיים בתיבת הדו-שיח 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

... ובכן זהו זה.

אני מקווה שאוכל להביא לך עוד פוסטים מעניינים.

לגבי


תוכן המאמר עומד בעקרונותינו של אתיקה עריכתית. כדי לדווח על שגיאה לחץ כאן.

13 תגובות, השאר את שלך

השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   87 דיג'ו

    הדבר היחיד שהשתמשתי בו בזריזות היה מכיוון שווינטריקה מבקשת שהוא יעבוד טוב (לפחות בקשת שלי) חח תודה על הטיפ

  2.   elav <° לינוקס דיג'ו

    Zenity משמש לכמה טריקים אחרים, כגון מנוע החיפוש Xfce 😀

  3.   אהרון מנדו דיג'ו

    תודה, תודה רבה, טוב שאתה מדבר על Gtk + השתמשתי גם בנאמנות אני עדיין לא מבין את זה טוב אבל בהמשך עם המידע שמסרת ועם תרגול אני עשוי למצוא שימוש מעשי בזה.

    ברכות.

  4.   Neo61 דיג'ו

    היי מקמג'י (יש לי מקלדת צרפתית שלא מאפשרת לי למצוא את שני הפינטיקו של האו ... hehehe), האם תוכל להסביר היטב למה זה נועד? ואם כל זה נעשה באמצעות קונסולה? זה יהיה טוב אם תפרסם כמה תמונות של צילומים כדי להמחיש את הדוגמאות וככה זה נראה טוב יותר למה אתה מתכוון

    1.    KZKG ^ גאארה דיג'ו

      למעשה, מאמר זה לא נכתב על ידי, אלא על ידי משתמש באחד מהפורומים שלנו.
      כן, כל זה נעשה באמצעות קונסולה, ו ... למה זה מיועד? ובכן, זה פשוט מאוד: "ידע".

    2.    manolox דיג'ו

      דוגמה לשימוש שניתן לתת לטובת לב עם מישהו עם המקלדת הצרפתית.


      #! /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

      1.    manolox דיג'ו

        איזו בושה. העתקה והדבקה ישירות לא עובדת מכיוון שכאשר היא הופכת לתגובה היא "לא מכבדת" את השורה לאחר כל קו נטוי "\".

        כדי שזה יעבוד, עליכם לשנות את קו ההטיה האחורית ולאחריו מעבר קו למרחב פשוט.
        אני לא מעתיק את זה שוב כדי לא להרוות את ההערות, אבל כדי להיות ברור, מהשורה השלישית לשמינית, שתיהן כולל, זה צריך להיות בשורה אחת כך:

        ACTION = `zenity –width = 0 –height = 260 –list –title« בורר Setxkbmap »–טקסט« בחר את המקלדת שלך "–עמודה" שפה "" ספרדית "" צרפתית "" אנגלית "" Gringo "" גרמנית ""

        1.    מנואל דה לה פואנטה דיג'ו

          אם ברצונך לשתף קוד בתגובות תוכל לשמור אותו ב פסטה והדבק את כתובת האתר בתגובה שלך. 🙂

          1.    manolox דיג'ו

            כלי מצוין. לא ידעתי שיש דבר כזה ב- DesdeLinux.
            בפעם הבאה שתגובה דורשת קוד אשתמש בה.
            תודה על המידע. XD

  5.   Neo61 דיג'ו

    אה ... ואם אתה רואה שאני משתמש בלינוקס זה בגלל שאני משתמש בשניהם, אבל אני מעוניין להיכנס ללינוקס

  6.   סנטיאגו דיג'ו

    מאמר טוב מאוד !! זה נינוחות שימושית במיוחד.

    אני משתמש בו בתסריט thunar שמשנה את גודל התמונות שנבחרו, ועם רשימה אני מציע את הגדלים של התמונות הסטנדרטיות.

    ברכות!

  7.   Hyuuga_Neji דיג'ו

    אני צריך שתגיד לי איפה אפשר למצוא את הזניטיות כי בגלל שכבר חיפשתי וזה לא נמצא ברפיון שיש לי .... כמה מאושר אני משתמש בריפו שאני לא מוריד בעצמי ... (התראה: מצב סרקסטי מזוהה בתגובה זו)

  8.   חוזה מכירות דיג'ו

    בוא נראה מה אתה חושב על זה?
    #! / bin / bash
    שיר = $ (זניטי –רוחב = 360 –גובה = 320 –כותרת "משגר" –בחירת קבצים –ספריה $ HOME)
    מצא שם $ "שיר" * .mp3 | מיון –סדר אקראי | ראש -נ 100 | xargs -d '\ n' mpg123
    אני עדיין צריך לשפר את זה מעט