How to use nw - 10 common examples

To help you get started, we’ve selected a few nw examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github nwjs / nw.js / tests / manual_tests / menu / index.html View on Github external
submenu.items[0].enabled == false,
  submenu.items[1].enabled == true,
  submenu.items[2].enabled == true,
  submenu.items[3].enabled == true,
  'After flip checked and enabled');

  // Click to flip other items
  var lastone = submenu.items[0];
  submenu.items[0].click = submenu.items[1].click = submenu.items[2].click = submenu.items[3].click = function() {
    lastone.checked = !lastone.checked;
    lastone.enabled = !lastone.enabled;
    this.enabled = !this.enabled;
    lastone = this;
  }

  var tray = new gui.Tray({ title: 'Test Menu', menu: menu });
  menu.items[0].icon = 'icon1.png';
  assert(
  menu.items[0].icon == 'icon1.png',
  'Set Menu Icon');

  menu.items[0].icon = '';
  assert(
  menu.items[0].icon == '',
  'Clear Menu Icon');

  menu.items[1].icon = tray.icon = 'icon1.png';

  menu.items[1].on('click', function() {
    console.log('Item Mama');
  });
github Dineshs91 / devlog / test / protractor-conf.js View on Github external
'use strict';

var path = require('path');
var nw = require('nw');

