我的项目有简单的要求:
获取现有xorg应用程序窗口的内容
(做一些ocr)
在现有应用程序的窗口上绘制(覆盖)
需求2并不重要,我可以把窗口复制到自己的窗口。
我花了一上午的时间在有限和过时的项目上:
hornet's eye (couldn't find how to reference an existing window)
matju's RubyX11 (wanted ruby 1.7)
moriq's ruby-xlib (unsigned int for int errors during compile)
xlib-wrap (more type errors)
所以,除了使用带有xlib或xcb的c之外,是否有一个合适的当前稳定的库或语言可以用于快速开发?任何语言都可以,但我更喜欢ruby。
最佳答案
最后,我选择了qt4-qtruby:
require 'Qt4'
app = Qt::Application.new(ARGV)
p = Qt::Pixmap.grabWindow(0x182183b) #param is xlib id from xwininfo
我使用的生成脚本:
sudo apt-get install qt-sdk libsmokeqt4-dev
cmake \
-DRUBY_EXECUTABLE=`which ruby` \
-DRUBY_INCLUDE_PATH=$MY_RUBY_HOME \
&& make && make install
关于ruby - 当前稳定的用于Ruby的xlib包装器?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7029437/