Zenity-valintaikkunan käytännön käyttö

Käyn usein kotimaassani foorumeilla ... ja rehellisesti sanottuna on harvinaista löytää jotain mielenkiintoista. Yhdessä näistä foorumeista on kuitenkin käyttäjä, joka on kirjoittanut kaksi mielenkiintoista viestiä Linuxista, ja tämä on ensimmäinen (jonka haluan jakaa kanssasi):

Zenity-valintaikkunan käytännön käyttö

Zenity on joukko graafisia valintaikkunoita, joita gtk-kirjastot käyttävät, tämän ohjelman avulla voimme syöttää tietoja, valita tehtäväluettelon, näyttää tietystä prosessista johtuvat tiedot, antaa meille mahdollisuuden keskeyttää ennen tiettyä prosessia tai sen aikana toimintoja.

Zenity koostuu noin 13 graafisesta valintaikkunasta, katsotaanpa, mitä nämä ovat ja niiden mahdolliset yhdistelmät:

1- Voit näyttää kalenterin ja valita haluamasi päivämäärän (tämä päivämäärä näytetään numeerisessa muodossa, kun se on valittu):

zenity --calendar

2- Tekstin syöttäminen (erittäin hyödyllinen tietoja tai tiedoston nimeä pyydettäessä)

zenity --entry

Yhdistä ne oikein, jotta se pyytää meitä syöttämään tietoja

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

3- Ilmoittaa meille virheestä

zenity --error --text "Imposible continuar"

4- Tiedoston valitseminen

zenity --file-selection $HOME

Tämän vaihtoehdon lisääminen antaa meille mahdollisuuden valita useita tiedostoja:
--multiple

Tällä valitset vain kansiot
--directory

Tällä aktivoimme valitsemisen sijaan tallennusvaihtoehdon
--save

Tällä estämme olemassa olevan tiedoston korvaamisen:
--confirm-overwrite

5- Näytä meille tiettyjä tietoja

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

6- Näytä meille luettelo vaihtoehdoista ja valitse yksi tai ryhmä näistä:
zenity --list --column "nombre de columna" "opcion1" "opción2" "opción3" "opción4"

Entä jos haluamme luettelon toiminnoista tietyille tiedostoille, mutta haluamme suoritettavan toiminnon nimen näkyvän. Tämän saavuttamiseksi meidän on käytettävä näitä kahta vaihtoehtoa (–hide-column value ja * print-column value), se näyttää tältä:

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

