Dialoglodziņa Zenity praktiskā izmantošana

Es daudz apmeklēju savas valsts forumus ... un, godīgi sakot, reti ir iespējams atrast kaut ko interesantu. Tomēr vienā no šiem forumiem ir lietotājs, kurš ir izveidojis divus interesantus ierakstus par Linux, un tas ir pirmais (kuru es vēlos ar jums kopīgot):

Dialoglodziņa Zenity praktiskā izmantošana

Zenity ir grafisko dialoglodziņu kopums, ko izmanto gtk bibliotēkas, ar šo programmu mēs varam ievadīt datus, atlasīt uzdevumu sarakstu, parādīt mums informāciju, kas iegūta no noteiktā procesa, ļaut mums pārtraukt darbību pirms noteikta procesa vai tā laikā, cita starpā funkcijas.

Zenity sastāv no aptuveni 13 grafiskiem dialoglodziņiem. Apskatīsim, kādi tie ir, un to iespējamās kombinācijas:

1- Lai parādītu mums kalendāru un izvēlētos vēlamo datumu (šis datums tiks parādīts skaitliskā formātā, kad tas būs izvēlēts):

zenity --calendar

2- Teksta ievadīšana (ļoti noderīga, pieprasot datus vai faila nosaukumu)

zenity --entry

Apvienojiet tos pareizi, lai tas prasītu mums ievadīt datus

zenity --entry --text "Escriba el nombre del archivo"

3- Lai informētu mūs, ka ir notikusi kļūda

zenity --error --text "Imposible continuar"

4- Lai atlasītu failu

zenity --file-selection $HOME

Pievienojot šo opciju, mēs varam izvēlēties vairākus failus:
--multiple

Ar šo jūs atlasīsit tikai mapes
--directory

Ar šo izvēles vietā mēs aktivizēsim saglabāšanas iespēju
--save

Tādējādi mēs novērsīsim esoša faila pārrakstīšanu:
--confirm-overwrite

5- Parādiet mums noteiktu informāciju

zenity --info *text "Información a mostrar"

6- Parādiet mums opciju sarakstu un atlasiet vienu vai šo grupu:
zenity --list --column "nombre de columna" "opcion1" "opción2" "opción3" "opción4"

Tagad, kas notiek, ja mēs vēlamies, lai dažiem failiem būtu darbību saraksts, bet mēs vēlamies, lai tiktu parādīts veicamās darbības nosaukums. Lai to panāktu, mums jāizmanto šīs divas iespējas (–slēpt kolonnas vērtību un * drukas kolonnas vērtību), tas izskatās šādi:

zenity --hide-column 2 --print-column 2 --list --column "nombre de columna" --column "columna oculta" "nombre1" "comando1" "nombre2" "comando2"

