Zenityダイアログウィンドウの高さが高すぎるため、サイズを変更できません。エラーを解決した人はいますか?

Zenityダイアログウィンドウの高さが高すぎるため、サイズを変更できません。エラーを解決した人はいますか?

私は禪の方法で仕事をしようとしていますが、それは私を狂わせます。私の問題を説明するには、次のコマンドを実行してみてください。

zenity --info --text "Hello there friends."

十分簡単です。今これを試してみてください:

zenity --info --text " Hello there friends. Hello there friends. Hello there friends. Hello there friends."

ダイアログボックスがかなり大きくなっていることを確認してください。

したがって、ダイアログボックスの幅を調整できます。特に幅をできるだけ小さくしようとすると、何が起こるかを確認してください。これは次の点を説明します。高さを下向きにまったく調整できません。ダイアログボックスができるだけ小さいサイズに水平に圧縮されている場合は、必要な高さに基づいて厳密な最小値があるようです。

短いメッセージにはこれらすべてが重要ではありませんが、長いメッセージがある場合はどうなりますか?確認ボタンが画面から消えるほどダイアログボックスが大きくなるために多くの入力を行う必要はありません。これはユーザーにとって大きな問題です。

バグレポートは次のとおりです。FS#34164:[zenity] - 無効なダイアログサイズ https://bugs.archlinux.org/task/34164

しかし、そのパッチは私には役に立ちませんでした。私のエンドユーザーは自分のコンピュータにZenityをインストールしましたが、私はZenityにパッチを適用できません。

この問題を解決する方法はありますか?執筆に関するアドバイスやその他のアドバイスはありますか?

ベストアンサー1

追加する--no-wrapzenity解決されるようです。

編集#1

もっとテストした結果、これはzenityバグのようです。

zenityテキストの折り返し(デフ​​ォルトで行われます)を使用すると、ウィンドウの高さが最小ウィンドウ幅に基づいて設定され、テキストの折り返しによってそのサイズが大きくなるようです。ただし、結果のダイアログボックスがはるかに広くなり、テキストの折り返しが短くなり、ウィンドウの長さがテキストと比較して大きくなりすぎます。

2つの解決策があります

  1. --no-wrap改行をオフにするために追加されました。テキストが広すぎない場合はこれを使用できますが、広すぎるとダイアログボックスが画面に比べて広すぎてテキストがハードコードされている場合は、手動で改行する新しい行を作成する必要があります。テキストがどこかで自動的に生成された場合は、foldテキストに合わせるためにコマンドを確認する必要があります。

  2. 何らかの理由で問題はこれに影響されないように見え、ダイアログボックスのサイズがより合理的--warning --infoです--error--questionここで問題は、質問アイコンとともにエラーダイアログボックスが表示されることです。また、「OK」ボタンの代わりに「はい」ボタンと「いいえ」ボタンが表示されます。

おすすめ記事