Abrufen der Fenster-ID von xcb mithilfe einer Klasse oder eines Namens

rubenvb

Ich möchte die QWindow::fromWinIDFunktion von Qt verwenden, um Widgets in ein externes Fenster zu zeichnen (hoffentlich funktioniert dies).

Leider muss ich auf ein Fenster zeichnen, das einen bestimmten Namen / eine bestimmte Klasse hat (ich kann es mit xwininfo und xprop anzeigen). Der einzige Code, den ich dazu finden kann, befindet sich in der Quelle von xwininfo und xprop, aber es scheint eine Menge unnötigen Codes zu sein, um eine einfache Sache zu tun: Suchen Sie das Fenster mit einer bestimmten Eigenschaft, die einer Zeichenfolge entspricht, und geben Sie die Fenster-ID zurück für Qt zu verwenden. Leider kenne ich mich mit XCB sehr schlecht aus und würde nicht wissen, wie ich anfangen soll.

Wie kann ich das ohne 200 Codezeilen machen?

Ingo Bürk

Der einzige Code, den ich dazu finden kann, befindet sich in der Quelle von xwininfo und xprop

Was neben xdotool wirklich eine großartige Ressource ist.

Suchen Sie das Fenster mit einer bestimmten Eigenschaft, die einer Zeichenfolge entspricht

Ja, aber es gibt kein eingebautes X11, das dies tut, weshalb diese Tools diesen Weg gehen. Dann gibt es Dinge zu beachten, wie das Reparieren und Nicht-Reparieren von Fenstermanagern, dh ob Sie in das Client-Fenster absteigen müssen oder nicht und so weiter.

Ich fürchte, es gibt keinen einfacheren Weg. Low-Level-X-Programmierung, ob mit Xlib oder XCB, bringt nur etwas Ausführlichkeit.

Eine Sache, die Sie in Betracht ziehen könnten, ist die Verwendung der Bibliothek, die aus (und von) verwendet wird xdotoolund aufgerufen wird libxdo. Es würde diese Funktionalität für Sie in anbieten xdo_search_windows. Die Bibliothek verwendet jedoch Xlib anstelle von XCB (und zieht es daher ein).

Hier ist ein Beispielprogramm, mit dem Sie kompilieren können gcc -lxdo test.c:

#include <xdo.h>

int main() {
    xdo_t *xdo = xdo_new(NULL);
    xdo_enter_text_window(xdo, CURRENTWINDOW, "A", 0);
    return 0;
}

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Abrufen des Namens der parametrisierten Klasse in Scala mithilfe von Shapeless

Namespace eines Objekts mithilfe einer abstrakten Klasse oder Eigenschaft abrufen?

Abrufen eines Werts aus einer Klasse mithilfe einer return-Anweisung innerhalb der Klasse

Abrufen von Werten aus der TSI mithilfe der Sitzungs-ID und des Tag-Namens

Wie kann man in Xamarin Forms die Methode von MainActivity aufrufen oder das 'Fenster' von MainActivity von einer anderen Klasse abrufen?

Abrufen von Benutzerdetails für Benutzerklassen mithilfe eines Zeigers in einer anderen Klasse

Abrufen der Liste der Eigenschaften einer Klasse T mithilfe von C # -Reflexion

MySQL Abrufen eines Gleichgewichts aus einer Tabelle mithilfe von Triggern oder MySQL-Funktion

Senden eines http-Posts und Abrufen einer Anfrage in NODEJS von der Clientseite mithilfe eines Skripts

Erstellen von zwei Fenstern mit Tkinter und Abrufen eines Namens aus dem zweiten Fenster

Abrufen von Eigenschaftswerten einer Klasse mithilfe von GetFieldProps

Abrufen von Text aus einer Liste ohne ID oder Klasse mit Selen

Text von <p> auf einer Website mit Klasse oder ID in Python abrufen

Abrufen der Sichtbarkeit eines Fortschrittsbalkens in einer WPF-Anwendung mithilfe von FlaUI Automation

Ist es möglich, einen Stil eines Divs ohne ID oder Klasse mithilfe von JQuery oder Javascript zu ändern?

Sortieren eines Arrays von Objekten mithilfe des Namens, der Alphabet und Zahlen enthält, mithilfe von

Abrufen des NetBIOS-Namens unter Mac OS X mithilfe von VBA oder AppleScript

Wie kann ich die ID eines Klassenobjekts in einer anderen Klasse abrufen und in der Datenbank speichern - Django?

Das Abrufen von Daten aus der Datenbank funktioniert nicht, wenn Klasse oder ID vorhanden sind

Feldwerte der inneren Klasse mithilfe von Reflektion abrufen

Abrufen des übergeordneten Namens und der Anzahl der untergeordneten Elemente vom Modell mithilfe von LINQ

Klassennamen der Methode anhand des Namens der erweiterten Klasse und Methode mithilfe von PHP erkennen?

So implementieren Sie die Methode einer Abstarct-Klasse in einer Unterklasse, indem Sie mithilfe eines Konstruktors in c ++ Variablen der übergeordneten Klasse abrufen

Abrufen der ID des Listenelements einer externen HTML-Datei mithilfe von jQuery (AJAX)

Abrufen des vollständig qualifizierten Namens aus einer Anmerkung mithilfe von Eclipse JDT AST

Abrufen des Namens aus derselben Zeile mithilfe einer kürzlich erfassten ID

Abrufen der Instanz-ID und der Prozess-ID eines ausgeführten Azure WebJob mithilfe von C # -Code

Finden eines ID-Namens einer Klasse bei Verwendung eines Ereignis-Listeners

Abrufen eines Fremdschlüsselobjekts aus einer API mithilfe von reactjs

TOP Liste

  1. 1

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  2. 2

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  3. 3

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  4. 4

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  5. 5

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  6. 6

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  7. 7

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  8. 8

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  9. 9

    Eclipse Oxygen - Projekte verschwinden

  10. 10

    Wie wählt man Unterschiede mit drei Tabellen aus?

  11. 11

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  12. 12

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  13. 13

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  14. 14

    Wie kann ich den Kaskadenmodus global einstellen?

  15. 15

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  16. 16

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  17. 17

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  18. 18

    Was ist schneller: SUM über NULL oder über 0?

  19. 19

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  20. 20

    Kann ich ein Tkinter-Canvas erstellen, das mehrere Zeilen in einem Text-Widget umfasst?

  21. 21

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

heißlabel

Archiv