私はKubuntu 18.04を以下で使用しています:
$ zenity --version
3.28.1
--list
ダイアログを完全に表示したいのですが、[キャンセル]ボタンを表示したくありません(実際に[OK]がなくても大丈夫です)。 --no-cancel
オプションを使用すると簡単です。
$ zenity --list --no-cancel
--no-cancel is not supported for this dialog
出力は、zenityがオプションについて知っているが、私にそれを使用させたくないことを示しているようです。
テーブルのデータのみをユーザーに表示したい。選択/編集したり、結果を取得したりする必要はありません。
別の方法はありますか?または、zenity
は単にこれを行うことができないのですか?
はい、zenity
はかなり制限されています。幸いなことに、ギャップを埋めるフォークが利用可能です:yad
–「Yet Another Dialog」(Sudo apt install yad
)。これはzenity
と同じ構文を使用しますが、ダイアログウィンドウのボタンを明示的に定義する--button
などの便利なオプションを追加します。
yad --list --button=OK:0
これにより、「OK」ボタンのみのリストウィンドウが表示され、終了コード0
が返されます。
マンページの1つからヒントを得た簡単な例を次に示します。
yad --list --button=OK:0 --checklist --column "Buy" --column "Item" \
TRUE Apples TRUE Oranges FALSE Pears FALSE Toothpaste
この状態で「OK」をクリックすると、プログラムは0
終了コードを返し、チェックされたオプションをstdoutに出力します。
TRUE|Apples|
TRUE|Oranges|
ボタンのラベルを変更することはできますが、削除することはできません。
$ zenity --list --cancel-label="Go Back" --column="Column 1"
あなたに与えるでしょう:
yad
とzenity
のどちらでも、bashスクリプトまたはシェルコマンドラインからGUIダイアログボックスを使用できます。 Yadはすべての部門でZenityを上回っています。
Sudo apt install yad
すべてのディストリビューションで機能します。
Zendが1のみを提供するyadで複数のプログレスバーを定義できます。スクロールテキストを含めることもできます。
任意のボタンに任意のテキストを割り当てることができます。また、ウィンドウアイコンを含めることもできます。
Yadは、変更するテキストを表示します。 Zenityは既存のテキストを表示できません。新しいテキストのみ入力できます。
Yadの作者と他の多くの貢献者が google groups であなたの質問に答えます。高度な機能について4〜5つの質問を投稿しましたが、通常24時間以内に回答が得られます。言うまでもなく、機能強化は同じチャネルを通じて提供されます。