ubuntu 16.04の下で、次のメッセージが表示されます
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged
コマンドでZenityを開くと
zenity --text-info --filename=<filename>
これは14.04では発生しませんでした。答えはこの投稿に関連していると思いますが、この投稿では提案されたソリューションの実装方法を説明していません。誰かが提案された行を追加するファイルを説明してもらえますか?
この警告を修正するには、GtkDialogにモーダルになる親を与えます。関連する関数は、gtk_window_set_transient_for()(このウィンドウを常に別のウィンドウの一番上または一時的に設定する)と、オプションでgtk_window_set_modal()でモーダルダイアログにすることです。これは最終的に、さまざまなGtkDialogコンストラクターが行うことです。
WINDOW_ID=$(xprop -name
echo $ TITLE`でウィンドウIDを復元できました | grep WM_CLIENT_LEADER | cut -d "#" -f2 | cut -c2-20) `そして、私は試してみました zenity --attach=$WINDOW_ID --text-info --filename=<filename>
が、残念ながらまだ警告が出ました。残念ですが、ある日、ウィンドウIDを取得する方法を知っておくと便利です。
NULL
。しかし、私はmake install
ローカルに何もできませんでした(インストールの設定方法に関するドキュメントや何かを見つけることができませんでした)。汚いを使用する必要があります2>/dev/null
。
zenity --help-general
与える--attach=WINDOW Set the parent window to attach to
が、私はそれを使用する方法がわからない(ウィンドウとは何ですか?)、おそらくそれはあなたの問題を解決するでしょう。