我正在研究一个业余项目,同时试图更好地了解Linux中的窗口系统。我想创建一个程序,该程序将不断在firefox窗口中打印活动文本框的内容。我知道在Windows上使用FindWindow可以做到这一点,但是我很好奇是否可以在Linux上复制它。
我目前正在使用Firefox的标准版本在ubuntu上运行它。到目前为止,我已经能够基于窗口ID引入外部窗口,但似乎无法超越。当前脚本仅打印出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;
我希望能够找到当前的活动小部件,并打印包含文本缓冲区的任何内容。现在,我只能找到有关该窗口的一般信息。