Përdorimet praktike të kutisë së dialogut Zenity

Unë frekuentoj shumë forume të vendit tim… dhe sinqerisht, është e rrallë të gjesh diçka interesante. Sidoqoftë, në një nga ato forume, është një përdorues i cili ka bërë dy postime interesante në lidhje me Linux, dhe ky është i pari (të cilin unë dua ta ndaj me ju):

Përdorimet praktike të kutisë së dialogut Zenity

Zenity është një grup kutish dialogu grafik të përdorura nga bibliotekat gtk, me këtë program mund të fusim të dhëna, të zgjedhim një listë detyrash, të na tregojmë informacionin që rezulton nga një proces i caktuar, të na lejojë të bëjmë një ndërprerje para ose gjatë një procesi të caktuar, ndër të tjera funksionet.

Zenity përbëhet nga rreth 13 kuti grafike dialogu, le të shohim se cilat janë këto dhe kombinimet e tyre të mundshme:

1- Për të na treguar një kalendar dhe për të zgjedhur një datë të dëshiruar (kjo datë do të tregohet në format numerik pasi të jetë zgjedhur):

zenity --calendar

2- Për të futur tekst (shumë i dobishëm kur kërkoni të dhëna ose emrin e një skedari)

zenity --entry

Kombinojini ato në mënyrë të saktë në mënyrë që të na kërkojë që të dhënat të futen

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

3- Për të na informuar se ka ndodhur një gabim

zenity --error --text "Imposible continuar"

4- Për të zgjedhur një skedar

zenity --file-selection $HOME

Shtimi i këtij opsioni na lejon të zgjedhim disa skedarë:
--multiple

Me këtë do të zgjidhni vetëm dosjet
--directory

Me këtë në vend që të zgjedhim do të aktivizojmë opsionin e ruajtjes
--save

Me këtë ne do të parandalojmë që një skedar ekzistues të mbishkruhet:
--confirm-overwrite

5- Na tregoni informacione të caktuara

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

6- Na tregoni një listë opsionesh dhe zgjidhni një ose një grup nga këto:
zenity --list --column "nombre de columna" "opcion1" "opción2" "opción3" "opción4"

Tani çfarë nëse dëshirojmë të kemi një listë të veprimeve për skedarë të caktuar, por duam që të shfaqet emri i veprimit që do të kryhet. Për të arritur këtë ne duhet të përdorim këto dy opsione (–vlera e kolonës së fshehtë dhe * vlera e kolonës së printimit) do të dukej kështu:

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

