Zenity — диалоговые окна GTK+ из командной строки

Zenity — утилита, которая позволяет выводить на экран диалоговые окна GTK+ из командной строки и скриптов командной оболочки. Zenity это переписанная версия программы gdialog, которая в свою очередь является адаптацией программы dialog для среды GNOME.

Полезно применять, чтобы очеловечить свои скрипты 🙂 Вот пример чего-нибудь простого.

#!/bin/bash
zenity="/usr/bin/zenity"
out="/tmp/output.$$"
what=$(${zenity} --title "Enter dialog" --entry --text "Search:" )
if [ $? -eq 0 ]
then
find / | grep $what | tee ${out} | ${zenity} --width=200 --height=100 --title="Finder" --progress --pulsate --text="Searching..." --auto-kill --auto-close --percentage=10
${zenity} --width=800 --height=600 --title "Results for $what" --text-info --filename="${out}"
else
${zenity} --error --text="No input provided"
fi

Мы получаем скрипт, который ищет то, что мы укажем на диске. Сначала выводит окно с вопросом, что ищем, после ввода, появляется окно с индикатором прогресса, и в следующем окне выводится результат.

Zenity имеет множество возможностей. Вот например:

Опция Значение
calendar календарь
entry однострочное текстовое поле ввода
error сообщение об ошибке
question вопросительное сообщение с возможностью ввода утвердительного или отрицательного ответа
warning предупреждение
info сообщение общего характера
file-selection диалоговое окно выбора файла
list диалоговое окно списка
notification значок уведомления
progress отображает статус выполнения текущей операции
scale шкала значений с «бегунком»
text-info диалог отображения многострочной текстовой информации, который может применяться и как поле ввода
color-selection диалог для выбора цвета
password диалог для ввода пароля
forms диалог форм. Является каркасом, позволяющим вставить формы других типов в одном окне с помощью опций: —add-entry, —add-password, —add-calendar и других

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Unlix © Все права защищены 2019

Копирование материалов с сайта Unlix.ru без указания полной ссылки на источник ЗАПРЕЩЕНО!