Praktické využití dialogového okna Zenity

Často navštěvuji fóra v mé zemi ... a upřímně, je vzácné najít něco zajímavého. Na jednom z těchto fór však existuje uživatel, který vytvořil dva zajímavé příspěvky o Linuxu, a toto je první (o který se s vámi chci podělit):

Praktické využití dialogového okna Zenity

Zenity je sada grafických dialogových oken používaných knihovnami gtk, s tímto programem můžeme zadávat data, vybírat seznam úkolů, ukazovat nám informace vyplývající z daného procesu, umožnit nám přerušení před nebo během určitého procesu, mimo jiné funkce.

Zenity se skládá z přibližně 13 grafických dialogových oken, podívejme se, co to je a jejich možné kombinace:

1- Chcete-li nám ukázat kalendář a vybrat požadované datum (toto datum se po výběru zobrazí v číselném formátu):

zenity --calendar

2- Zadávání textu (velmi užitečné při požadavku na data nebo název souboru)

zenity --entry

Zkombinujte je správně, aby nás požádalo o zadání údajů

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

3- Informovat nás, že došlo k chybě

zenity --error --text "Imposible continuar"

4- Výběr souboru

zenity --file-selection $HOME

Přidání této možnosti nám umožňuje vybrat několik souborů:
--multiple

Tímto způsobem vyberete pouze složky
--directory

S tímto namísto výběru budeme aktivovat možnost uložení
--save

Tím zabráníme přepsání existujícího souboru:
--confirm-overwrite

5- Ukažte nám určité informace

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

6- Ukažte nám seznam možností a vyberte jednu nebo skupinu z těchto:
zenity --list --column "nombre de columna" "opcion1" "opción2" "opción3" "opción4"

Co se stane, pokud chceme mít seznam akcí pro určité soubory, ale chceme, aby se zobrazil název akce, která má být provedena. Abychom toho dosáhli, musíme použít tyto dvě možnosti (–skrytí hodnoty sloupce a * hodnota sloupce tisku), vypadalo by to takto:

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

