update files

This commit is contained in:
nuintun 2015-11-27 09:34:50 +08:00
parent b6eedc11dc
commit 65e67f90da
2 changed files with 39 additions and 36 deletions

View File

@ -83,6 +83,7 @@ module.exports = {
switch (action) { switch (action) {
case 'start': case 'start':
if (!emulator) { if (!emulator) {
var stream;
var env = {}; var env = {};
Object.keys(process.env).forEach(function (key){ Object.keys(process.env).forEach(function (key){
@ -99,14 +100,14 @@ module.exports = {
command: project.command.value command: project.command.value
}); });
var stream = emulator.start(); stream = emulator.start();
stream.stdout.on('data', function (data){ stream.stdout.on('data', function (data){
event.sender.send('data', project, data); event.sender.send('emulator', 'data', project, data);
}); });
stream.stderr.on('error', function (error){ stream.stderr.on('error', function (error){
event.sender.send('error', project, error); event.sender.send('emulator', 'error', project, error);
emulator.stop(); emulator.stop();
@ -114,7 +115,7 @@ module.exports = {
}); });
stream.on('close', function (signal){ stream.on('close', function (signal){
event.sender.send('close', project, signal); event.sender.send('emulator', 'close', project, signal);
delete emulators[key]; delete emulators[key];
}); });

View File

@ -53,35 +53,41 @@ function scroll(xterm, parent){
* @param xtermNode * @param xtermNode
*/ */
function createXTerm(name, xtermNode){ function createXTerm(name, xtermNode){
//var timer; var timer;
//var runtime = window.AppRuntime[name]; var runtime = window.AppRuntime[name];
//if (runtime) { if (runtime) {
// runtime.xterm.focus(); runtime.xterm.focus();
//} else { } else {
// var xterm = new Terminal({ var xterm = new Terminal({
// rows: 66, rows: 66,
// scrollback: 66, scrollback: 66,
// convertEOL: true, convertEOL: true,
// fgColor: 'inherit', fgColor: 'inherit',
// bgColor: 'transparent', bgColor: 'transparent',
// onscreen: function (screen){ onscreen: function (screen){
// if (this.isFocused()) { if (this.isFocused()) {
setImmediate(function (){
xtermNode.innerHTML = screen;
scroll(xterm, xtermNode);
});
//clearTimeout(timer); //clearTimeout(timer);
//
//timer = setTimeout(function (){ //timer = setTimeout(function (){
// //xtermNode.innerHTML = screen; // xtermNode.innerHTML = screen;
//}, 0);
// //
//scroll(xterm, xtermNode); //scroll(xterm, xtermNode);
// }, 10); }
// } }
// } });
// });
//
// xterm.open();
window.AppRuntime[name] = true; xterm.open();
//}
window.AppRuntime[name] = {
xterm: xterm
};
}
} }
module.exports = Vue.component('app-main', { module.exports = Vue.component('app-main', {
@ -190,9 +196,7 @@ module.exports = Vue.component('app-main', {
var runtime = window.AppRuntime[project.name]; var runtime = window.AppRuntime[project.name];
if (runtime) { if (runtime) {
if (project.name === context.project.name) { runtime.xterm.write(data + '');
context.$els.terminal.innerHTML = data;
}
} else { } else {
event.sender.send('emulator', project, 'stop'); event.sender.send('emulator', project, 'stop');
} }
@ -200,7 +204,5 @@ module.exports = Vue.component('app-main', {
}, },
ready: function (){ ready: function (){
createXTerm(this.project.name, this.$els.terminal); createXTerm(this.project.name, this.$els.terminal);
new Worker('static/js/components/app-main/worker.js');
} }
}); });