• Stars
    star
    126
  • Rank 284,543 (Top 6 %)
  • Language
    JavaScript
  • License
    Other
  • Created almost 12 years ago
  • Updated almost 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

JavaScript X Server (current protocol prototyping in Node.js, hoping to port to HTML5 for graphics)

JavaScript X Server

Concept

Now

This is currently very much a work in progress, with me learning about how an X11 server operates and it's underlying protocol. A subset of the protocol is now working within Chromium with output to canvas and div elements. Both xlogo and xeyes are 100% functional, with work currently being done to support xfn (with bitmap fonts)!

Future

The project may eventually have both server and client side X processing, allowing for optimisation of the X protocol and compression of Pixmaps before transferring to the client allowing for lightweight remote desktop connections in a web browser.

It'd also be great to experiement with GLX and WebGL to see if there is enough crossover to allow 3d rendering via the browser!

Loose Requirements

  • A basic window manager or application (we're talking blackbox wm, xlogo, xeyes, xfd, more complex apps are more likely to hit bugs / unknown features / unimplemented opcodes).
  • Developed on Mac, but should also work on Ilnux boxes

Getting started

  1. git clone https://github.com/GothAck/javascript-x-server.git xserver; cd xserver

  2. npm install

  3. Edit proxy.js:

    Change line:

    var proxy = new X11Proxy(screen, req.accept('x11-proxy', req.origin));

    To contain the desired wm/application:

    var proxy = new X11Proxy(screen, req.accept('x11-proxy', req.origin), 'xeyes');

  4. In one terminal: grunt; grunt watch (you can just run grunt)

  5. In another: npm start

  6. Open http://localhost:3000 in a decent browser (currently only Chrome is tested working)

More Repositories

1

forms-mongoose

Automatic Forms generation from Mongoose Models
JavaScript
54
star
2

FlatRPC

A C++ RPC library built upon FlatBuffers and ZeroMQ
C++
31
star
3

PsiOnSD

Dragging the Psion 5MX into the 21 century using the Octavo Systems OSD3358 SiP
Python
8
star
4

oscope

oscope app to allow remote control of Micsig scopes on platforms other than Android
C++
8
star
5

Locomotive-Boilerplate

Locomotive Boilerplate with Mongoose, Generated Forms, Emailer and Auth
JavaScript
7
star
6

ZeroWire

Zeroconf WireGuard for when you want to encrypt things across your local net
Python
7
star
7

nuc8_beh_led_linux

Linux LED class driver for NUC8 BEH
Assembly
4
star
8

hifimems-kmod

Simple driver for Hifiberry and ICS43432 MEMS microphone compatible hardware
C
4
star
9

Social-Good-API-Aggregator

VolunteerFeed Project
JavaScript
2
star
10

pcf-font-to-vector

Convert PCF format bitmap fonts to TTF
JavaScript
2
star
11

tokio-stream-multiplexor

Shovel multiple inner streams down the same outer pipe
Rust
2
star
12

salt-public

Useful salt stuff I have created
SaltStack
1
star
13

acmeasync

asyncio ACME / Letsencrypt client with built in TCP TLS proxy server
Python
1
star
14

HP-WebOS-Hack-Weekend

Javascript barcode scanner with product lookup
JavaScript
1
star
15

layeredconf

Layered Configs for Rust apps
Rust
1
star
16

keyboard

OpenSCAD Mechanical keyboard generator (keyboard-layout-editor.com)
Python
1
star
17

mega_ds1387_hp1672d

Program Dallas DS1387 RAMified for HP 1670 series Logic Analyser
C++
1
star
18

Parliament-Hack-Weekend

Python
1
star
19

Honda-Hack

Python
1
star
20

Civicboom-hActivate

The Civicboom Team's hActivate Repository
Python
1
star
21

Javascript-prototype-extensions-for-node.js

Javascript prototype extensions for node.js
JavaScript
1
star
22

nfcdoorz

NFC Mifare DESFire EV1 access control system (WIP)
C++
1
star