Я работаю над хобби-проектом, пытаясь лучше понять систему управления окнами в 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;
Я хотел бы иметь возможность найти текущий активный виджет и распечатать все, что он содержит, это текстовый буфер.Сейчас я могу найти только общую информацию об окне.