public class UnixTerminal extends Terminal
Terminal that is used for unix platforms. Terminal initialization is handled by issuing the stty command against the /dev/tty file to disable character echoing and enable character input. All known unix systems (including Linux and Macintosh OS X) support the stty), so this implementation should work for an reasonable POSIX system.
| Modifier and Type | Field and Description |
|---|---|
static short |
ARROW_DOWN |
static short |
ARROW_LEFT |
static short |
ARROW_PREFIX |
static short |
ARROW_RIGHT |
static short |
ARROW_START |
static short |
ARROW_UP |
static short |
DEL_SECOND |
static short |
DEL_THIRD |
static short |
END_CODE |
static short |
HOME_CODE |
static short |
O_PREFIX |
ABORT, ADD, BACKSPACE, CHANGE_CASE, CHANGE_META, CLEAR_LINE, CLEAR_SCREEN, COMPLETE, CR, CTRL_A, CTRL_B, CTRL_C, CTRL_D, CTRL_E, CTRL_F, CTRL_G, CTRL_K, CTRL_L, CTRL_N, CTRL_OB, CTRL_P, CTRL_QM, DELETE, DELETE_META, DELETE_NEXT_CHAR, DELETE_PREV_CHAR, DELETE_PREV_WORD, END_OF_HISTORY, END_WORD, EXIT, INSERT, KEYBOARD_BELL, KILL_LINE, KILL_LINE_PREV, MOVE_TO_BEG, MOVE_TO_END, NEWLINE, NEXT_CHAR, NEXT_HISTORY, NEXT_SPACE_WORD, NEXT_WORD, PASTE, PASTE_NEXT, PASTE_PREV, PREV_CHAR, PREV_HISTORY, PREV_SPACE_WORD, PREV_WORD, REDISPLAY, REPEAT_NEXT_CHAR, REPEAT_PREV_CHAR, REPEAT_SEARCH_NEXT, REPEAT_SEARCH_PREV, REPLACE_CHAR, REPLACE_MODE, RESET_LINE, SEARCH_NEXT, SEARCH_PREV, START_OF_HISTORY, SUBSTITUTE_CHAR, SUBSTITUTE_LINE, TO_END_WORD, TO_NEXT_CHAR, TO_PREV_CHAR, UNDO, UNKNOWN| Constructor and Description |
|---|
UnixTerminal() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
checkBackspace() |
void |
disableEcho()
Disable character echoing.
|
void |
enableEcho()
Enable character echoing.
|
boolean |
getEcho()
Returns true if the terminal will echo all characters type.
|
static java.lang.String |
getSttyCommand()
The command to use to set the terminal options.
|
int |
getTerminalHeight()
Returns the value of "stty size" height param.
|
int |
getTerminalWidth()
Returns the value of "stty size" width param.
|
void |
initializeTerminal()
Remove line-buffered input by invoking "stty -icanon min 1"
against the current terminal.
|
boolean |
isEchoEnabled()
Returns false if character echoing is disabled.
|
boolean |
isSupported()
Returns true if this terminal is capable of initializing the
terminal to use jline.
|
int |
readVirtualKey(java.io.InputStream in)
Reads a virtual key from the console.
|
void |
restoreTerminal()
Restore the original terminal configuration, which can be used when
shutting down the console reader.
|
static void |
setSttyCommand(java.lang.String cmd)
The command to use to set the terminal options.
|
protected static java.lang.String |
stty(java.lang.String args)
Execute the stty command with the specified arguments
against the current active terminal.
|
afterReadLine, beforeReadLine, getDefaultBindings, getTerminal, isANSISupported, readCharacter, resetTerminal, setupTerminalpublic static final short ARROW_START
public static final short ARROW_PREFIX
public static final short ARROW_LEFT
public static final short ARROW_RIGHT
public static final short ARROW_UP
public static final short ARROW_DOWN
public static final short O_PREFIX
public static final short HOME_CODE
public static final short END_CODE
public static final short DEL_THIRD
public static final short DEL_SECOND
protected void checkBackspace()
public void initializeTerminal()
throws java.io.IOException,
java.lang.InterruptedException
initializeTerminal in class Terminaljava.io.IOExceptionjava.lang.InterruptedExceptionpublic void restoreTerminal()
throws java.lang.Exception
java.lang.Exceptionpublic int readVirtualKey(java.io.InputStream in)
throws java.io.IOException
TerminalreadVirtualKey in class Terminalin - the InputStream to read fromConsoleOperations#VK_UP)java.io.IOExceptionpublic boolean isSupported()
TerminalisSupported in class Terminalpublic boolean getEcho()
Terminalpublic int getTerminalWidth()
getTerminalWidth in class Terminalpublic int getTerminalHeight()
getTerminalHeight in class Terminalprotected static java.lang.String stty(java.lang.String args)
throws java.io.IOException,
java.lang.InterruptedException
java.io.IOExceptionjava.lang.InterruptedExceptionpublic static void setSttyCommand(java.lang.String cmd)
public static java.lang.String getSttyCommand()
public boolean isEchoEnabled()
TerminalisEchoEnabled in class Terminalpublic void enableEcho()
TerminalenableEcho in class Terminalpublic void disableEcho()
TerminaldisableEcho in class Terminal