Skip to content


Subversion checkout URL

You can clone with
Download ZIP
node.js wrapper for wxWidgets
C++ JavaScript
branch: windows

This branch is 12 commits behind joeferner:master

Failed to load latest commit information.
lib run script works
src-generated Remove a couple functions that won't link
src-templates Fix zero length arrays throwing in vc++
src Fix zero length arrays throwing in vc++
.gitignore moved render template to mnm web view working
build-win32.js Create fsExplorer to simplift the large amount of path wrangling that…
config-win32.json Make the builder capable of building wxWidgets from scratch. Config f…
fsExplorer.js Fix and improve filesystem abstraction
index.js shell of hello world
mnm.js moved render template to mnm
package.json moved to wxWidgets 2.9.3
render-templates.js Fix accidental extra paste on static cast moved to wxWidgets 2.9.3
strvararg.h.patch moved to wxWidgets 2.9.3
wxapi.xml enabled webview


node.js wrapper for wxWidgets.

Installation Linux

  • Download and install wxWidgets 2.9.3.
$ npm install wxnode

Quick Examples

var wx = require("wxnode");

var MyApp = wx.App.extend({
  onInit: function() {
    var location = new wx.Point(50, 50);
    var size = new wx.Size(450, 340);
    var frame = new MyFrame("Hello World", location, size);;
    return true;

var MyFrame = wx.Frame.extend({
  init: function(title, pos, size) {
    this._super(null, -1, title, pos, size);


  onClose: function(event) {

var app = new MyApp();;

Building wxWidgets

$ sudo apt-get install libwebkitgtk-dev
$ sudo ldconfig
$ ./configure --enable-webview --enable-webview-webkit && make
$ sudo make install

Creating wxapi.xml from wxWidgets

$ sudo apt-get install libwebkitgtk-dev
$ cd wxWidgets-2.9.3/docs/doxygen
$ ./ xml
$ cd ../..
$ ./configure --enable-webview --enable-webview-webkit
$ patch -p0 -i ~/wxNode/
$ patch -p0 -i ~/wxNode/strvararg.h.patch
$ cd utils/ifacecheck/
$ ./
$ cp wxapi.xml ~/wxNode/wxapi.xml
$ cd ~/wxNode
$ rm wxapi.json
$ rm -rf build
$ ./render-templates.js && ./mnm.js build
Something went wrong with that request. Please try again.