Wie öffne ich GTK Inspector?

Wie öffne ich GTK Inspector?

Ich verwende GTK.3.15. Beim Versuch, GTK Inspector mit Ctrl+ Shift+ Ioder Ctrl+ Shift+ zu öffnen D, passiert nichts. Es spielt keine Rolle, welche Anwendung oder welches Widget ich verwende. Es passiert nichts.

und meines Wissens ist diese Option standardmäßig in GTK 3.15 enthalten. Weiß jemand wie

um dieses Tool in GTK 3.15 zu verwenden?

Antwort1

Ich habe das vonhttps://wiki.gnome.org/Projects/GTK%2B/Inspector:

GtkInspector ist die integrierte interaktive Debugging-Unterstützung in GTK+. Sie wurde in GTK+ 3.14 hinzugefügt und basiert auf einer Kopie des bewährten gtkparasite.

Der Debugger ist standardmäßig deaktiviert. Um ihn zu aktivieren, führen Sie Folgendes in einem Terminal aus:

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

Und starten Sie es, indem Sie auf der Tastatur Strg-Umschalt-I oder Strg-Umschalt-D drücken.

Wenn Sie die Tastenkombinationen nicht verwenden möchten, können Sie es auch vorübergehend direkt beim Ausführen Ihrer App ausführen mit:

GTK_DEBUG=interactive your-app

Bei genauerer Betrachtung fand ichFehler #1523929Dies bedeutet, dass Benutzer es installieren können libgtk-3-dev, wodurch das Schema bereitgestellt wird. Beachten Sie, dass die Installation libgtk-3-devviele Abhängigkeiten mit sich bringen kann.

Antwort2

Methode 1:


Aktivieren Sie die Verknüpfung:

  1. Installieren dconf-editormitsudo apt-get install dconf-editor
  2. Navigieren Sie zu org> gtk> settings>debug
  3. Einstellenenable-inspector-keybindingtrue
  4. Versuchen Sie die Abkürzung.

Methode 2:


Führen Sie das Programm zum Debuggen mit der GTK_DEBUGVariablen aus:

Anstatt das Programm zum Debuggen wie üblich auszuführen ( myprogram --argument), müssen Sie es nur auf diese Weise ausführen ( GTK_DEBUG=interactive myprogram --argument)

Sie können diese Variable auch exportieren export GTK_DEBUG=interactiveund dann das Programm ausführen.

Antwort3

Aktualisiert:2023-01

Die Wiki-Seite für den Inspector scheint etwas veraltet zu sein, und manchmal beeinträchtigen Fehler die dokumentierte Funktionalität. Darüber hinaus sind viele dieser Funktionen in Anwendungen inkonsistent implementiert, was eindeutig dazu geführt hat, dass viele Leute in viele falsche Richtungen gelenkt wurden. (Einschließlich früherer Versionen dieser Antwort.)

Wenn Sie die Tastenkombinationen nicht verwenden möchten, können Sie den Inspector auch direkt beim Ausführen Ihrer App öffnen:

Die Handhabung GTK_DEBUGscheint behoben worden zu sein, sodass GTK_DEBUG=interactivein der Umgebung der Inspektor automatisch geöffnet wird. Das hat bei mir früher nicht funktioniert, aber in Fedora 37 funktioniert es wie beschrieben.

Um den GTK Inspector zu starten, fokussieren Sie Ihre GTK-Anwendung und drücken Sie Control-Shift-D. Alternativ können Sie den Mauszeiger auf das gewünschte Widget bewegen und drücken, Control-Shift-Ium das Widget unter dem Mauszeiger gezielt zu untersuchen.

Es stellt sich also heraus, dass diese Aussagenrichtig-ish, aber sie sollten mit einer ganzen Reihe von Vorbehalten verbunden sein.

  • Ctrl+ Shift+D könnte funktionieren,wenn die Anwendung es nicht an etwas anderes gebunden hat.

  • Ebenso Ctrl+ Shift+I könnte funktionieren, unter den gleichen Bedingungen.

    Und obwohl es technisch gesehen eine kontextsensitive Verknüpfung ist, die „das Widget unter dem Mauszeiger“ überprüft, zeichnen viele Anwendungen ihre gesamte Benutzeroberfläche in einem großen Bereich. GtkDrawingAreaSeien Sie also nicht überrascht, wenn dies das Widget ist, das bei den meisten Mauspositionen angezeigt wird. (Sie können in diesem Bereich ohnehin nichts überprüfen, da es sich bei den Inhalten nicht um Gtk-Widgets handelt.)

  • Wenn eine AnwendunghatWenn Sie eine oder beide Verknüpfungen wegbinden, werden die lokalen Bindungen überschrieben und Sie können nichts dagegen tun.

    • Insbesondere Nautilus hat eine andere Bindung für Ctrl+ Shift+ (nämlich „Auswahl umkehren“), sodass diese Tastenkombination zum Öffnen des Inspektors in Nautilus nie funktioniert und Sie nur + + Iverwenden müssen .CtrlShiftD

    • Gnome Terminal bindet tatsächlichbeide Ctrl+ Shift+ Dund Ctrl+ Shift+ I, daher funktioniert keine der beiden Tastenkombinationen ... weshalb sie eine praktischeHilfe > InspektorOption in der Anwendungsmenüleiste (sofern Sie diese aktivieren).

  • Nicht zuletzt,Es gibt einen Fehler in der Handhabung von Gtkvon Ctrl+ Shift+ D, das bei jedem zweiten Verwendungsversuch möglicherweise dazu führt, dass es nicht funktioniert. ( Ctrl+ Shift+ Ischeint davon nicht betroffen zu sein.)

Um zum Prüfer zu gelangen, müssen Sie die Punkte auf dieser Liste erfüllen:

  1. Installieren Sie das entsprechende gtk3-devel/ libgtk-3-dev- oder gtk4-devel/ libgtk-4-dev-Paket. Nicht optional.

  2. Wenn Sie Gtk3 verwenden, aktivieren Sie den Schlüssel dconf /org/gtk/settings/debug/enable-inspector-keybindingbzw. den Schlüssel GSettings org.gtk.Settings.Debug enable-inspector-keybinding. (Es handelt sich um dieselbe Einstellung.) Optional können Sie deaktivieren org.gtk.Settings.Debug inspector-warning.

    Gtk4 hat seinen eigenen enable-inspector-keybindingSchlüssel unter org.gtk.gtk4.settings.debug, der jetzt jedoch der Standard ist True, sodass Sie hier wahrscheinlich bereits gut zurechtkommen. org.gtk.gtk4.settings.debug.inspector-warningDer Standard ist jedoch immer noch True, daher sollten Sie dies möglicherweise deaktivieren.

  3. Entweder:

    • Führen Sie ein Programm GTK_DEBUG=interactiveinnerhalb der Umgebung aus.
    • Wenn die Anwendung geöffnet und fokussiert ist, geben Sie Ctrl+ Shift+ Doder Ctrl+ Shift+ ein Iund hoffen Sie, dass eine davon funktioniert. Oder suchen Sie nach einer Menüoption, die dasselbe bewirkt.

verwandte Informationen