Zenityダイアログボックスの実用的な使用法

私は私の国のフォーラムに頻繁に行きます…そして正直なところ、何か面白いものを見つけることはめったにありません。 ただし、それらのフォーラムのXNUMXつに、LinuxについてXNUMXつの興味深い投稿を行ったユーザーがいます。これが最初の投稿です(これを皆さんと共有したいと思います)。

Zenityダイアログボックスの実用的な使用法

Zenityは、gtkライブラリで使用される一連のグラフィカルダイアログボックスです。このプログラムを使用すると、データの入力、タスクのリストの選択、特定のプロセスから得られた情報の表示、特定のプロセスの前または最中に中断を行うことができます。関数。

Zenityは約13のグラフィカルダイアログボックスで構成されています。これらが何であるか、およびそれらの可能な組み合わせを見てみましょう。

1- カレンダーを表示して希望の日付を選択するには(この日付は、選択すると数値形式で表示されます):

zenity --calendar

2- テキストを入力するには(データやファイルの名前を要求するときに非常に便利です)

zenity --entry

それらを正しく組み合わせて、データの入力を求められるようにします

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

3- エラーが発生したことを通知するため

zenity --error --text "Imposible continuar"

4- ファイルを選択するには

zenity --file-selection $HOME

このオプションを追加すると、いくつかのファイルを選択できます。
--multiple

これにより、フォルダのみを選択します
--directory

これを選択する代わりに、保存オプションをアクティブにします
--save

これにより、既存のファイルが上書きされるのを防ぎます。
--confirm-overwrite

5- 特定の情報を表示する

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

6- オプションのリストを表示し、次のXNUMXつまたはグループを選択します。
zenity --list --column "nombre de columna" "opcion1" "opción2" "opción3" "opción4"

ここで、特定のファイルのアクションのリストが必要であるが、実行するアクションの名前を表示したい場合はどうなりますか。 これを実現するには、次のXNUMXつのオプション(–hide-columnvalueと* print-column value)を使用する必要があります。

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

