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
Ainoa asia, johon käytin zenityä, oli se, että winetricks pyytää sitä toimimaan hyvin (ainakin kaaressa) hehehe kiitos kärjestä
Zenityä käytetään joihinkin muihin temppuihin, kuten Xfce-hakukoneeseen 😀
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.
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
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".
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
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 »`
Jos haluat jakaa koodin kommenteissa, voit tallentaa sen pasta ja liitä URL kommenttiisi. 🙂
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
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
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ä !!
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)
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