pitaya-launcher/src/store/actions/launcher.js

44 lines
1.1 KiB
JavaScript
Raw Normal View History

2015-09-11 16:25:45 +02:00
var Util = require('../../util');
2015-10-29 16:36:44 +01:00
var logger = Util.Logger;
var LoggerStream = Util.LoggerStream;
var remote = require('electron').remote;
2015-09-03 15:50:23 +02:00
var RUN_APP = exports.RUN_APP = 'RUN_APP';
var RUN_APP_SUCCESS = exports.RUN_APP_SUCCESS = 'RUN_APP_SUCCESS';
var RUN_APP_FAILED = exports.RUN_APP_FAILED = 'RUN_APP_FAILED';
exports.runApp = function(execPath) {
return function(dispatch, getState) {
2015-10-29 16:36:44 +01:00
logger.info('Launching app "%s"', execPath);
dispatch({ type: RUN_APP, execPath: execPath });
var opts = {
clearFreeDesktopFlags: true,
stdout: process.stdout,
stderr: process.stderr
}
return Util.System.runApp(execPath, opts)
.then(function() {
dispatch({ type: RUN_APP_SUCCESS, execPath: execPath });
// Hypothetical fix
var win = remote.getCurrentWindow();
win.show();
return execPath;
})
.catch(function(err) {
dispatch({ type: RUN_APP_FAILED, error: err });
// Hypothetical fix
var win = remote.getCurrentWindow();
win.show();
return err;
})
;
};
2015-09-03 15:50:23 +02:00
};