38 lines
1.5 KiB
JavaScript
38 lines
1.5 KiB
JavaScript
|
var spawn = require('child_process').spawn;
|
||
|
var x11 = require('../../lib');
|
||
|
|
||
|
x11.createClient(function(err, display) {
|
||
|
var X = display.client;
|
||
|
var wid = X.AllocID();
|
||
|
X.CreateWindow(wid, display.screen[0].root, 100, 100, 900, 700, 0, 0, 0, 0, {backgroundPixel: display.screen[0].black_pixel});
|
||
|
X.MapWindow(wid);
|
||
|
var wid1 = X.AllocID();
|
||
|
X.CreateWindow(wid1, wid, 10, 10, 380, 680, 0, 0, 0, 0, {backgroundPixel: display.screen[0].white_pixel});
|
||
|
X.MapWindow(wid1);
|
||
|
var surf = spawn('ssh', ['-X', '-p', '2222', 'laplace@127.0.0.1', 'surf -x -e ' + wid1 + ' http://192.168.43.149:4000']);
|
||
|
surf.winbuf = '';
|
||
|
surf.stdout.on('data',
|
||
|
function handleWid(buf)
|
||
|
{
|
||
|
surf.winbuf += buf.toString();
|
||
|
var nl = surf.winbuf.indexOf('\n');
|
||
|
if (nl != -1) {
|
||
|
var swid = parseInt(surf.winbuf.substring(0, nl));
|
||
|
X.MoveResizeWindow(swid, 10, 10, 380, 680);
|
||
|
X.MapWindow(swid);
|
||
|
surf.stdout.removeListener('data', handleWid);
|
||
|
//surf.stdout.pipe(process.stdout);
|
||
|
//surf.stderr.pipe(process.stdout);
|
||
|
}
|
||
|
}
|
||
|
);
|
||
|
var wid2 = X.AllocID();
|
||
|
X.CreateWindow(wid2, wid, 510, 10, 380, 680, 0, 0, 0, 0, {backgroundPixel: display.screen[0].white_pixel});
|
||
|
X.MapWindow(wid2);
|
||
|
var xterm = spawn('xterm', ['-into', wid2]);
|
||
|
//console.log(wid, wid1);
|
||
|
// X.on('error', function(err) { console.log(err) });
|
||
|
// X.on('event', console.log);
|
||
|
});
|
||
|
|