git://git.nikiroo.be
/
nikiroo-utils.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
update roadmap
[nikiroo-utils.git]
/
src
/
jexer
/
TTerminalWindow.java
diff --git
a/src/jexer/TTerminalWindow.java
b/src/jexer/TTerminalWindow.java
index 83cc86ef19d0f5a890699d41ec102d86de8dca50..90a95ae132abdbd5360a06c535f57b0fac2965ef 100644
(file)
--- a/
src/jexer/TTerminalWindow.java
+++ b/
src/jexer/TTerminalWindow.java
@@
-244,7
+244,12
@@
public class TTerminalWindow extends TWindow {
* Handle window close.
*/
@Override public void onClose() {
* 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.
}
}
// The shell is still running, do nothing.
}
}
-
+
} // synchronized (emulator)
}
} // synchronized (emulator)
}
@@
-386,6
+391,15
@@
public class TTerminalWindow extends TWindow {
// Get out of scrollback
vScroller.setValue(0);
emulator.keypress(keypress.getKey());
// 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;
}
readEmulatorState();
return;
}