Praktična uporaba pogovornega okna Zenity

Pogosto obiskujem forume v svoji državi ... in iskreno, redko najdem kaj zanimivega. Vendar pa je v enem od teh forumov uporabnik, ki je objavil dve zanimivi objavi o Linuxu in to je prva (ki jo želim deliti z vami):

Praktična uporaba pogovornega okna Zenity

Zenity je nabor grafičnih pogovornih oken, ki jih uporabljajo knjižnice gtk, s tem programom lahko vnašamo podatke, izbiramo seznam nalog, prikazujemo informacije, ki izhajajo iz določenega postopka, med drugim omogočamo prekinitev pred ali med določenim postopkom funkcije.

Zenity je sestavljen iz približno 13 grafičnih pogovornih oken, poglejmo, kaj so to in njihove možne kombinacije:

1- Če nam želite pokazati koledar in izbrati želeni datum (ta datum bo prikazan v številčni obliki, ko bo izbran):

zenity --calendar

2- Vnos besedila (zelo koristno pri zahtevi za podatke ali ime datoteke)

zenity --entry

Pravilno jih združite, da nas prosi za vnos podatkov

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

3- Obvestite nas, da je prišlo do napake

zenity --error --text "Imposible continuar"

4- Izberite datoteko

zenity --file-selection $HOME

Če dodamo to možnost, lahko izberemo več datotek:
--multiple

S tem boste izbrali samo mape
--directory

S tem namesto izbire bomo aktivirali možnost shranjevanja
--save

S tem bomo preprečili prepisovanje obstoječe datoteke:
--confirm-overwrite

5- Pokažite nam določene informacije

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

6- Pokažite nam seznam možnosti in izberite eno ali skupino teh:
zenity --list --column "nombre de columna" "opcion1" "opción2" "opción3" "opción4"

Zdaj, kaj se zgodi, če želimo imeti seznam dejanj za določene datoteke, vendar želimo, da se prikaže ime dejanja, ki se izvede. Da bi to dosegli, moramo uporabiti ti dve možnosti (–skrij vrednost stolpca in vrednost * stolpec za tiskanje), bi izgledala takole:

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

