ちょっとしたGUIが欲しいときに使える。
ヘルプ
$ zenity --help 用法: zenity [オプション...] ヘルプのオプション: -h, --help ヘルプのオプションを表示する --help-all ヘルプのオプションをすべて表示する --help-general 一般的なオプションを表示する --help-calendar カレンダーのオプションを表示する --help-entry テキスト入力のオプションを表示する --help-error エラーダイアログのオプションを表示する --help-info 情報ダイアログのオプションを表示する --help-file-selection ファイル選択ダイアログのオプションを表示する --help-list 一覧ダイアログのオプションを表示する --help-notification 通知アイコンのオプションを表示する --help-progress 進捗表示ダイアログのオプションを表示する --help-question 質問ダイアログのオプションを表示する --help-warning 警告ダイアログのオプションを表示する --help-scale スケールのオプションを表示する --help-text-info テキスト情報のオプションを表示する --help-color-selection 色選択オプションを表示する --help-password パスワードダイアログのオプションを表示する --help-forms フォームダイアログのオプションを表示する --help-misc その他のオプションを表示する --help-gtk GTK+ のオプションを表示する アプリケーションのオプション: --calendar カレンダーダイアログを表示する --entry テキスト入力ダイアログを表示する --error エラーダイアログを表示する --info 情報ダイアログを表示する --file-selection ファイル選択ダイアログを表示する --list 一覧ダイアログを表示する --notification 通知領域に表示する --progress 進捗表示ダイアログを表示する --question 質問ダイアログを表示する --warning 警告ダイアログを表示する --scale スケールダイアログを表示する --text-info テキスト情報ダイアログを表示する --color-selection 色選択ダイアログを表示する --password パスワードダイアログを表示する --forms フォームダイアログを表示する --display=DISPLAY X display to use
引数 | 説明 | UI |
---|---|---|
--calendar | カレンダーダイアログを表示する | |
--entry | テキスト入力ダイアログを表示する | |
--error | エラーダイアログを表示する | |
--info | 情報ダイアログを表示する | |
--file-selection | ファイル選択ダイアログを表示する | |
--list | 一覧ダイアログを表示する | |
--notification | 通知領域に表示する | |
--progress | 進捗表示ダイアログを表示する | |
--question | 質問ダイアログを表示する | |
--warning | 警告ダイアログを表示する | |
--scale | スケールダイアログを表示する | |
--text-info | テキスト情報ダイアログを表示する | |
--color-selection | 色選択ダイアログを表示する | |
--password | パスワードダイアログを表示する | |
--forms | フォームダイアログを表示する |
--help-general
$ zenity --help-general 用法: zenity [オプション...] 一般的なオプション --title=TITLE ダイアログのタイトルを指定する --window-icon=ICONPATH ウィンドウのアイコンを指定する --width=WIDTH 幅を指定する --height=HEIGHT 高さを指定する --timeout=TIMEOUT ダイアログのタイムアウトを秒単位で指定する --ok-label=TEXT OK ボタンのラベルを指定する --cancel-label=TEXT キャンセルボタンのラベルを指定する --extra-button=TEXT Add an extra button --modal ダイアログをモーダルにするよう、ヒントを設定する --attach=WINDOW アタッチする親ウィンドウを指定する
entry
テキストボックス。
$ zenity --help-entry 用法: zenity [オプション...] テキスト入力ダイアログのオプション --entry テキスト入力ダイアログを表示する --text=TEXT ダイアログに表示する文字列を指定する --entry-text=TEXT 入力欄の初期値を指定する --hide-text 入力テキストを隠す
$ zenity --entry --text "入力してください。" --entry-text "入力値"
--hide-text
で値が隠される。パスワード入力などのときに。
$ zenity --entry --hide-text --entry-text "入力値"
password
$ zenity --help-password 用法: zenity [オプション...] パスワードダイアログのオプション --password パスワードダイアログを表示する --username ユーザー名のオプションを表示する
$ zenity --password
pass
$ zenity --password --username name|pass
--separator
引数がない(|
がusernameやpasswordに使われうるのでTABにしたい)
info
メッセージを表示するダイアログ。
$ zenity --info --text "情報を表示する。\n\n複数行も表示できる。この通りでござる。"
幅を指定してみる。
$ zenity --info --width 500 --text "情報を表示する。\n\n複数行も表示できる。この通りでござる。"
- 左寄せして欲しかった
- フォント指定したかった
タイトル編集してみる。
$ zenity --info --width 500 --title "タイトルです" --text "情報を表示する。\n\n複数行も表示できる。この通りでござる。"
calendar
$ zenity --help-calendar 用法: zenity [オプション...] カレンダーダイアログのオプション --calendar カレンダーダイアログを表示する --text=TEXT ダイアログに表示する文字列を指定する --day=DAY カレンダーの日を指定する --month=MONTH カレンダーの月を指定する --year=YEAR カレンダーの年を指定する --date-format=PATTERN 返却する日付の書式を指定する
$ zenity --calendar 2019年03月12日
$ zenity --calendar --year 2000 --month 12 --day 31 2000年12月31日
$ zenity --calendar --date-format "%Y-%m-%d" 2019-03-12
key | 項目 |
---|---|
Ctrl+↑ or ↓ |
年 |
Ctrl+← or → |
月 |
↑ ,↓ ,← ,→ |
日 |
- 時間の入力も欲しかった
yyyy-MM-dd HH:mm:ss
形式で入力するUIが欲しかった
file-selection
$ zenity --help-file-selection 用法: zenity [オプション...] ファイル選択ダイアログのオプション --file-selection ファイル選択ダイアログを表示する --filename=FILENAME ファイル名を指定する --multiple 複数のファイルを選択可能にする --directory フォルダーのみ選択可能にする --save 保存モードにする --separator=SEPARATOR 出力を区切る文字を指定する --confirm-overwrite ファイル名が既に存在していたら確認をとる --file-filter=NAME | PATTERN1 PATTERN2 ... ファイル名をフィルターするパターンを指定する
$ zenity --fileselection
- 文字列で入力したかった
progress
( echo "10" ; sleep 1 echo "# 作業1" ; sleep 1 echo "20" ; sleep 1 echo "# 作業2" ; sleep 1 echo "50" ; sleep 1 echo "作業3" ; sleep 1 echo "75" ; sleep 1 echo "# 作業4" ; sleep 1 echo "100" ; sleep 1 ) | zenity --progress \ --title="進捗" \ --text="作業0" \ --percentage=0
scale
$ zenity --help-scale 用法: zenity [オプション...] スケールのオプション --scale スケールダイアログを表示する --text=TEXT ダイアログに表示する文字列を指定する --value=VALUE 初期値を指定する --min-value=VALUE 最小値を指定する --max-value=VALUE 最大値を指定する --step=VALUE 刻み幅を指定する --print-partial 値が変更されるたびに標準出力へ値を出力する --hide-value ダイアログに値を表示しない
$ zenity --scale 100
color-selection
$ zenity --color-selection rgb(165,255,142)
#RRGGBB
形式で出力して欲しかった(透明度は不要)
色の指定をしてみる。
$ zenity --color-selection --color "rgb(165,255,142)" $ zenity --color-selection --color "#FFAA22"
forms
$ zenity --forms --text user --add-entry name --add-entry password --add-combo gender --combo-values="Male|Female" --add-calendar birth --forms-date-format %Y-%m-%d a|b|Male|2019-03-12
--separator
をTABにしようとすると失敗する。
$ zenity --forms --text user --separator "\t" --add-entry name --add-entry password --add-combo gender --combo-values="Male|Female" --add-calendar birth --forms-date-format %Y-%m-%d a\tb\tMale\t2019-03-12
--separator
をTABや改行にできない(エスケープシーケンスが使えない)- 初期値がセットできない(
--entry-text
等)
次回
対象環境
- Raspbierry pi 3 Model B+
- Raspbian stretch 9.0 2018-11-13
- bash 4.4.12
- zenity 3.28.1
$ uname -a Linux raspberrypi 4.14.98-v7+ #1200 SMP Tue Feb 12 20:27:48 GMT 2019 armv7l GNU/Linux
所感
フォント選択UIと指定する引数がない。以下も欲しい。