| 
					
				 | 
			
			
				@@ -62,6 +62,7 @@ export class DOMConsole { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     this.setup(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     this.inputListeners = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     this.hideInput(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.was_waiting_input = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   setup () { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -120,14 +121,14 @@ export class DOMConsole { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     this.showBtn = bashNode.querySelector('#ivprog-console-showbtn'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     this._setupCursor(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //Jquery tooltips.... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $(this.clearBtn).popup({content:LocalizedStrings.getUI("tooltip_terminal_clear")}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $(this.showBtn).popup({content:LocalizedStrings.getUI("tooltip_terminal_show")}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $(this.hideBtn).popup({content:LocalizedStrings.getUI("tooltip_terminal_hide")}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    window.$(this.clearBtn).popup({content:LocalizedStrings.getUI("tooltip_terminal_clear")}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    window.$(this.showBtn).popup({content:LocalizedStrings.getUI("tooltip_terminal_show")}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    window.$(this.hideBtn).popup({content:LocalizedStrings.getUI("tooltip_terminal_hide")}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   _setupCursor () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     this.inputCMD.addEventListener('click', this.blinkCaretAndFocus.bind(this)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    this.inputCMD.click(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //this.inputCMD.click(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     this.input.addEventListener('keyup', this.updateSpanText.bind(this)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     this.input.addEventListener('blur', this.stopBlinkCaret.bind(this)); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -138,12 +139,12 @@ export class DOMConsole { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     this.input.focus(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const outerRef = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const that = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     this.cursorInterval = window.setInterval(function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (outerRef.cursorRef.style.visibility === 'visible') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        outerRef.cursorRef.style.visibility = 'hidden'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (that.cursorRef.style.visibility === 'visible') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        that.cursorRef.style.visibility = 'hidden'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        outerRef.cursorRef.style.visibility = 'visible'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        that.cursorRef.style.visibility = 'visible'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 500); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -223,18 +224,26 @@ export class DOMConsole { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if(!this.disableMarginTop && this.parent.style.top.length == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.parent.style.marginTop = "-160px"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if(this.needInput) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.showInput(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.scheduleNotify(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if(!isElementInViewport(this.termDiv)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.termDiv.scrollIntoView(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     this.scrollTerm(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   hide () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if(this.needInput) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      clearInterval(this.idleInterval); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.hideInput(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.needInput = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // Is in draggable mode? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if(!this.disableMarginTop && this.parent.style.top.length == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.parent.style.marginTop = "0"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     this.termDiv.style.display = 'none'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   getClassForType (type) { 
			 |