Praktické využitie dialógového okna Zenity

Veľa navštevujem fóra svojej krajiny ... a úprimne, je zriedkavé nájsť niečo zaujímavé. Na jednom z týchto fór sa však nachádza používateľ, ktorý uverejnil dva zaujímavé príspevky o systéme Linux, a toto je prvý (o ktorý sa s vami chcem podeliť):

Praktické využitie dialógového okna Zenity

Zenity je sada grafických dialógových okien, ktoré používajú knižnice gtk, pomocou tohto programu môžeme zadávať údaje, vyberať zoznam úloh, zobrazovať nám informácie vyplývajúce z daného procesu, umožniť nám prerušenie pred alebo počas určitého procesu, okrem iných funkcií.

Zenity pozostáva z približne 13 grafických dialógových okien, pozrime sa, čo to je a ich možné kombinácie:

1- Ak nám chcete zobraziť kalendár a zvoliť požadovaný dátum (tento dátum sa po vybratí zobrazí v číselnom formáte):

zenity --calendar

2- Zadávanie textu (veľmi užitočné pri vyžiadaní údajov alebo názvu súboru)

zenity --entry

Správne ich skombinujte, aby od nás vyžadovala zadanie údajov

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

3- Informujeme nás, že došlo k chybe

zenity --error --text "Imposible continuar"

4- Vyberte súbor

zenity --file-selection $HOME

Pridanie tejto možnosti nám umožňuje vybrať niekoľko súborov:
--multiple

Týmto vyberiete iba priečinky
--directory

Týmto namiesto výberu aktivujeme možnosť uloženia
--save

Týmto zabránime prepísaniu existujúceho súboru:
--confirm-overwrite

5- Ukážte nám určité informácie

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

6- Ukážte nám zoznam možností a vyberte jednu alebo skupinu z týchto možností:
zenity --list --column "nombre de columna" "opcion1" "opción2" "opción3" "opción4"

Čo teraz, keď chceme mať zoznam akcií pre určité súbory, ale chceme, aby sa zobrazil názov akcie, ktorá sa má vykonať. Aby sme to dosiahli, musíme použiť tieto dve možnosti (–skryť hodnotu stĺpca a * hodnotu stĺpca tlače), vyzeralo by to takto:

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