Jos haluamme valita useamman kuin yhden toiminnon kerrallaan, meidän on lisättävä nämä kaksi vaihtoehtoa
Teksti, joka erottaa valitun sekvenssin toisesta (tässä tapauksessa lisätään tämä »» mikä tarkoittaa välilyöntiä
--separator=" "

Ja vaihtoehto, jonka avulla voimme valita useamman kuin yhden toiminnon kerrallaan
--multiple

7- Näytä meille ilmoitus valikkorivillä

zenity *notification *text "Texto deseado"

8- Näytä tietyn prosessin edistyminen:
zenity --progress --pulsate

9- Tämän avulla se näyttää meille kysymyksen ja voimme valita, haluatko jatkaa prosessia vai ei:

zenity --question --text "Desea Continuar"

10- Tämän avulla voimme saada konsolissa olevan sekvenssin tuloksen, kuten luettelon tiedostoista, ohjekyselyistä, muun muassa:

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

11- Tämä voi ilmoittaa meille, että prosessi on keskeytynyt.

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

12- Tällä voimme valita tietyn luvun liukusäätimen avulla:

zenity --scale

Lisäämällä tämä vaihtoehto voimme määrittää vähimmäisarvon:
--value 60 --min-value 60
(arvo-vaihtoehdon ei pitäisi koskaan olla pienempi kuin * min-arvo)

Tällä valitaan suurin arvo
--max-value 100

13- Tämän avulla se näyttää meille valintaikkunan, jolla voimme valita haluamasi värin ja ottaa värin toiselta puolelta niin sanotulla värinvalitsimella.
zenity --color-selection --show-palette

Nähtyämme, mitkä valintaikkunat ovat käytettävissä tässä ohjelmassa, katsotaan seuraavia käytännön esimerkkejä:

- Katsotaanpa, miten voimme sekoittaa tekstinsyöttövalintaikkunan
komentosarjan avulla:

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

- Katsotaanpa, kuinka yhdistetään numeeristen asteikkojen valintaikkuna numero 12:
(Tämä on yksinkertainen komentosarja, joka heikentää JPG-kuvien laatua ja vähentää siten levyillä käyttämäämme tilaa.)

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

- Katsotaanpa toinen esimerkki, jossa käytämme värivalitsimen valintaikkunaa, jossa lisätään valokuvalle valitsemamme värikehys:

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

- Katsotaanpa esimerkki virheilmoitusten valintaikkunasta:

#!/bin/bash

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

Kuten näet, jos joku yrittää poistaa kansion, prosessi palauttaa virheen, joten ketju jatkuu näiden || operaattorien ansiosta.

- Katsotaan nyt, mitä voimme tehdä valintaikkunalla numero 6, valitsemalla toiminnot, jotka suoritamme tietylle tiedostolle:

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

Huomaa, että komentoruudussa on välilyönti, koska se ei salli tekstin alkua yhdysmerkillä, joten erottimen on tässä tapauksessa oltava nolla –erotin = »».

- Katsotaanpa toinen esimerkki edistymisen valintaikkunasta

#!/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, se on se.

Toivon voivani tuoda sinulle lisää mielenkiintoisia viestejä.

terveiset


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.

  1.   Mätät87 dijo

    Ainoa asia, johon käytin zenityä, oli se, että winetricks pyytää sitä toimimaan hyvin (ainakin kaaressa) hehehe kiitos kärjestä

  2.   elav <° Linux dijo

    Zenityä käytetään joihinkin muihin temppuihin, kuten Xfce-hakukoneeseen 😀

  3.   Aaron Mendo dijo

    Kiitos, kiitos paljon, hyvä, että puhut GTK +: sta. Olen myös käyttänyt zenityä, en vieläkään ymmärrä sitä kovin hyvin, mutta myöhemmin antamallasi tiedolla ja käytännön kanssa voin löytää käytännön käyttötarkoituksen.

    Tervehdys.

  4.   Neo61 dijo

    Hei Camagueysta (minulla on ranskalainen näppäimistö, joka ei anna minun löytää u… hehehen kahta pinticoa), voisitko selittää hyvin, mikä tämä on minulle? Ja jos kaikki tämä tapahtuu konsolilla? Olisi hyvä, jos lähetät joitain kuvia sieppauksista esimerkkien havainnollistamiseksi, ja tällä tavalla näyttää paremmalta mitä tarkoitat

    1.    KZKG ^ Gaara dijo

      Itse asiassa tätä artikkelia ei kirjoittanut minä, vaan yhden foorumimme käyttäjä.
      Kyllä, kaikki tämä tapahtuu konsolilla, ja ... mihin se on tarkoitettu? No, se on hyvin yksinkertaista: "tieto".

    2.    manoloksi dijo

      Esimerkki käytöstä, joka voidaan antaa zenitylle ranskalaisen näppäimistön kanssa.


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

        Mikä harmi. Suora kopiointi ja liittäminen ei onnistu, koska kun siitä tulee kommentti, se "ei kunnioita" rivinvaihtoa jokaisen jälkiviivan jälkeen \ ".

        Jotta se toimisi, joudut vaihtamaan taaksepäin viivoja ja sen jälkeen rivinvaihtoa yksinkertaiseksi tilaksi.
        En kopioi sitä uudelleen, jotta kommentit eivät kyllästyisi, mutta jotta selvyys olisi, kolmannesta rivistä kahdeksaan, molemmat mukaan lukien, sen pitäisi olla yhdellä rivillä siten, että:

        ACTION = `zenity –leveys = 0 –korkeus = 260 –lista –otsikko« Setxkbmap-valitsin »–teksti« Valitse näppäimistö »-sarake« Kieli »« Espanja »« Ranska »« Englanti »« Gringo »« Saksa »`

        1.    Lähteen käsikirja dijo

          Jos haluat jakaa koodin kommenteissa, voit tallentaa sen pasta ja liitä URL kommenttiisi. 🙂

          1.    manoloksi dijo

            Excelente herramienta. No sabía que existía tal cosa en DesdeLinux.
            Seuraavan kerran, kun kommentti vaatii koodia, käytän sitä.
            Kiitos tiedosta. XD

  5.   Neo61 dijo

    AH ... ja jos huomaat, että käytän Linuxia, se johtuu siitä, että käytän molempia, mutta olen kiinnostunut pääsemään hyvin Linuxiin

  6.   Santiago dijo

    Erittäin hyvä artikkeli! Se on erittäin hyödyllinen zenity.

    Käytän sitä thunar-skriptissä, joka muuttaa valittujen kuvien kokoa, ja luettelon kanssa tarjoan vakiokuvien koot.

    Terveisiä !!

  7.   Hyuuga_Neji dijo

    Tarvitsen sinun kertovan minulle, mistä löydän Zenityn, koska koska olen jo etsinyt eikä sitä ole repossa, joka minulla on. Kuinka onnellinen käytän repoa, jota en lataa itse ... (Varoitus: sarkastinen tila havaittu tässä kommentissa)

  8.   Jose Sales dijo

    Katsotaanpa, mitä mieltä olet tästä?
    #! / Bin / bash
    kappale = $ (zenity –leveys = 360 –korkeus = 320 –otsikko "Launcher" - tiedostovalinta –hakemisto $ HOME)
    etsi "$ song" -nimi * .mp3 | lajittelu –satunnais-lajittelu | pää -n 100 | xargs -d '\ n' mpg123
    Minun on vielä parannettava sitä hieman