Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
X11 node.js network protocol client
JavaScript Java

Merge pull request #95 from Arteris/tcp_fallback

Fall back to TCP if socket does not exist
latest commit f13a438e94
@sidorares authored
Failed to load latest commit information.
autogen initial implementation of xcb xml -> js generation
examples Added Shape rectangles example. Fixed shape mask test
lib Fix XClient arguments
test Merge pull request #82 from santigimeno/fix_randr_test
.travis.yml Test Travis with Xvfb doing -nolisten tcp and -nolisten unix
Changelog.md start changelog
LICENSE year bump
README.md
package.json 1.0.3
roadmap.txt tick what's done
test-runner.js Check for errors directly instead of with isError

README.md

About

Gitter X11 protocol client for node.js

Implements core X11 protocol, as well as Xrender, Damage, Composite, Big-Requests, Dpms, Screensaver, XFixes, Shape, XTest, XC-Misc, GLX and Apple-WM extensions.

install

npm install x11

Windows users: 1) install XMing or Cygwin/X 2) get node-x11 copy (using git or from Github)

CI build status:

Build Status

example

Core requests usage:

    var x11 = require('x11');

    var Exposure = x11.eventMask.Exposure;
    var PointerMotion = x11.eventMask.PointerMotion;

    x11.createClient(function(err, display) {
        if (!err) {
            var X = display.client;
            var root = display.screen[0].root;
            var wid = X.AllocID();
            X.CreateWindow(
                wid, root,        // new window id, parent
                0, 0, 100, 100,   // x, y, w, h
                0, 0, 0, 0,       // border, depth, class, visual
                { eventMask: Exposure|PointerMotion } // other parameters
            );
            X.MapWindow(wid);
            var gc = X.AllocID();
            X.CreateGC(gc, wid);
            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);
            });
        } else {
            console.log(err);
        }
    });

Screenshots

tetris game XRENDER gradients OpenGL glxgears OpenGL teapot

In use

  • ntk - higher level toolkit on top of X11
  • node-remote - media center controller
  • tiles - tiling window manager
  • vnc - vnc client.
  • node-ewmh - set of EWMH helpers.
  • OdieWM - window manager
  • Dbusmenu - unity global menu client.
  • AirWM - tiling window manager
  • npdf - pdf viewer
  • tinywm The famous TinyWM written in node.js
  • basedwm Infinite-desktop panning X window manager in LiveScript

Protocol documentation

Other implementations

Something went wrong with that request. Please try again.