Pokud chceme vybrat více než jednu akci najednou, musíme přidat tyto dvě možnosti
Text, který oddělí vybranou sekvenci od druhé (v tomto případě přidáme toto »», což znamená mezeru
--separator=" "

A možnost, která nám umožní vybrat více než jednu akci najednou
--multiple

7- Ukažte nám oznámení na liště nabídek

zenity *notification *text "Texto deseado"

8- Ukažte nám postup daného procesu:
zenity --progress --pulsate

9- S tímto nám ukáže otázku a můžeme si vybrat, zda chceme v procesu pokračovat nebo ne:

zenity --question --text "Desea Continuar"

10- Díky tomu můžeme v konzole obdržet výsledek sekvence, například seznam hledání souborů, dotazy nápovědy, mimo jiné:

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

11- To nás může informovat, že proces byl přerušen.

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

12- Tímto způsobem můžeme vybrat dané číslo pomocí posuvníku:

zenity --scale

Přidáním této možnosti můžeme definovat minimální hodnotu:
--value 60 --min-value 60
(volba –hodnota by nikdy neměla být menší než * min. hodnota)

Tím vybereme maximální hodnotu
--max-value 100

13- Tímto způsobem se nám zobrazí dialogové okno, pomocí kterého můžeme vybrat požadovanou barvu a vzít barvu z druhé strany pomocí takzvaného kapátka pro výběr barvy.
zenity --color-selection --show-palette

Poté, co se podíváme, která dialogová okna jsou k dispozici v tomto programu, se podívejme na některé praktické příklady:

- Podívejme se, jak můžeme kombinovat dialogové okno pro zadávání textu
pomocí 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"

- Podívejme se, jak kombinovat dialogové okno číslo 12 číselných stupnic:
(Toto je jednoduchý skript ke snížení kvality obrázků jpg a tím ke zmenšení prostoru, který zabírá na našich discích)

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

- Podívejme se na další příklad, kde použijeme dialogové okno pro výběr barvy, kde do fotografie přidáme rámeček barvy, kterou vybereme:

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

- Podívejme se na příklad s dialogovým oknem chybových zpráv:

#!/bin/bash

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

Jak vidíte, pokud se někdo pokusí odstranit složku, proces vrátí chybu, takže řetězec díky těmto || operátorům pokračuje.

- Podívejme se nyní, co můžeme dělat s dialogovým oknem číslo 6, výběrem akcí, které provedeme u určitého souboru:

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

Všimněte si, že v příkazovém poli je mezera, protože neumožňuje, aby text začínal pomlčkou, proto oddělovač v tomto případě musí být null –separator = »».

- Podívejme se na další příklad s dialogovým oknem 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

... No, to je ono.

Doufám, že vám mohu přinést více zajímavých příspěvků.

pozdravy


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   hnije87 řekl

    Jedinou věc, pro kterou jsem použil zenity, bylo, že winetricks požaduje, aby to fungovalo dobře (alespoň v mém oblouku), hehehe díky za tip

  2.   elav <° Linux řekl

    Zenity se používá pro některé další triky, například pro vyhledávač Xfce 😀

  3.   Aaron Mendo řekl

    Děkuji, moc vám děkuji, dobře, že mluvíte o Gtk + Také jsem použil zenity, stále tomu moc dobře nerozumím, ale později s informacemi, které jste poskytli, as praxí mohu najít praktické využití.

    Zdravím.

  4.   Neo61 řekl

    Hey from Camaguey (I have a French keyboard that doesn't let me find the two pinticos of the u ... hehehe), could you vysvětlit mi dobře, k čemu je to užitečné? A ano, to vše se děje pomocí konzoly? Bylo by dobré, kdybyste zveřejnili nějaké obrázky zachycených snímků, aby byly ilustrovány příklady a aby to vypadalo lépe, co tím myslíte

    1.    KZKG ^ Gaara řekl

      Ve skutečnosti tento článek nenapsal já, ale uživatel jednoho z našich fór.
      Ano, to vše provádí konzole a ... k čemu to je? Je to velmi jednoduché: „znalosti“.

    2.    Manolox řekl

      Příklad použití, které lze dát zenity pro někoho s francouzskou klávesnicí.


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

        Jaká škoda. Přímé kopírování a vkládání nefunguje, protože když se stane komentářem, „nerespektuje“ zalomení řádku po každém zpětném lomítku „\“.

        Aby to fungovalo, musíte pro jednoduché místo změnit zpětná lomítka následovaná zalomením řádku.
        Nekopíruji to znovu, aby nedošlo k nasycení komentářů, ale aby bylo jasné, od třetího řádku k osmému, včetně, měl by být v jednom řádku tak, aby:

        ACTION = `zenity –width = 0 –height = 260 –list –title« Setxkbmap selector »–text« Vyberte si klávesnici »–sloupec« Jazyk »« Španělština »« Francouzština »« Angličtina »« Gringo »« Němčina »`

        1.    Manuál Zdroje řekl

          Pokud chcete sdílet kód v komentářích, můžete jej uložit do složky Pasta a vložte adresu URL do svého komentáře. 🙂

          1.    Manolox řekl

            Vynikající nástroj. Nevěděl jsem, že něco takového existuje DesdeLinux.
            Až komentář příště vyžaduje kód, použiji jej.
            Děkuji za informaci. XD

  5.   Neo61 řekl

    AH ... a pokud vidíte, že používám Linux, je to proto, že používám oba, ale mám zájem se v Linuxu dobře zorientovat

  6.   Santiago řekl

    Velmi dobrý článek !! Je to velmi užitečná zenity.

    Používám to v thunar skriptu, který mění velikost vybraných obrázků, a se seznamem nabízím velikosti standardních obrázků.

    Zdravím !!

  7.   Hyuuga_neji řekl

    Potřebuji, abys mi řekl, kde najít Zenity, protože už se dívám a není v repo, které mám ... Jak rád používám repo, které si sám nestáhnu ... (Upozornění: V tomto komentáři byl zjištěn sarkastický režim)

  8.   Jose Sales řekl

    Uvidíme, co si o tom myslíte?
    #! / bin / bash
    song = $ (zenity –width = 360 –height = 320 –titul „Launcher“ –výběr souboru –adresář $ HOME)
    najít "$ song" -name * .mp3 | třídit –hodně třídit | hlava -n 100 | xargs -d '\ n' mpg123
    Stále to potřebuji trochu vylepšit