sidorares / Node X11
Licence: mit
X11 node.js network protocol client
Stars: ✭ 453
Programming Languages
javascript
184084 projects - #8 most used programming language
Projects that are alternatives of or similar to Node X11
X11ui
Simple UI framework using github.com/BurntSushi/xgbutil package using Go.
Stars: ✭ 18 (-96.03%)
Mutual labels: gui, x11
X11docker
Run GUI applications and desktops in docker and podman containers. Focus on security.
Stars: ✭ 3,797 (+738.19%)
Mutual labels: gui, x11
Docker X11 Bridge
Simple Xpra X11 bridge to enable GUI with any docker image
Stars: ✭ 143 (-68.43%)
Mutual labels: gui, x11
Wxwidgets
wxWidgets is a free and open source cross-platform C++ framework
for writing advanced GUI applications using native controls.
Stars: ✭ 3,994 (+781.68%)
Mutual labels: gui, x11
Imgui
Bloat-free Immediate Mode Graphical User interface for JVM with minimal dependencies (rewrite of dear imgui)
Stars: ✭ 394 (-13.02%)
Mutual labels: gui
Vugu
Vugu: A modern UI library for Go+WebAssembly (experimental)
Stars: ✭ 4,251 (+838.41%)
Mutual labels: gui
Mongo Express
Web-based MongoDB admin interface, written with Node.js and express
Stars: ✭ 4,403 (+871.96%)
Mutual labels: gui
Linux Wifi Hotspot
Feature-rich wifi hotspot creator for Linux which provides both GUI and command-line interface. It is also able to create a hotspot using the same wifi card which is connected to an AP already ( Similar to Windows 10).
Stars: ✭ 434 (-4.19%)
Mutual labels: gui
Compose Jb
Jetpack Compose for Desktop and Web, a modern UI framework for Kotlin that makes building performant and beautiful user interfaces easy and enjoyable.
Stars: ✭ 7,562 (+1569.32%)
Mutual labels: gui
Snaptile
Versatile window tiling for X11 with powerful keyboard controls
Stars: ✭ 442 (-2.43%)
Mutual labels: x11
Guilitesamples
✨Small interesting GUI effects could be reused everywhere
Stars: ✭ 409 (-9.71%)
Mutual labels: gui
node-x11
X11 protocol client for Node.js: implements the 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:
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,
500,
500, // 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);
var white = display.screen[0].white_pixel;
var black = display.screen[0].black_pixel;
cidBlack = X.AllocID();
cidWhite = X.AllocID();
X.CreateGC(cidBlack, wid, { foreground: black, background: white });
X.CreateGC(cidWhite, wid, { foreground: white, background: black });
X.on('event', function(ev) {
if (ev.type == 12) {
X.PolyFillRectangle(wid, cidWhite, [0, 0, 500, 500]);
X.PolyText8(wid, cidBlack, 50, 50, ['Hello, Node.JS!']);
}
});
X.on('error', function(e) {
console.log(e);
});
} else {
console.log(err);
}
});
Screenshots
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
X11 resources/documentation:
- Xplain - A series of articles to help explain the X Window System http://magcius.github.io/xplain/article/
- Official X11 docs
- protocol specification
- C Xlib to X11 request mapping table http://tronche.com/gui/x/xlib/appendix/a.html
- How to write composite manager
- Extended Window Manager Hints specification
Other implementations
- C: XLib - http://www.sbin.org/doc/Xlib/ http://www.tronche.com/gui/x/xlib/ http://www.x.org/docs/X11/xlib.pdf
- C: XCB - http://xcb.freedesktop.org/
- Python: http://sourceforge.net/projects/python-xlib/ ( github fork: https://github.com/Ademan/python-xlib-branch pypi: http://pypi.python.org/pypi/Python%20Xlib )
- https://github.com/alexer/python-xlib-render
- Python/twisted: https://launchpad.net/twisted-x11
- Perl: http://search.cpan.org/~smccam/X11-Protocol-0.56/Protocol.pm
- Go: https://github.com/BurntSushi/xgb
- Java: https://github.com/xderoche/J11
- Ruby: https://github.com/dj2/x-ruby-bindings
- Clojure: https://github.com/noodlewiz/xcljb
- Guile: https://github.com/mwitmer/guile-xcb
- Emacs lisp: https://github.com/ch11ng/xelb ( autogenerated from XCB XML )
Server side (protocol + functionality) implementations for js + DOM
would be really great to make completely web based playground page, connecting node-x11 api to DOM based implementation
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].