目前用于红宝石的稳定xlib包装?

时间:2011-08-11 16:23:24

标签: ruby x11 xlib xorg

我的项目有简单的要求:

  1. 抓住现有xorg应用程序窗口的内容
    (做一些事)
  2. 在现有应用的窗口上绘制一些内容(到叠加层)
  3. 要求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)
    

    除了使用c与xlib或xcb之外,是否有一个像样的电流和稳定的库或语言可用于快速开发?任何语言都可以,但我更喜欢红宝石。

2 个答案:

答案 0 :(得分:2)

最后我选择了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

答案 1 :(得分:1)

我开始围绕subset of Xlib编写包装器。我裹了很多东西。您可能希望查看C代码和Ruby示例,并对其进行破解以使其按照您的意愿执行。