update roadmap
[nikiroo-utils.git] / src / jexer / TTerminalWindow.java
index 83cc86ef19d0f5a890699d41ec102d86de8dca50..90a95ae132abdbd5360a06c535f57b0fac2965ef 100644 (file)
@@ -244,7 +244,12 @@ public class TTerminalWindow extends TWindow {
      * Handle window close.
      */
     @Override public void onClose() {
-        emulator.close();
+        if (shell != null) {
+            shell.destroy();
+            shell = null;
+        } else {
+            emulator.close();
+        }
     }
 
     /**
@@ -297,7 +302,7 @@ public class TTerminalWindow extends TWindow {
                     // The shell is still running, do nothing.
                 }
             }
-            
+
         } // synchronized (emulator)
     }
 
@@ -386,6 +391,15 @@ public class TTerminalWindow extends TWindow {
                 // Get out of scrollback
                 vScroller.setValue(0);
                 emulator.keypress(keypress.getKey());
+
+                // UGLY HACK TIME!  cmd.exe needs CRLF, not just CR, so if
+                // this is kBEnter then also send kbCtrlJ.
+                if (System.getProperty("os.name").startsWith("Windows")) {
+                    if (keypress.equals(kbEnter)) {
+                        emulator.keypress(kbCtrlJ);
+                    }
+                }
+
                 readEmulatorState();
                 return;
             }