Можно ли использовать GDK или GTK для извлечения пользовательского контента из активного окна Firefox?(Похоже на FIndWIndow на Windows) - PullRequest
1 голос
/ 05 июля 2019

Я работаю над хобби-проектом, пытаясь лучше понять систему управления окнами в Linux.Я хочу создать программу, которая будет постоянно печатать содержимое активного текстового поля в окне Firefox.Я знаю, что это возможно в Windows с FindWindow, но мне любопытно, можно ли это дублировать в Linux.

В настоящее время я запускаю это в Ubuntu со стандартной версией firefox.До сих пор мне удавалось вытянуть чужое окно на основе идентификатора окна, но, похоже, я не могу этого преодолеть.Текущий скрипт просто распечатывает ширину отображения окна Firefox.

    uint xlib_window = 0x00800010; //firefox window id
    gtk_init(&argc, &argv);
    GdkDisplay * gdk_display = gdk_display_get_default();
    GdkWindow * temp =     gdk_x11_window_foreign_new_for_display(gdk_display, xlib_window);
    cout << gdk_window_get_width(temp) << endl;

Я хотел бы иметь возможность найти текущий активный виджет и распечатать все, что он содержит, это текстовый буфер.Сейчас я могу найти только общую информацию об окне.

...