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

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.