xwinwrap irrlicht
xwinwrap を使ってIrrlicht のアプリケーションをデスクトップの背景にしてみた
createDeviceEx() でルートウィンドウのWindow ID を設定してあげるとよいみたい
ディスプレイドライバとの相性(?)があるのと、conky が見えなくなってしまうのが残念

  1. xwinwrap を拾ってきてインストールする

  2. コマンドパラメタからWindow ID を設定できるようにする

    SIrrlichtCreationParameters params;
    params.DriverType = video::EDT_OPENGL;
    params.WindowSize = core::dimension2d<u32>(800, 600);
    params.Bits = 32;
    params.Fullscreen = false;
    params.Stencilbuffer = false;
    params.Vsync = false;
    params.AntiAlias = false;
    for(int i = 0; i < argc; i++) {
    if(strcmp(argv[i], "-wid") == 0)
    params.WindowId = (void*)strtol(argv[i+1], NULL, 16);
    if(strcmp(argv[i], "-fullscreen") == 0)
    params.Fullscreen = true;
    if(strcmp(argv[i], "-width") == 0)
    params.WindowSize.Width = strtol(argv[i+1], NULL, 10);
    if(strcmp(argv[i], "-height") == 0)
    params.WindowSize.Height = strtol(argv[i+1], NULL, 10);
    }
    IrrlichtDevice *device = createDeviceEx(params);
  3. 実行する

    $ xwinwrap -ni -fs -s -st -sp -b -nf -- ./myApp -wid WID -fullscreen -width 1024 -height 768

同じように動画ファイルをデスクトップで再生できた

$ xwinwrap -ni -fs -s -st -sp -b -nf -- mplayer -wid WID -quiet -loop 0 -fs -shuffle ~/Videos/BGV/*

Web カメラでキャプチャした映像もデスクトップに設定できた

$ xwinwrap -ni -fs -s -st -sp -b -nf -- mplayer  -wid WID tv:// -tv driver=v4l2:width=1024:height=768