60 lines
1.5 KiB
JavaScript
60 lines
1.5 KiB
JavaScript
// Was index.js
|
|
|
|
var core = Require('x11/core/xcore');
|
|
var em = Require('x11/core/eventmask').eventMask;
|
|
var et = Require('x11/core/eventmask').eventType;
|
|
var server = Require('x11/core/xserver');
|
|
var pixmap = Require('x11/core/pixmap');
|
|
|
|
module.exports.createClient = core.createClient;
|
|
module.exports.createServer = server.createServer;
|
|
module.exports.eventMask = em;
|
|
module.exports.eventNumber = et;
|
|
module.exports.eventType = et;
|
|
module.exports.pixmap = pixmap;
|
|
|
|
Object.defineProperty(module.exports, 'keySyms', {
|
|
enumerable: true,
|
|
get: function() { return Require('x11/core/keysyms'); }
|
|
});
|
|
|
|
Object.defineProperty(module.exports, 'gcFunction', {
|
|
enumerable: true,
|
|
get: function() { return Require('x11/core/gcfunction'); }
|
|
});
|
|
|
|
//TODO:
|
|
// keepe everything in namespace for consistensy (eventMask, keySyms, class, destination ...
|
|
// or put most used constants to top namespace? (currently class and destination in top)
|
|
|
|
// basic constants
|
|
|
|
// class
|
|
module.exports.CopyFromParent = 0;
|
|
module.exports.InputOutput = 1;
|
|
module.exports.InputOnly = 2;
|
|
|
|
// destination
|
|
module.exports.PointerWindow = 0;
|
|
module.exports.InputFocus = 1;
|
|
|
|
|
|
// TODO
|
|
module.exports.bitGravity = {
|
|
};
|
|
|
|
module.exports.winGravity = {
|
|
};
|
|
|
|
// Execute a sequential block using a next function
|
|
// block([function () {todo; next(args)}, function () {todo(function () {next(args)}}])
|
|
|
|
module.exports.block = function (block) {
|
|
var i=0,len=block.length;
|
|
function next(arg1,arg2,arg3,arg4,arg5,arg6) {
|
|
i++;
|
|
if (i<len) block[i](next,arg1,arg2,arg3,arg4,arg5,arg6);
|
|
}
|
|
block[0](next);
|
|
}
|