Ak chceme vybrať viac ako jednu akciu súčasne, musíme pridať tieto dve možnosti
Text, ktorý oddelí zvolenú postupnosť od druhej (v tomto prípade pridáme toto »», čo znamená medzeru
--separator=" "

A možnosť, ktorá nám umožní zvoliť viac ako jednu akciu súčasne
--multiple

7- Ukážte nám upozornenie na paneli s ponukami

zenity *notification *text "Texto deseado"

8- Ukážte nám pokrok v danom procese:
zenity --progress --pulsate

9- Týmto nám ukáže otázku a my si môžeme zvoliť, či chceme alebo nebudeme pokračovať v procese:

zenity --question --text "Desea Continuar"

10- Vďaka tomu môžeme v konzole získať výsledok postupnosti, ako je napríklad zoznam hľadania súborov, pomocné dotazy, okrem iného:

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

11- To nás môže informovať, že proces bol prerušený.

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

12- Týmto môžeme pomocou posuvnej lišty zvoliť dané číslo:

zenity --scale

Pridaním tejto možnosti môžeme definovať minimálnu hodnotu:
--value 60 --min-value 60
(možnosť –hodnota by nikdy nemala byť menšia ako * minimálna hodnota)

Týmto vyberieme maximálnu hodnotu
--max-value 100

13- Týmto nám zobrazí dialógové okno, pomocou ktorého môžeme zvoliť požadovanú farbu a pomocou takzvaného kvapkadla na výber farby prevziať farbu z druhej strany.
zenity --color-selection --show-palette

Po zistení, ktoré dialógové okná sú dostupné v tomto programe, si ukážeme niekoľko praktických príkladov s týmito:

- Pozrime sa, ako môžeme zmiešať dialógové okno na zadávanie textu
pomocou 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"

- Pozrime sa, ako kombinovať dialógové okno číslo 12 číselných stupníc:
(Toto je jednoduchý skript na zníženie kvality obrázkov jpg a tým zmenšenie priestoru, ktorý zaberá na našich diskoch)

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

- Pozrime sa na ďalší príklad, kde použijeme dialógové okno selektora farieb, kde do fotografie pridáme rám farby, ktorú sme vybrali:

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

- Pozrime sa na príklad s dialógovým oknom chybových správ:

#!/bin/bash

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

Ako vidíte, ak sa niekto pokúsi odstrániť priečinok, proces vráti chybu, takže reťazec vďaka týmto || operátorom pokračuje.

- Teraz sa pozrime, čo môžeme urobiť s dialógovým oknom číslo 6, výberom akcií, ktoré vykonáme s určitým súborom:

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

Upozorňujeme, že v príkazovom riadku je medzera, ktorá neumožňuje, aby text začínal spojovníkom, preto musí byť oddeľovač v tomto prípade null –separator = »».

- Pozrime sa na ďalší príklad s dialógovým oknom postupu

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

... A toto je ono.

Dúfam, že vám môžem priniesť ďalšie zaujímavé príspevky.

pozdravy


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   Hnije87 dijo

    Jedinú vec, na ktorú som použil zenity, bolo to, že winetricks žiada, aby to fungovalo dobre (aspoň v mojom oblúku) lol ďakujem za tip

  2.   elav <° Linux dijo

    Zenity sa používa pre niektoré ďalšie triky, napríklad pre vyhľadávač Xfce 😀

  3.   Aaron Mendo dijo

    Ďakujem, ďakujem pekne, dobre, že hovoríte o Gtk + tiež som použil zenity, stále tomu veľmi dobre nerozumiem, ale neskôr s informáciami, ktoré ste poskytli, a s praxou, môžem nájsť ich praktické využitie.

    Zdravím.

  4.   Neo61 dijo

    Hej z Camaguey (mám francúzsku klávesnicu, ktorá mi nedovolí nájsť dva pinticos u ... hehehe), mohli by ste dobre vysvetliť, čo to je pre mňa? A áno, toto všetko robí konzola? Bolo by dobré, keby ste zverejnili niekoľko obrázkov snímok, aby boli ilustrované príklady a aby tak lepšie vyzeralo, čo máte na mysli

    1.    KZKG ^ Gaara dijo

      Tento článok v skutočnosti nebol napísaný mnou, ale používateľom jedného z našich fór.
      Áno, toto všetko robí konzola a ... na čo to slúži? Je to veľmi jednoduché: „vedomosti“.

    2.    manolox dijo

      Príklad použitia, ktoré je možné venovať zenity pre niekoho, kto má francúzsku klávesnicu.


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

        Aká škoda. Priame kopírovanie a vkladanie nefunguje, pretože keď sa z neho stane komentár, „zneužíva“ riadky po každom spätnom lomítku „\“.

        Aby to fungovalo, musíte kvôli jednoduchému priestoru zmeniť spätné lomky a za nimi zalomenie riadku.
        Nekopírujem to znova, aby som nenasýtil komentáre, ale aby bolo jasné, od tretieho do ôsmeho riadku vrátane by to malo byť v jednom riadku, aby:

        AKCIA = `zenity – šírka = 0 –výška = 260 –zoznam –titul« selektor Setxkbmap »–text« Vyberte si klávesnicu »–stĺpec« Jazyk »« španielčina »« francúzština »« angličtina »« Gringo »« nemčina »“

        1.    Manuál zdroja dijo

          Ak chcete zdieľať kód v komentároch, môžete ho uložiť do Koncentrovaná Pasta a vložte adresu URL do svojho komentára. 🙂

          1.    manolox dijo

            Výborná pomôcka. Nevedel som, že tam niečo také je DesdeLinux.
            Nabudúce, keď bude komentár vyžadovať kód, použijem ho.
            Vďaka za informácie. XD

  5.   Neo61 dijo

    AH ... a ak vidíte, že používam Linux, je to preto, že používam oba, ale mám záujem sa v Linuxe dobre zorientovať

  6.   Santiago dijo

    Veľmi dobrý článok !! Je to veľmi užitočná zenita.

    Používam ho v thunarskom skripte, ktorý mení veľkosť vybratých obrázkov, a so zoznamom ponúkam veľkosti štandardných obrázkov.

    Zdravím !!

  7.   Hyuuga_Neji dijo

    Potrebujem, aby si mi povedal, kde nájdem Zenity, že pretože som už hľadal a nie je v repo, mám…. Ako som šťastný, že používam repo, ktoré si sám nestiahnem ... (Upozornenie: V tomto komentári bol zistený sarkastický režim)

  8.   Jose Sales dijo

    Pozrime sa, čo si o tom myslíte?
    #! / Bin / bash
    song = $ (zenity –width = 360 –height = 320 –titul „Launcher“ –výber súborov –adresár $ HOME)
    nájsť "$ song" -name * .mp3 | triediť –náhodne triediť | hlava -n 100 | xargs -d '\ n' mpg123
    Stále to musím trochu vylepšiť