Nëse duam të zgjedhim më shumë se një veprim në të njëjtën kohë, duhet t'i shtojmë këto dy opsione
Tekst që do të ndajë sekuencën e zgjedhur nga tjetra (në këtë rast ne shtojmë këtë »» që do të thotë një hapësirë
--separator=" "

Dhe opsioni që do të na lejojë të zgjedhim më shumë se një veprim në të njëjtën kohë
--multiple

7- Na tregoni një njoftim në shiritin e menusë

zenity *notification *text "Texto deseado"

8- Na tregoni progresin e një procesi të caktuar:
zenity --progress --pulsate

9- Me këtë do të na tregojë një pyetje dhe ne mund të zgjedhim nëse duam të vazhdojmë ose jo me procesin:

zenity --question --text "Desea Continuar"

10- Me këtë ne mund të marrim rezultatin e një sekuence në tastierë siç është lista e një kërkimi për skedarë, pyetje ndihme, ndër të tjera:

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

11- Kjo mund të na informojë se procesi është ndërprerë.

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

12- Me këtë ne mund të zgjedhim një numër të dhënë me anë të një shiriti rrëshqitës:

zenity --scale

Duke shtuar këtë opsion, ne mund të përcaktojmë vlerën minimale:
--value 60 --min-value 60
(Opsioni i vlerës kurrë nuk duhet të jetë më i vogël se * vlera minimale)

Me këtë zgjedhim vlerën maksimale
--max-value 100

13- Me këtë ai do të na tregojë një kuti dialogu me të cilën ne mund të zgjedhim një ngjyrë të dëshiruar dhe të marrim ngjyrën nga ana tjetër me të ashtuquajturën pikëz zgjedhës ngjyrash.
zenity --color-selection --show-palette

Pasi të shohim se cilat kutitë e dialogut janë në dispozicion në këtë program, le të shohim disa shembuj praktikë me këto:

- Le të shohim se si mund ta përziejmë kutinë e dialogut për futjen e tekstit
duke përdorur një skenar:

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

- Le të shohim se si të kombinojmë kutinë e dialogut numër 12 të shkallëve numerike:
(Ky është një skenar i thjeshtë për të ulur cilësinë e imazheve jpg dhe për të zvogëluar kështu hapësirën që zë në disqet tona)

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

- Le të shohim një shembull tjetër ku do të përdorim kutinë e dialogut të zgjedhësit të ngjyrave ku do të shtojmë një kornizë të ngjyrës që zgjedhim në një 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 "$@"

- Le të shohim një shembull me kutinë e dialogut për mesazhet e gabimit:

#!/bin/bash

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

Siç mund ta shihni, nëse dikush përpiqet të fshijë një dosje, procesi kthen një gabim në mënyrë që zinxhiri të vazhdojë falë këtyre operatorëve ||

- Le të shohim tani se çfarë mund të bëjmë me kutinë e dialogut numër 6, duke zgjedhur veprimet që do të kryejmë në një skedar të caktuar:

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

Vini re se në kutinë e komandave ka një hapësirë ​​pasi që nuk lejon që teksti të fillojë me vizë, prandaj ndarësi në këtë rast duhet të jetë null - ndarës = »».

- Le të shohim një shembull tjetër me kutinë e dialogut të progresit

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

... Epo kjo është ajo.

Shpresoj se mund t'ju sjell më shumë postime interesante.

të fala


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.

  1.   kalbet87 dijo

    E vetmja gjë për të cilën përdora zenitetin ishte sepse winetricks kërkon që ajo të funksionojë mirë (të paktën në harkun tim) hehehe faleminderit për këshillën

  2.   elav <° Linux dijo

    Zenity përdoret për disa hile të tjera, të tilla si motori i kërkimit Xfce

  3.   Aaron Mendo dijo

    Faleminderit, faleminderit shumë, mirë që flisni për Gtk + Unë gjithashtu kam përdorur zenity Unë ende nuk e kuptoj atë shumë mirë, por më vonë me informacionin që ju keni dhënë dhe me praktikë unë mund të gjej një përdorim praktik për të.

    Përshëndetje.

  4.   Neo61 dijo

    Hej nga Camaguey (kam një tastierë franceze që nuk më lejon të gjej dy pikat e u ... hehehe), a mund të më shpjegoni mirë se çfarë është kjo për mua? Dhe nëse e gjithë kjo bëhet nga tastiera? Do të ishte mirë nëse do të postonit disa imazhe të kapjeve në mënyrë që shembujt të ilustrohen dhe në atë mënyrë të duket më mirë se çfarë mendoni

    1.    KZKG ^ Gaara dijo

      Në të vërtetë, ky artikull nuk është shkruar nga unë, por nga një përdorues i një prej forumeve tona.
      Po, e gjithë kjo bëhet nga tastiera, dhe ... për çfarë shërben? Epo, është shumë e thjeshtë: "njohuri".

    2.    manoloks dijo

      Një shembull i përdorimit që mund t'i jepet zenitetit për dikë me tastierën franceze.


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

        Oh, çfarë turpi. Kopjimi dhe ngjitja në mënyrë të drejtpërdrejtë nuk funksionon sepse kur bëhet një koment, "nuk respekton" vijën që prishet pas çdo rënie prapa "\".

        Për ta bërë atë të funksionojë, duhet të ndryshoni rreshtimet e pasme të pasuara nga një ndërprerje e vijës për një hapësirë ​​të thjeshtë.
        Unë nuk e kopjoj atë përsëri në mënyrë që të mos ngop komentet, por të jem e qartë, nga rreshti i tretë në të tetën, të dyja përfshirëse, duhet të jetë në një rresht të vetëm, në mënyrë që:

        VEPRIMI = `zenity - gjerësia = 0 –eight = 260 –list - titulli« Zgjedhësi i setxkbmap »–teksti« Zgjidhni tastierën tuaj »– kolona« Gjuha »« Spanjisht »« Frëngjisht »« Anglisht »« Gringo »« gjermanisht »»

        1.    Manuali i Burimit dijo

          Nëse dëshironi të ndani kodin në komente, mund ta ruani në Ngjit dhe ngjisni url në komentin tuaj. 🙂

          1.    manoloks dijo

            mjet i shkëlqyer. Nuk e dija që kishte një gjë të tillë DesdeLinux.
            Herën tjetër që një koment kërkon kod do ta përdor.
            Faleminderit për informacionin XD

  5.   Neo61 dijo

    AH ... dhe nëse e shihni që unë jam duke përdorur Linux është për shkak se i përdor të dyja, por unë jam i interesuar të futem mirë në Linux

  6.   Santiago dijo

    Artikull shume i mire !! Zshtë zenitet super i dobishëm.

    Unë e përdor atë në një skenar tunar që ndryshon përmasat e imazheve të zgjedhura, dhe me një listë ofroj madhësitë e imazheve standarde.

    Përshëndetje!

  7.   Hyuuga_Neji dijo

    Unë kam nevojë që ju të më tregoni se ku mund ta gjej Zenitetin që sepse unë tashmë kërkoj dhe nuk është në repon që kam. Sa i lumtur jam duke përdorur një repo që nuk e shkarkoj vetë… (Alert: Modaliteti Sarkastik zbulohet në këtë koment)

  8.   Jose Sales dijo

    Le të shohim çfarë mendoni për këtë?
    #! / bin / bash
    kënga = $ (zenity –gjerësia = 360 –lënda = 320 – Titulli "Launcher" –zgjedhja e skedarit –drejtoria $ HOME)
    gjeni "$ song" -Emri * .mp3 | renditje –random-renditje | kokë -n 100 | xargs -d '\ n' mpg123
    Unë ende kam nevojë për të përmirësuar atë pak