Mon 21 Jul 22:43:21 CEST 2025

This commit is contained in:
sbosse 2025-07-21 22:59:55 +02:00
parent 52b2dfa27e
commit f6f81aceee

59
js/x11/core/x11.js Normal file
View File

@ -0,0 +1,59 @@
// 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);
}