Ja mēs vēlamies vienlaikus atlasīt vairākas darbības, mums jāpievieno šīs divas iespējas
Teksts, kas atdalīs izvēlēto secību no otras (šajā gadījumā mēs pievienojam šo »», kas nozīmē atstarpi
--separator=" "

Un opcija, kas ļaus mums vienlaikus atlasīt vairākas darbības
--multiple

7- Parādiet mums paziņojumu izvēlnes joslā

zenity *notification *text "Texto deseado"

8- Parādiet mums kāda procesa gaitu:
zenity --progress --pulsate

9- Tādējādi tas parādīs mums jautājumu, un mēs varam izvēlēties, vai mēs vēlamies turpināt procesu:

zenity --question --text "Desea Continuar"

10- Ar šo mēs varam saņemt konsoles secības rezultātus, piemēram, failu meklēšanas sarakstu, palīdzības vaicājumus, cita starpā:

zenity --text-info zenity --help-all | zenity --text-info

11- Tas var mūs informēt, ka process ir pārtraukts.

zenity --warning --text "El proceso ha fallado" ls /media/carpeta || zenity --warning --text "No existe el directorio"

12- Ar šo mēs varam atlasīt noteiktu skaitli, izmantojot slīdni:

zenity --scale

Pievienojot šo opciju, mēs varam noteikt minimālo vērtību:
--value 60 --min-value 60
(opcijai –value nekad nedrīkst būt mazāka par * min-vērtību)

Ar to mēs izvēlamies maksimālo vērtību
--max-value 100

13- Tādējādi tas parādīs mums dialoglodziņu, ar kuru mēs varam izvēlēties vēlamo krāsu un paņemt krāsu no otras puses ar tā saukto krāsu selektora pilinātāju.
zenity --color-selection --show-palette

Pēc tam, kad esat redzējis, kādi dialoglodziņi ir pieejami šajā programmā, apskatīsim dažus praktiskus piemērus:

- Apskatīsim, kā mēs varam sajaukt teksta ievades dialoglodziņu
izmantojot skriptu:

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

- Apskatīsim, kā apvienot ciparu skalu 12. dialoglodziņa numuru:
(Šis ir vienkāršs skripts, lai pazeminātu JPG attēlu kvalitāti un tādējādi samazinātu vietu, kuru tas aizņem mūsu diskos)

#!/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%" "$@"

- Apskatīsim citu piemēru, kur mēs izmantosim krāsu atlasītāja dialoglodziņu, kur fotoattēlam pievienosim izvēlētās krāsas rāmi:

#!/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 "$@"

- Apskatīsim piemēru ar kļūdu ziņojumu dialoglodziņu:

#!/bin/bash

rm "$@" || zenity --error --text "Imposible de eliminar esto es una carpeta"

Kā redzat, ja kāds mēģina izdzēst mapi, process atgriež kļūdu, tāpēc ķēde turpinās, pateicoties šiem || operatoriem.

- Tagad redzēsim, ko mēs varam darīt ar 6. dialoglodziņu, atlasot darbības, kuras veiksim ar noteiktu failu:

#!/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 "$@"

Ievērojiet, ka komandu lodziņā ir atstarpe, jo tā neļauj tekstam sākt ar defisi, tāpēc atdalītājam šajā gadījumā jābūt null –separator = »».

- Apskatīsim vēl vienu piemēru ar progresa dialoglodziņu

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

… Un tas tā ir.

Es ceru, ka es jums parādīšu vairāk interesantu ziņu.

Sveicieni


13 komentāri, atstājiet savus

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   87 teica

    Vienīgais, par ko es izmantoju senitāti, bija tas, ka vīna īpašnieki lūdz, lai tas labi darbojas (vismaz manā arkā) hehehe paldies par padomu

  2.   elav <° Linux teica

    Zenity tiek izmantots dažiem citiem trikiem, piemēram, meklētājprogrammai Xfce 😀

  3.   Ārons Mendo teica

    Paldies, liels paldies, labi, ka jūs runājat par Gtk +. Es arī esmu izmantojis zenity, es to joprojām nesaprotu ļoti labi, bet vēlāk ar jūsu sniegto informāciju un, iespējams, atradīšu to praktiski.

    Sveicieni.

  4.   Neo61 teica

    Hei no Camaguey (man ir franču tastatūra, kas neļauj man atrast abus u ... hehehe pinticos), vai jūs varētu man labi izskaidrot, kam tas ir noderīgi? Un jā, to visu dara konsole? Būtu labi, ja jūs ievietojat dažus uzņemto attēlu attēlus, lai piemēri būtu ilustrēti un tādā veidā labāk izskatītos, ko jūs domājat

    1.    KZKG ^ Gaara teica

      Patiesībā šo rakstu neesmu uzrakstījis es, bet gan viena no mūsu forumiem lietotājs.
      Jā, to visu dara konsole, un ... kam tas paredzēts? Nu, tas ir ļoti vienkārši: "zināšanas".

    2.    manoloks teica

      Piemērs tam, kā izmantot zenity kādam ar franču tastatūru.


      #! /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.    manoloks teica

        Ak, cik kauns. Tieša kopēšana un ielīmēšana nedarbojas, jo, kļūstot par komentāru, tas "neciena" rindas pārtraukumus pēc katra atpakaļsvītras "\".

        Lai tas darbotos, jums ir jāmaina aizmugures slīpsvītras, kam seko līnijas pārtraukums, lai iegūtu vienkāršu atstarpi.
        Es to vairs nekopēju, lai komentāri netiktu piesātināti, bet, lai būtu skaidrs, no trešās līdz astotajai, abas ieskaitot, tai jābūt vienā rindā, lai

        ACTION = `zenity –width = 0 –height = 260 –list –title« Setxkbmap selector »–teksts« Izvēlieties tastatūru »- kolonna« Valoda »« spāņu »« franču »« angļu »« Gringo »« vācu »`

        1.    Manuels de la Fuente teica

          Ja vēlaties koplietot kodu komentāros, varat to saglabāt Pasta un ielīmējiet URL savā komentārā. 🙂

          1.    manoloks teica

            Excelente herramienta. No sabía que existía tal cosa en DesdeLinux.
            Nākamreiz, kad komentāram būs nepieciešams kods, es to izmantošu.
            Paldies par informāciju. XD

  5.   Neo61 teica

    AH ... un, ja redzat, ka es izmantoju Linux, tas ir tāpēc, ka es izmantoju abus, bet mani interesē labi iekļūt Linux

  6.   Santjago teica

    Ļoti labs raksts !! Tas ir ļoti noderīgs zenness.

    Es to izmantoju tunarrakstā, kas maina atlasīto attēlu lielumu, un ar sarakstu piedāvāju standarta attēlu izmērus.

    Sveicieni!

  7.   Hyuuga_Neji teica

    Man vajag, lai jūs man sakāt, kur atrast Zenity, jo es jau meklēju un tas nav manā repo ... Cik laimīgs es izmantoju atpirkšanu, kuru pats nelādēju ... (Brīdinājums: šajā komentārā konstatēts sarkastiskais režīms)

  8.   Hosē Pārdošana teica

    Apskatīsim, ko jūs domājat par šo?
    #! / bin / bash
    dziesma = $ (zenity - platums = 360 - augstums = 320 - virsraksts "Palaidējs" - faila atlase - direktorijs $ HOME)
    atrast "$ song" -name * .mp3 | kārtot –pastāvīgi-kārtot | galva -n 100 | xargs -d '\ n' mpg123
    Man tas vēl nedaudz jāuzlabo