exports.config = {
    chromeDriver: './support/chromedriver',
    directConnect: true,
    specs: ['e2e/**/*.js'],
    baseUrl: 'file://' + path.resolve('app/index.html'),
    rootElement: 'html',
    capabilities: {
        browserName: 'chrome',
        chromeOptions: {
            binary: nw.findpath()
        }
    },

    onPrepare: function() {

        // By default, Protractor use data:text/html, as resetUrl, but 
        // location.replace (see http://git.io/tvdSIQ) from the data: to the file: protocol is not allowed
        // (we'll get ‘not allowed local resource’ error), so we replace resetUrl with one
        // with the file: protocol (this particular one will open system's root folder)
        browser.resetUrl = 'file://';

        // This isn't required and used to avoid ‘Cannot extract package’ error showed
        // before Protractor have redirected node-webkit to resetUrl.
        browser.driver.get('file://');
        browser.driver.get('file://' + path.resolve('app/index.html'));
    }
github nekobato / Polidium / app / app.js View on Github external
var gui = require('nw.gui');
var win = gui.Window.get();
gui.Screen.Init();
var screens = gui.Screen.screens;
var CustomTrayMenu = require('./custom-tray');

var customTray;

process.on('log', function(msg) { console.log(msg); });

function init() {

  // win.width = screens[0].work_area.width;
  // win.height = screens[0].work_area.height;

  win.showDevTools();

  if (!customTray) {
    customTray = new CustomTrayMenu();
github mauvilsa / nw-page-editor / js / nw-winstate.js View on Github external
function restoreWindowState() {
    // deltaHeight already saved, so just restore it and adjust window height
    if (deltaHeight !== 'disabled' && typeof winState.deltaHeight !== 'undefined') {
      deltaHeight = winState.deltaHeight;
      winState.height = winState.height - deltaHeight;
    }


    //Make sure that the window is displayed somewhere on a screen that is connected to the PC. 
    //Imagine you run the program on a secondary screen connected to a laptop - and then the next time you start the 
    //program the screen is not connected...
    gui.Screen.Init();
    var screens = gui.Screen.screens;
    var locationIsOnAScreen = false;
    for (var i = 0; i < screens.length; i++) {
      var screen = screens[i];
      if (winState.x > screen.bounds.x && winState.x < screen.bounds.x + screen.bounds.width) {
        if (winState.y > screen.bounds.y && winState.y < screen.bounds.y + screen.bounds.height) {
          console.debug("Location of window (" + winState.x + "," + winState.y + ") is on screen " + JSON.stringify(screen));
          locationIsOnAScreen = true;
        }
      }
    }

    if (!locationIsOnAScreen) {
      console.debug("Last saved position of windows is not usable on current monitor setup. Moving window to center!");
      win.setPosition("center");
    }
    else {
github charlieroberts / interface.server / server.js View on Github external
address = args.address,
          parameters = args.parameters,
          options = { 'socket': socket, type:'WebSocket' }

      if( address in __admin ) {
        __admin[ address ]( parameters, options )
      }else{
        global.interface.handleMsgToClients( global.interface.livecodeServer, address, parameters )
      }
    })
  });
  // console.log( global.interface.websocketAdminIn )

  global.interface.count++;

  win = gui.Window.get();

  Mousetrap.bind('command+o', function() {  global.interface.openFile(); });
  Mousetrap.bind('command+s', function() {  global.interface.saveFile(); });
  Mousetrap.bind('command+r', function() {  win.reload(); });
  Mousetrap.bind('command+d', function() {  win.showDevTools(); });
  Mousetrap.bind('command+escape', function() { win.isFullscreen = !win.isFullscreen });

  $(window).on('load', function() {
    win.moveTo(0,0);
    win.resizeTo(1100, 500);
    win.blur();
    win.show();
  });
}
github ChrisTerBeke / devkit-core / www / js / devkit.devkitCtrl.js View on Github external
label: 'Save All',
		click: function() {
			$rootScope.$emit('editor.saveall');
		},
		key: 's',
		modifiers: 'cmd+shift'
	}),7);
	
	win.menu.insert(new gui.MenuItem({
		label: 'File',
		submenu: file
	}), 1);
			
			
	// project menu
	var project = new gui.Menu();
	
	project.insert(new gui.MenuItem({
		label: 'Run',
		click: function(){
			$rootScope.$emit('homey.run');
		},
		key: 'r',
		modifiers: 'cmd'
	}), 0);
	
	project.insert(new gui.MenuItem({
		label: 'Run and Break',
		click: function(){
			$rootScope.$emit('homey.runbrk');
		},
		key: 'r',
github capablemonkey / sleep / app / js / index.js View on Github external
tray = new gui.Tray({ icon: 'assets/icon2.png'});

	/*
	 *	create the main tray menu and its items
	 */

	trayMenu = new gui.Menu();
	trayMenuItems.lastSlept = new gui.MenuItem({ type: 'normal', label: 'ugh', enabled: false });
	trayMenuItems.lastWoke = new gui.MenuItem({ type: 'normal', label: 'ugh', enabled: false });
	trayMenuItems.duration = new gui.MenuItem({ type: 'normal', label: 'ugh', enabled: false });
	trayMenuItems.sep1 = new gui.MenuItem({type: 'separator'});
	trayMenuItems.reasonLabel = new gui.MenuItem({type: 'normal', label: 'reason for sleep:', enabled: false});
	trayMenuItems.reason = new gui.MenuItem({ type: 'normal', label: 'ugh', enabled: false });
	trayMenuItems.sep2 = new gui.MenuItem({type: 'separator'});
	trayMenuItems.startup = new gui.MenuItem({type: 'checkbox', label: 'run on login?', checked: false});
	trayMenuItems.about = new gui.MenuItem({type: 'normal', label: 'about'});
	trayMenuItems.quit = new gui.MenuItem({ type: 'normal', label: 'quit', enabled: true });

	// TODO: make a button to refresh 
	
	/*
	 *	Logic + Event handling for MenuItems
	 */

	trayMenuItems.about.click = function() {
		var win = gui.Window.get();
		win.show();
		win.focus();
	};
	
	trayMenuItems.quit.click = function() { gui.App.quit(); }
github armadito / armadito-av / gui / node_webkit / js / systray_menu.js View on Github external
function initSystray(){
 
	console.log("Init systray !\n");

	var ffi = require("ffi");
	/*var libm = new ffi.Library("libm", { "ceil": [ "double", [ "double" ] ] });
	libm.ceil(1.5); // 2

	console.log(" libm ceil(1.5) = "+ libm);*/

	// Create a tray icon
	tray = new gui.Tray({ title: 'Uhuru-AV', icon: 'img/uhuru_systray.png' });
	tray.menu = SystrayMenu();
}
github iShift / twister-webkit / interface.js View on Github external
var el = ev.target,
        bTextInput = el.nodeName === 'INPUT' || el.nodeName === 'TEXTAREA',
        iframedoc = getIframeDocument();

    // copy
    menuContext.items[0].enabled = bTextInput || !iframedoc.getSelection().isCollapsed;

    // copy link
    while (!(/^(a|html)$/i).test(el.nodeName)) {
        el = el.parentNode;
    }
    contextURL = 'href' in el ? el.href : '';
    menuContext.items[1].enabled = !!contextURL;

    // paste
    menuContext.items[2].enabled = bTextInput && !!gui.Clipboard.get().get('text');

    menuContext.popup(ev.x, ev.y);
    return false;
}
github SpiderOak / Encryptr / src / app.js View on Github external
// :(, fail to register the |key| or couldn't parse the |key|.
          console.log(msg);
        }
      };
      // Create a shortcut with |option|.
      var shortcut = new gui.Shortcut(option);
      gui.App.registerGlobalHotKey(shortcut);
      // ...but turn it off when not focused
      win.on("blur", function() {
        gui.App.unregisterGlobalHotKey(shortcut);
      });
      win.on("focus", function() {
        gui.App.registerGlobalHotKey(shortcut);
      });

      window.clipboard = gui.Clipboard.get();
      Encryptr.prototype.copyToClipboard = function(text) {
        window.clipboard.set(text, 'text');
      };
      /* jshint node: false */
    } else {
      // Fallback to empty browser polyfill
      Encryptr.prototype.copyToClipboard = function() {};
    }
  };