Če želimo hkrati izbrati več dejanj, moramo dodati ti dve možnosti
Besedilo, ki ločuje izbrano zaporedje od drugega (v tem primeru dodamo to »», kar pomeni presledek
--separator=" "

In možnost, ki nam bo omogočila, da hkrati izberemo več dejanj
--multiple

7- Prikažite nam obvestilo v menijski vrstici

zenity *notification *text "Texto deseado"

8- Pokažite nam potek danega procesa:
zenity --progress --pulsate

9- S tem nam bo prikazal vprašanje in lahko se odločimo, ali želimo nadaljevati s postopkom ali ne:

zenity --question --text "Desea Continuar"

10- S tem lahko v konzoli dobimo rezultat zaporedja, kot so seznam iskanja datotek, poizvedbe za pomoč, med drugim:

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

11- To nas lahko obvesti, da je bil postopek prekinjen.

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

12- S tem lahko drsno številko izberemo s pomočjo drsnika:

zenity --scale

Z dodajanjem te možnosti lahko določimo najmanjšo vrednost:
--value 60 --min-value 60
(možnost –value ne sme biti nikoli manjša od * min-value)

S tem izberemo največjo vrednost
--max-value 100

13- S tem nam bo pokazal pogovorno okno, s katerim lahko s tako imenovano kapljico za izbiro barve izberemo želeno barvo in vzamemo barvo z druge strani.
zenity --color-selection --show-palette

Ko bomo videli, katera pogovorna okna so na voljo v tem programu, si oglejmo nekaj praktičnih primerov s temi:

- Poglejmo, kako lahko premešamo pogovorno okno za vnos besedila
z uporabo skripta:

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

- Poglejmo, kako združiti pogovorno okno številka 12 številskih lestvic:
(To je preprost skript za znižanje kakovosti jpg slik in s tem zmanjšanje prostora, ki ga zaseda na naših diskih)

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

- Poglejmo še en primer, kjer bomo uporabili pogovorno okno za izbiro barve, kjer bomo fotografiji dodali okvir barve, ki smo jo izbrali:

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

- Oglejmo si primer s pogovornim oknom s sporočili o napakah:

#!/bin/bash

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

Kot lahko vidite, če nekdo poskuša izbrisati mapo, postopek vrne napako, zato se veriga nadaljuje zahvaljujoč || operaterjem.

- Poglejmo zdaj, kaj lahko naredimo s pogovornim oknom številka 6 in izberemo dejanja, ki jih bomo izvedli v določeni datoteki:

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

Upoštevajte, da je v ukaznem polju presledek, ker ne dovoljuje, da se besedilo začne z vezajem, zato mora biti ločilo v tem primeru nulo –separator = »».

- Poglejmo še en primer s pogovornim oknom napredka

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

... No to je to.

Upam, da vam lahko prinesem več zanimivih objav.

pozdrav


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   Gnilobe87 je dejal

    Edino, za kar sem uporabil zenity, je bilo, ker winetricks prosi, da deluje dobro (vsaj v mojem loku) hehehe hvala za namig

  2.   elav <° Linux je dejal

    Zenity se uporablja za nekatere druge trike, kot je iskalnik Xfce 😀

  3.   Aaron Mendo je dejal

    Hvala, najlepša hvala, dobro je, da govorite o Gtk +. Tudi jaz sem uporabil zeniteto, še vedno je ne razumem dobro, kasneje pa z informacijami, ki ste jih dali, in s prakso lahko dobim praktično korist.

    Lep pozdrav.

  4.   Neo61 je dejal

    Hej iz Camagueya (imam francosko tipkovnico, ki mi ne dovoli najti dveh pintov u ... hehehe), bi mi lahko dobro razložili, čemu to služi? In če vse to naredi konzola? Dobro bi bilo, če bi objavili nekaj slik zajemanja, da bi bili primeri ponazorjeni in tako bolje videti, kaj mislite

    1.    KZKG ^ Gaara je dejal

      Pravzaprav tega članka nisem napisal jaz, ampak uporabnik enega od naših forumov.
      Da, vse to naredi konzola in ... čemu služi? No, zelo preprosto je: "znanje."

    2.    manoloks je dejal

      Primer uporabe, ki jo lahko nekdo, ki ima francosko tipkovnico, dobi zeniteto.


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

        Oh, kakšna sramota. Kopiranje in lepljenje neposredno ne deluje, ker ko postane komentar, "ne upošteva" prelomov vrstice po vsaki poševnici nazaj "\".

        Če želite delati, morate spremeniti poševnice nazaj, ki jim sledi prelom vrstice, za preprost presledek.
        Ne kopiram ga več, da ne bi nasičil komentarjev, ampak naj bo jasno, od tretje do osme, vključno z obema, mora biti v eni vrstici, tako da:

        AKCIJA = `zenity –width = 0 –height = 260 –list –title« Setxkbmap selector »–besedilo« Izberi tipkovnico »- stolpec« Language »« Spanish »« French »« English »« Gringo »« German »«

        1.    Priročnik vira je dejal

          Če želite v komentarjih deliti kodo, jo lahko shranite v testenine in prilepite url v svoj komentar. 🙂

          1.    manoloks je dejal

            Odlično orodje. Nisem vedel, da obstaja kaj takega DesdeLinux.
            Ko bom komentar naslednjič zahteval kodo, jo bom uporabil.
            Hvala za informacije. XD

  5.   Neo61 je dejal

    AH ... in če vidite, da uporabljam Linux, je to zato, ker uporabljam oboje, vendar me zanima, kako dobro vstopiti v Linux

  6.   Santiago je dejal

    Zelo dober članek !! Je zelo koristna zenity.

    Uporabljam ga v skriptu thunar, ki spreminja velikost izbranih slik, in s seznamom ponudim velikosti standardnih slik.

    Lep pozdrav!

  7.   Hyuuga_Neji je dejal

    Povej mi, kje najti Zenity, ker sem že iskal in ni v repoju, ki ga imam ... Kako vesel sem, da uporabljam repo, ki ga ne prenesem sam ... (opozorilo: v tem komentarju je zaznan sarkastičen način)

  8.   Jose Sales je dejal

    Poglejmo, kaj si mislite o tem?
    #! / Bin / bash
    pesem = $ (zenity -width = 360 -height = 320 –naslov "Launcher" –datoteka-izbor -direktorij $ HOME)
    poišči "$ song" -ime * .mp3 | razvrsti –naključno-razvrsti | glava -n 100 | xargs -d '\ n' mpg123
    Moram ga še malo izboljšati