No description
Find a file
2011-07-19 00:52:13 -07:00
lib/x11 QueryExtension request 2011-07-19 17:00:59 +10:00
test QueryExtension request 2011-07-19 17:00:59 +10:00
README.md Edited README.md via GitHub 2011-07-19 00:52:13 -07:00
roadmap.txt Edited roadmap.txt via GitHub 2011-07-07 20:49:08 -07:00

About

X11 protocol client for node.js

status

( see List of implemented requests )

example

Core requsests usage:

var x11 = require('../lib/x11');

var xclient = x11.createClient();
var Exposure = x11.eventMask.Exposure;
var PointerMotion = x11.eventMask.PointerMotion;

xclient.on('connect', function(display) {
    var X = this;
    var root = display.screen[0].root;
    var white = display.screen[0].white_pixel;
    var black = display.screen[0].black_pixel;

    var wid = X.AllocID();
    X.CreateWindow(
       wid, root, 
       0, 0, 100, 100, 
       1, 1, 0,
       { 
           backgroundPixel: white, eventMask: Exposure|PointerMotion  
       }
    );
    X.MapWindow(wid);
  
    var gc = X.AllocID();
    X.CreateGC(gc, wid, { foreground: black, background: white } );

    X.on('event', function(ev) {
        if (ev.type == 12)
        {
            X.PolyText8(wid, gc, 50, 50, ['Hello, Node.JS!']); 
        } 
    });
    X.on('error', function(e) {
        console.log(e);
    });
});

Simple core requests Window wrapper:

var x11 = require('x11');
var Window = require('./wndwrap');
var xclient = x11.createClient();
xclient.on('connect', function(display) {
    var mainwnd = new Window(xclient, 0, 0, 100, 100);
    mainwnd.on('expose', function(ev) {        
        ev.gc.drawText(50, 50, 'Hello, NodeJS!');
    });
    mainwnd.map();
});

Protocol documentation

Other implementations