GTK Inspector を開くにはどうすればいいですか?

GTK Inspector を開くにはどうすればいいですか?

Ctrl私はGTK.3.15を使用しています。 + Shift+Iまたは Ctrl+ Shift+を使用してGTKインスペクタを開こうとしてもD、何も起こりません。使用しているアプリケーションやウィジェットに関係なく、何も起こりません。

私の理解では、このオプションはGTK 3.15に標準装備されています。誰かその方法を知っていますか?

このツールを GTK 3.15 で使用するには?

答え1

これは私が入手したものですhttps://wiki.gnome.org/Projects/GTK%2B/インスペクター:

GtkInspector は、GTK+ に組み込まれたインタラクティブなデバッグ サポートです。これは、定評のある gtkparasite のコピーに基づいて、GTK+ 3.14 で追加されました。

デバッガーはデフォルトでは無効になっています。有効にするには、ターミナルで次のコマンドを実行します。

gsettings set org.gtk.Settings.Debug enable-inspector-keybinding true

キーボードの Control + Shift + I または Control + Shift + D を押して起動します。

ショートカットを使用したくない場合は、次のようにしてアプリを実行するときに一時的に直接実行することもできます。

GTK_DEBUG=interactive your-app

さらに調べてみるとバグ #1523929これは、ユーザーがインストールしlibgtk-3-devてスキーマを提供できることを示します。インストールするとlibgtk-3-dev多くの依存関係がもたらされる可能性があることに注意してください。

答え2

方法1:


ショートカットを有効にします:

  1. インストールdconf-editorsudo apt-get install dconf-editor
  2. 移動先org> gtk> settings>debug
  3. enable-inspector-keybindingに設定true
  4. ショートカットを試してください。

方法2:


変数を使用してデバッグするプログラムを実行しますGTK_DEBUG

通常のデバッグ方法()でプログラムを実行する代わりに、myprogram --argument次のように実行するだけで済みます(GTK_DEBUG=interactive myprogram --argument

export GTK_DEBUG=interactiveまた、その変数をエクスポートしてプログラムを実行することもできます。

答え3

更新しました:2023-01

インスペクターの wiki ページは少し古くなっているようで、バグがドキュメント化された機能に干渉することがあります。さらに、この機能の多くはアプリケーションで一貫性のない形で実装されており、明らかに多くの人が間違った方向に導かれています。(この回答の以前のバージョンも含みます。)

ショートカットを使用したくない場合は、次のようにしてアプリの実行時にインスペクターを直接開くこともできます。

の処理はGTK_DEBUG修正されたようで、GTK_DEBUG=interactive環境内でインスペクターが自動的に開きます。以前は機能しませんでしたが、Fedora 37 では説明どおりに機能します。

GTK インスペクタを起動するには、GTK アプリケーションにフォーカスを当てて を押しますControl-Shift-D。または、マウス カーソルを目的のウィジェットに移動して を押し、Control-Shift-Iマウス カーソルの下のウィジェットを具体的に検査します。

つまり、これらの発言は正しい-Hはただし、それには多くの注意事項が伴う必要があります。

  • Ctrl+ Shift+D うまくいくかもしれないアプリケーションが他のものにバインドしていない場合

  • 同様に、Ctrl+ Shift+I うまくいくかもしれない、同じ条件下で。

    技術的には、これは「マウス カーソルの下のウィジェット」を検査するコンテキスト依存のショートカットですが、多くのアプリケーションは大きな枠内にインターフェイス全体を描画するため、GtkDrawingAreaほとんどのマウス位置でそのウィジェットがポップアップ表示されても驚かないでください。(コンテンツは Gtk ウィジェットではないため、いずれにしてもその領域内の何も検査できません。)

  • アプリケーションもっているショートカットの 1 つまたは両方をバインドすると、ローカル バインディングが上書きされ、それについては何もできません。

    • 特に、Nautilus では、Ctrl+ Shift+のバインディングが異なります (「選択範囲を反転」)。そのため、そのショートカットは Nautilus でインスペクターを開くために機能することはなく、 + +Iのみを使用する必要があります。CtrlShiftD

    • Gnomeターミナルは実際にバインドします両方 Ctrl+ Shift+DCtrl+ Shift+Iなので、どちらのショートカットも機能しません...そのため、便利なヘルプ > インスペクタアプリケーション メニューバーのオプション (有効にした場合)。

  • 最後になりましたが、重要なことです、Gtkの処理にバグがあるCtrl++を使用するとShiftD使用しようとするたびに動作しなくなる可能性があります。 ( Ctrl++ShiftI影響を受けないようです。)

検査官に会うには、次のリストの項目を満たす必要があります。

  1. 適切なgtk3-devel/libgtk-3-devまたはgtk4-devel/libgtk-4-devパッケージをインストールします。オプションではありません。

  2. Gtk3 を使用する場合は、 dconf キー/org/gtk/settings/debug/enable-inspector-keybinding/ GSettings キーを有効にしますorg.gtk.Settings.Debug enable-inspector-keybinding。(これらは同じ設定です)。オプションで、 を無効にすることもできますorg.gtk.Settings.Debug inspector-warning

    Gtk4 には という独自のenable-inspector-keybindingキーがありますがorg.gtk.gtk4.settings.debug、現在はデフォルトになっているTrueため、おそらくすでに問題なく使用できます。ただし、org.gtk.gtk4.settings.debug.inspector-warningもまだデフォルトになっているTrueため、これをオフにすることをお勧めします。

  3. どちらか:

    • GTK_DEBUG=interactive環境内でプログラムを実行します。
    • アプリケーションが開いてフォーカスされているときに、Ctrl+ Shift+DまたはCtrl+ Shift+と入力してI、どちらかが機能することを期待します。または、同じことを実行するメニュー オプションを探します。

関連情報