mirror of
https://github.com/nuintun/command-manager.git
synced 2025-06-08 12:14:03 +08:00
update files
This commit is contained in:
parent
6b2c31b263
commit
0d6eb644eb
@ -35,11 +35,9 @@ function clone(projects, index){
|
|||||||
/**
|
/**
|
||||||
* srcoll
|
* srcoll
|
||||||
* @param xterm
|
* @param xterm
|
||||||
|
* @param parent
|
||||||
*/
|
*/
|
||||||
function scroll(xterm){
|
function scroll(xterm, parent){
|
||||||
var parent = xterm.element.parentNode;
|
|
||||||
|
|
||||||
if (parent) {
|
|
||||||
var height = (xterm.y + 2) * 18;
|
var height = (xterm.y + 2) * 18;
|
||||||
var scrollTop = parent.scrollTop;
|
var scrollTop = parent.scrollTop;
|
||||||
var viewHeight = parent.clientHeight;
|
var viewHeight = parent.clientHeight;
|
||||||
@ -47,7 +45,6 @@ function scroll(xterm){
|
|||||||
if (scrollTop > height || height > scrollTop + viewHeight) {
|
if (scrollTop > height || height > scrollTop + viewHeight) {
|
||||||
parent.scrollTop = Math.max(0, height - viewHeight);
|
parent.scrollTop = Math.max(0, height - viewHeight);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -56,34 +53,25 @@ function scroll(xterm){
|
|||||||
* @param xtermNode
|
* @param xtermNode
|
||||||
*/
|
*/
|
||||||
function createXTerm(name, xtermNode){
|
function createXTerm(name, xtermNode){
|
||||||
|
var timer;
|
||||||
var runtime = window.AppRuntime[name];
|
var runtime = window.AppRuntime[name];
|
||||||
|
|
||||||
function refresh(xterm){
|
|
||||||
if (xtermNode.firstChild !== xterm.element) {
|
|
||||||
if (xtermNode.firstChild) {
|
|
||||||
xtermNode.removeChild(xtermNode.firstChild);
|
|
||||||
}
|
|
||||||
|
|
||||||
xterm.focus();
|
|
||||||
xtermNode.appendChild(xterm.element);
|
|
||||||
scroll(xterm);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (runtime) {
|
if (runtime) {
|
||||||
refresh(runtime.xterm);
|
runtime.xterm.focus();
|
||||||
} else {
|
} else {
|
||||||
var xterm = new Terminal({
|
var xterm = new Terminal({
|
||||||
rows: 66,
|
rows: 66,
|
||||||
|
cursor: false,
|
||||||
scrollback: 66,
|
scrollback: 66,
|
||||||
convertEol: true,
|
convertEOL: true,
|
||||||
fgColor: 'inherit',
|
fgColor: 'inherit',
|
||||||
bgColor: 'transparent'
|
bgColor: 'transparent'
|
||||||
});
|
});
|
||||||
|
|
||||||
xterm.open();
|
xterm.open();
|
||||||
|
xterm.focus();
|
||||||
|
|
||||||
refresh(xterm);
|
xtermNode.innerHTML = xterm.screen;
|
||||||
|
|
||||||
window.AppRuntime[name] = {
|
window.AppRuntime[name] = {
|
||||||
xterm: xterm
|
xterm: xterm
|
||||||
@ -193,21 +181,9 @@ module.exports = Vue.component('app-main', {
|
|||||||
context.expandCommand = trigger && trigger.contains(target);
|
context.expandCommand = trigger && trigger.contains(target);
|
||||||
}, false);
|
}, false);
|
||||||
|
|
||||||
var step = 0;
|
var timer;
|
||||||
var timestamp = Date.now();
|
|
||||||
|
|
||||||
ipc.on('emulator', function (event, type, project, data){
|
ipc.on('emulator', function (event, type, project, data){
|
||||||
var now = Date.now();
|
|
||||||
|
|
||||||
if (now - timestamp > 1000) {
|
|
||||||
step = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
timestamp = now;
|
|
||||||
|
|
||||||
step++;
|
|
||||||
|
|
||||||
var delay = step * 16;
|
|
||||||
var runtime = window.AppRuntime[project.name];
|
var runtime = window.AppRuntime[project.name];
|
||||||
|
|
||||||
if (runtime) {
|
if (runtime) {
|
||||||
@ -223,10 +199,18 @@ module.exports = Vue.component('app-main', {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
setTimeout(function (){
|
clearTimeout(timer);
|
||||||
runtime.xterm.write(data);
|
runtime.xterm.write(data);
|
||||||
scroll(runtime.xterm);
|
|
||||||
}, delay);
|
if (project.name === context.project.name) {
|
||||||
|
timer = setTimeout(function (){
|
||||||
|
var xtermNode = context.$els.terminal;
|
||||||
|
|
||||||
|
xtermNode.innerHTML = runtime.xterm.screen;
|
||||||
|
|
||||||
|
scroll(runtime.xterm, xtermNode);
|
||||||
|
}, 0);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
event.sender.send('emulator', project, 'stop');
|
event.sender.send('emulator', project, 'stop');
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user