問題タブ [zenity]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - Zenityを使用したシェルスクリプト
Zenityを使用すると、ボタンの追加、フォントの変更、デフォルトオプション以外の何かが可能ですか?そうでない場合は、さらにカスタマイズできるshの別のダイアログがありますか?
python - Pythonでグラフィカルダイアログをポップアップする最も簡単なクロスプラットフォームの方法は何ですか?
Python スクリプトで単純なダイアログをポップアップする最も簡単な方法が必要です。理想的には、ソリューションは次のようになります。
- Windows、OS X、Gnome、KDE で動作
- どの OS でもネイティブ ダイアログのように見える
- 最小限のコードが必要
シンプルな標準ダイアログをポップアップするには、最小限のコードのみが必要です。基本的に、「このテキストで標準ダイアログをポップアップする」または「質問 x でダイアログをポップアップし、応答を変数 y にフィードする」と言っているだけです。
これは、そうでなければコマンド ラインで実行される単純なスクリプト用です。GUI フレームワークについて知りたくない、または「GUI スレッドを開始する、イベント ハンドラーを登録する、いくつかのウィンドウ プロパティを構成する、ループを実行する」などのコードをセットアップする必要はありません。設定する必要はありません。ウィンドウを上げるか、後でウィンドウを閉じます。ウィンドウやボタンやチェックボックスに配置するテキストを指定すると、ユーザーがクリックしたものが返されます。それ以外はすべて自動的に処理する必要があります。例えば:
「OK」ボタンのある標準ダイアログボックス、または
システム トレイのポップアップ バルーンの場合、または
2 つのボタンのいずれかを押してから、 にformat
等しい'JPG'
、または
そして、ボックスに入力して [OK] を押すと、response
今は等しいです'bananas.txt'
。他のコードは必要ありません。貧弱なユーザーに醜いコマンド ライン プロンプトは表示されません。
Zenity と EasyGUI は、私が望むものに似ていますが、完全ではないため、回答例としてリストしました。
shell - シェル スクリプトで zenity ウィンドウの配置を制御するにはどうすればよいですか?
zenity
私のスパムフィルターデーモンがメッセージのグループをフィルタリングするときに、簡単な通知を投稿するために使用しています。現在、このメッセージは目立たない画面の中央に投稿されています。左上隅に投稿したい。ただし、すべての X アプリケーションの標準であると想定されているオプションをzenity
尊重しません。そのドキュメントには、ウィンドウの高さと幅を制御するためのオプションが提供されていますが、配置は提供されていません。-geometry
zenity
ウィンドウが表示される (x,y) 座標を制御する方法はありますか?
そうでない場合、X リソースまたはウィンドウ マネージャー (私は を使用していますfvwm
) をいじってこの問題を解決する方法はありますか?
EDIT~/.fvwm2rc
: 以下は(fvwm
バージョン 2.5.26)では機能しません:
-0 -0
また、マニュアルページで提案されているように、ドロップされたものでも機能しません。(のウィンドウタイトルzenity --info
は「お知らせ」です。)
興味深いことに、zenity
ウィンドウはデフォルトで手動で配置する必要があるという私の以前のウィンドウ マネージャー ディレクティブを無視していました。
編集:
他の多くの興味深い情報の中で、ウィンドウxprop(1)
について次のように報告しています。zenity
この一見有望なレポートにもかかわらず、ウィンドウは実際には位置 0,0 に投稿されていません :-(
オプションStyle
を追加したため、コマンドが有効になっていることはわかっています。確かに、ウィンドウは境界線なしで投稿されます...それでも、いまいましい画面の中央にあります!!Borders
zenity
bash - Zenity を使用して、ファイルの内容をファイルの各行の横にあるチェックボックスで表示する方法
私が持っているファイルリストの視覚的な出力を提供しようとしています。私ができるようにしたいのは、ファイルの各行の横にチェックボックスを表示することです
次の zenity コマンドをまとめましたが、私の主な問題は、ファイル リストが非常に長くなる可能性があることです。以下のコマンドから、TRUE "" または FALSE "" で値を定義します
私の質問は、内容を読んで、非常に長いコマンドを作成することなく、次のコマンド (または同様のもの) に配置できるかどうかです。
よろしく
ポール
git - gitstderr出力はパイプできません
bashとzenityを使用したgit://リンクのグラフィカルURIハンドラーを作成し、zenityの「text-info」ダイアログを使用して、実行中にgitのクローン出力をFIFO配管を使用して表示しています。スクリプトの長さは約90行なので、ここに投稿する必要はありませんが、最も重要な行は次のとおりです。
直接パイプの代わりにFIFOを使用して、非同期で実行できるようにし、zenityウィンドウが閉じている場合にgitを強制終了できるようにします。
問題は、gitの出力から表示される唯一の行が最初の行であるということです。
カウントオブジェクトなどを含む他の行は、端末に表示されないか、表示されます。
現在の理由
これが機能しない理由に関する現在のコンセンサスは、cat
ブロッキングがなく、最初の行の後で終了し、残りの行ではなく、zenityに渡すだけであるようです。私の目的は、読み取りを強制的にブロックし、zenityのテキスト情報ダイアログにすべての出力を段階的に表示させることです。
git
stderrに進行状況メッセージ(「初期化」メッセージ以外)を出力しますが、stderrをファイルにパイプするか、stdoutとマージしようとすると、メッセージが消えます。
修正の試み1
私は次のように、Cでcatの関数の2つのブロッキングバージョンであるbreadとbwriteを書き込もうとしました。
EOFをブロックして終了しないため、うまく機能しますが、まだ問題は完全には解決されていません。現時点では、一方、他方、または両方を使用することは理論的には機能しますが、実際には、zenityは現在何も示していません。
修正の試み2
@mvdsは、通常のファイルをtail -f
ではなくと組み合わせて使用するとcat
、これが可能になることを示唆しています。そのような単純な解決策に驚いた(ありがとう!)私はそれを試しましたが、残念ながら、最初の行だけが天頂に現れ、他には何もありませんでした。
修正の試み3
いくつかのstrace'ingを実行し、gitのソースコードを調べた後、gitがすべての進行状況情報(「Initialized」メッセージを超えるもの)をstderrに出力すること、およびこれが最初の行であるという事実と、それが猫のせいであるという私の仮定に気付きました。 EOFの早い段階で終了することは、偶然/誤った仮定でした(gitはプログラムが終了するまでEOFを実行しません)。
(質問の最初の)元のコードから何も変更する必要がなく、機能するはずなので、状況ははるかに単純になっているように見えました。しかし、不思議なことに、リダイレクトされるとstderrの出力は「消える」-これはgitで発生することだけです。
テストケース?これを試して、ファイルに何かが表示されるかどうかを確認してください(表示されません)。
これは、stderrとリダイレクトについて私が知っているすべてに反します。stderrとstdoutに出力する小さなCプログラムを作成して、リダイレクトがgitでは機能しないことを自分自身に証明しました。
修正の試み4
JakubNarębskiの答えに沿って、そして私がgitメーリングリストに送信した電子メールへの返信--progress
は、私が必要とするオプションです。このオプションはコマンドの後でのみ機能し、の前では機能しないことに注意してくださいclone
。
成功!
本当にありがとうございました。これは固定電話です:
zenity - zenity リストと for ループ
私は zenity でチェックリストを作成しようとしていますが、私の問題は $select が常に空であることです。私はこのような他のいくつかの方法でそれをやろうとします:
このように $select 変数は空ではありませんが、変数 (たとえば $x など) にスペースがある場合、zenity はそれを 2 つ (またはそれ以上) の列に分割します。
コードの他の解決策または修正が必要ですか?
ありがとう!
bash - Bash、キャンセルなしの Zenity プログレスバー
現在、小さな bash スクリプトを開発していますが、私のニーズは、キャンセル ボタンが付いていないプログレス バーです。zenity プログレス バーを調べましたが、キャンセル ボタンを取り除く方法が見つかりませんでした。
プログレスバーの手段を完全に台無しにするので、キャンセルボタンが存在しないことは本質的です. ターミナルベースのプログレスバーを見ましたが、他のすべてのケースでは zenity ダイアログを使用しているため、プログレスバーにも使用したいと考えています。
私の問題を解決する方法はありますか? 他のプログレス バーはありますか? または、キャンセル ボタンをなくすことはできますか?
どんな助けでも大歓迎です、ありがとう!
php - PHP から stdin に書き込みますか?
Linux では、PHP から gnome zenity プログレス バー ウィンドウを実行したいと考えています。Zenity の仕組みは次のとおりです。
したがって、最初のコマンドは zenity プログレス バーを 0% で開きます。次に、Zenity は標準入力数値をプログレス バーのパーセンテージとして受け取ります (したがって、それらの数値を入力すると、10% から 50% から 100% になります)。
PHPにこれらの数字を入力させる方法がわかりませんが、試しました:
と:
と:
しかし、どれも進行状況バーを更新しません。Linux シェルで stdin の効果をどのように模倣して、zenity に進行状況バーを更新させることができますか?
bash - 端末の外部で実行するとBashスクリプトが機能しない
このスクリプトは、グラフィカルに起動した場合(スクリプトアイコンをダブルクリックして実行を選択した場合)は正しく機能しませんが、ターミナルから呼び出された場合は正常に実行されます。ファイルを保存したり、既存のファイルからコンテンツをロードしたりしません。助けてください!ありがとうございました。