Gibt es ein WinSpy ++ -ähnliches Tool für Linux / X / GTK / QT?


8

Als ich Windows verwendete, habe ich einige Male WinSpy ++ verwendet, das es erlaubte, auf ein Fenster oder ein Steuerelement (ein Widget, ein Fensterelement) zu verweisen, um Details darüber anzuzeigen (einschließlich der Werte der Felder der Struktur / Klasse Beschreibung dieser bestimmten Instanz), Senden von Fenstermanager-Nachrichten an sie usw. Eine der üblichen trivialen Aufgaben, für die ich sie verwendet habe, war das Kopieren von Text aus einem nicht auswählbaren Widget (z. B. einer Beschriftung, mit der kein Text ausgewählt und kopiert werden kann es ist wie ein Textfeld). Gibt es ein analoges Tool, das ich mit GNU / Linux-GUI-Anwendungen verwenden kann?

Antworten:


7

Sie können hier kein 1: 1-Mapping erwarten. Ich kenne WinSpy ++ nicht, aber es ist wahrscheinlich, dass es auf mehrere verschiedene Tools verteilt ist. Einige seiner Funktionen sind unter X einfach nicht sinnvoll, und umgekehrt verfügen die X-Tools über zusätzliche Funktionen, die unter X keinen Sinn ergeben Windows.

Die grundlegende X11-Distribution enthält eine Reihe einfacher Tools . Diejenigen, die hier am wahrscheinlichsten relevant sind, sind:

  • xclients um die Programme aufzulisten, die eine Verbindung zu einer Anzeige haben
  • xprop um Fenstereigenschaften anzuzeigen
  • xwininfo um technische Informationen zu einem Fenster anzuzeigen (Position, Grafik,…)

Es gibt auch Tools zum Bearbeiten von X-Ressourcen : appres,, editres(für die wenigen Anwendungen, die es implementieren) listres,, xrdb.

Zwei Dienstprogramme von Drittanbietern, die häufig nützlich sind, um Informationen abzurufen und auf Fenster zu reagieren, sind wmctrl(Fenstermanageraktionen über die Befehlszeile ausführen) und xdotool(Ereignisse an ein Fenster senden).


6

Weder der Fenstermanager noch der X-Server kennen Widgets / Steuerelemente. Daher gibt es keine Standardmethode, mit der ein Tool das System nach den Details der Widgets einer anderen Anwendung abfragen kann. Eine Anwendung sendet dem X-Server meistens Dinge wie Pixmaps, Polygonzeichnungsoperationen und Textzeichnungsoperationen.

Es gibt jedoch Tools, die an einen Prozess angehängt werden können und die Datenstrukturen des Widget-Toolkits überprüfen können. Für Anwendungen, die GTK + verwenden, gibt es Parasite . Eine Gabel von Parasite ist seit Version 3.14 in GTK + enthalten .

Für Qt wird bei einer Schnellsuche der Qt Inspector angezeigt, der von KSpy inspiriert ist, einem Tool, das in den KDE-Repositorys versteckt ist.

Wenn Sie herausfinden möchten, welches Widget-Toolkit eine Anwendung verwendet, können Sie die Bibliotheken, von denen es abhängt, mithilfe des Befehlszeilentools auflisten ldd.


3

Grundsätzlich nicht wirklich.

Um Informationen zu einem Fenster zu erhalten, können Sie das verwenden

xwininfo

Befehl. Es ist jedoch nicht überraschend, dass X11 nicht die gleichen Informationen druckt, da es sich von Windows unterscheidet. Ich kenne keine Möglichkeit, Text aus nicht auswählbaren Steuerelementen zu kopieren, obwohl diese möglicherweise weniger häufig sind als unter Windows.

Beim Senden von Fenstermanager-Nachrichten bin ich mir nicht sicher. Möglicherweise können Sie ein Tool verwenden, das auf der XRECORD-Erweiterung basiert, z. B. Xnee . Ich habe es jedoch noch nie versucht.


Für das Kopieren von Text aus einem nicht auswählbaren Steuerelement / Fenster sollte dies Teil der Barrierefreiheit (des Programms / Toolkits) sein. (Aber afaik, der Standard hierfür ist
alles andere als
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.