mirror of
https://github.com/nuintun/command-manager.git
synced 2025-06-07 19:44:35 +08:00
update files
This commit is contained in:
parent
b6eedc11dc
commit
65e67f90da
@ -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];
|
||||||
});
|
});
|
||||||
|
@ -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');
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user