Linux/X/GTK/QT 用 WinSpy++ に似たツールはありますか?

Linux/X/GTK/QT 用 WinSpy++ に似たツールはありますか?

Windowsで作業するときは、WinSpy ++を使用することがよくあります。これにより、ウィンドウまたはコントロール(ウィジェット、ウィンドウ要素)をポイントして詳細情報(この特定のインスタンスを説明する構造/クラスのフィールド値を含む)を表示できます。 、ウィンドウマネージャのメッセージを送信するなどの操作を実行します。私が使ってきた一般的な厄介な作業の1つは、選択不可能なウィジェット(テキストフィールドなどのウィジェットからテキストを選択してコピーできないラベル)からテキストをコピーすることです。 GNU / Linux GUIアプリケーションで使用できる同様のツールはありますか?

答え1

ここでは、1:1のマッピングは期待できません。 WinSpy ++についてはわかりませんが、その機能がさまざまなツールに分散している可能性が高く、一部の機能は単にXでは意味がなく、逆にXツールには意味のないアドインウィンドウがあります。 Xでは意味があります。

デフォルトのX11ディストリビューションは次のとおりです。いくつかの簡単なツール。ここで最も関連性の高いものは次のとおりです。

  • xclientsモニターに接続されているプログラムのリスト
  • xpropウィンドウプロパティの表示
  • xwininfoウィンドウに関する技術情報の表示(位置、視覚効果...)

操作できるツールもあります。XResources:appreseditres(これを実装する少数のアプリケーションの場合)listresxrdb

Windowsで情報を取得して操作を実行するために一般的に使用される2つのサードパーティユーティリティは、次のとおりです。wmctrl(コマンドラインでウィンドウマネージャタスクを実行する)とxdotool(ウィンドウにイベントを送信)。

答え2

ウィンドウマネージャとXサーバーの両方がウィジェット/コントロールを認識しないため、ツールは他のアプリケーションウィジェットの詳細をシステムに照会する標準的な方法はありません。アプリケーションは、主にピクセル画像、ポリゴン描画操作、テキスト描画操作などのコンテンツをXサーバーに送信します。

ただし、プロセスに接続し、そのウィジェットツールキットのデータ構造を調べることができるツールがあります。 GTK+を使用するアプリケーションには次のものがあります。寄生物。寄生虫の一つは今GTK+に含まれるバージョン3.14から。

Qtの場合、クイック検索が表示されます。Qt検査官、KDEリポジトリに隠されたツールであるKSpyに触発されました。

アプリケーションがどのウィジェットキットを使用しているかを調べるには、コマンドラインツールを使用して、アプリケーションが依存するライブラリを一覧表示できますldd

答え3

デフォルトではそうではありません。

利用可能なウィンドウに関する情報を取得するには

xwininfo

注文する。しかし、X11はWindowsとは異なり、同じ情報を印刷しないため、驚くことはありません。 Windowsのように一般的ではないが選択できないコントロールからテキストをコピーする方法はわかりません。

ウィンドウマネージャのメッセージを送信することについてはよくわかりません。たとえば、XRECORD拡張に基づくツールを使用できます。シドニー。しかし、私はこれを試したことがありません。

関連情報