一度に複数のアクションを選択する場合は、これらXNUMXつのオプションを追加する必要があります
選択したシーケンスを他のシーケンスから分離するテキスト(この場合、これを追加します»»これはスペースを意味します
--separator=" "

また、一度に複数のアクションを選択できるオプション
--multiple

7- メニューバーに通知を表示する

zenity *notification *text "Texto deseado"

8- 特定のプロセスの進捗状況を表示します。
zenity --progress --pulsate

9- これにより、質問が表示され、プロセスを続行するかどうかを選択できます。

zenity --question --text "Desea Continuar"

10- これにより、ファイル検索のリスト、ヘルプクエリなど、コンソールでシーケンスの結果を受け取ることができます。

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

11- これにより、プロセスが中断されたことがわかります。

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

12- これにより、スライダーバーを使用して特定の番号を選択できます。

zenity --scale

このオプションを追加することにより、最小値を定義できます。
--value 60 --min-value 60
(–valueオプションは* min-valueより小さくすることはできません)

これで最大値を選択します
--max-value 100

13- これにより、希望の色を選択し、いわゆるカラーセレクタードロッパーで反対側から色を取得できるダイアログボックスが表示されます。
zenity --color-selection --show-palette

このプログラムで使用できるダイアログボックスを確認した後、次の実用的な例をいくつか見てみましょう。

-テキスト入力ダイアログボックスをどのように組み合わせることができるか見てみましょう
スクリプトの使用:

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

-数値スケールのダイアログボックス番号12を組み合わせる方法を見てみましょう。
(これは、jpg画像の品質を下げて、ディスク上で占めるスペースを減らすための簡単なスクリプトです)

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

-選択した色のフレームを写真に追加するカラーセレクタダイアログボックスを使用する別の例を見てみましょう。

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

-エラーメッセージダイアログボックスの例を見てみましょう。

#!/bin/bash

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

ご覧のとおり、誰かがフォルダを削除しようとすると、プロセスはエラーを返すため、これらの||演算子のおかげでチェーンが続行されます。

-ダイアログボックス番号6で何ができるかを見てみましょう。特定のファイルに対して実行するアクションを選択します。

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

テキストをハイフンで始めることができないため、コマンドボックスにスペースがあることに注意してください。したがって、この場合の区切り文字はnull –separator =»»である必要があります。

-進行状況ダイアログボックスで別の例を見てみましょう

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

...まあこれはそれです。

興味深い投稿をもっとお届けできるといいのですが。

よろしく


13コメント、あなたのコメントを残してください

コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   rots87

    私が天頂を使用した唯一のことは、ワイントリックがそれがうまく機能するように要求するためでした(少なくとも私のアーチでは)hehehe先端に感謝します

  2.   elav <°Linux

    Zenityは、Xfce検索エンジンなどの他のトリックに使用されます😀

  3.   アーロンメンド

    ありがとう、ありがとうございます、Gtkについてお話しいただきありがとうございます+私もzenityを使用しましたが、まだよく理解していませんが、後であなたが提供した情報と実践によって、実用化できるかもしれません。

    ご挨拶。

  4.   Neo61

    CamagueyのHey(私は、uのXNUMXつのピンチコを見つけることができないフレンチキーボードを持っています…hehehe)、これが私にとって何であるかをよく説明できますか? そして、これがすべてコンソールによって行われる場合はどうなりますか? キャプチャの画像をいくつか投稿して、例を示し、そのようにすると、意味がよく見えるようにするとよいでしょう。

    1.    KZKG ^我愛羅

      実際、この記事は私が書いたのではなく、私たちのフォーラムのユーザーが書いたものです。
      はい、これはすべてコンソールによって行われます、そして…それは何のためですか? まあ、それは非常に簡単です:「知識」。

    2.    マノロックス

      フレンチキーボードを持っている人のために天才に与えることができる使用例。


      #! /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.    マノロックス

        残念だね。 コメントになると、各バックスラッシュ「\」の後に改行が「無視」されるため、直接コピーして貼り付けることはできません。

        それが機能するためには、単純なスペースのためにバックスラッシュとそれに続く改行を変更する必要があります。
        コメントが飽和しないように再度コピーすることはしませんが、明確にするために、XNUMX行目からXNUMX行目まで、両方を含めて、次のようにXNUMX行にする必要があります。

        ACTION = `zenity –width = 0 –height = 260 –list –title«Setxkbmapセレクター»–text«キーボードを選択»–column«言語»«スペイン語»«フランス語»«英語»«Gringo»«ドイツ語»`

        1.    マヌエルデラフエンテ

          コメントでコードを共有したい場合は、に保存することができます 貼り付ける コメントにURLを貼り付けます。 🙂

          1.    マノロックス

            優れたツール。中にそんな事があるとは知りませんでした DesdeLinux.
            次回コメントにコードが必要なときは、それを使用します。
            情報をありがとう。 XD

  5.   Neo61

    AH ...そして私がLinuxを使用していることがわかった場合、それは私が両方を使用しているためですが、私はLinuxにうまく慣れることに興味があります

  6.   サンティアゴ

    とても良い記事です! とても便利な天頂です。

    選択した画像のサイズを変更するthunarスクリプトで使用し、リストを使用して標準画像のサイズを提供します。

    ご挨拶!

  7.   日向ネジ

    すでに検索していて、レポにないので、ゼニティの場所を教えてください…。 自分でダウンロードしないリポジトリを使用して、どれほど満足していますか…(アラート:このコメントで検出されたサルカスティックモード)

  8.   ホセセールス

    これについてどう思いますか?
    #!/ bin / bashに
    song = $(zenity –width = 360 –height = 320 –title "Launcher" –file-selection –directory $ HOME)
    「$ song」を検索-name * .mp3 | 並べ替え–ランダム並べ替え| ヘッド-n100 | xargs -d '\ n'mpg123
    私はまだそれを少し改善する必要があります