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 |
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_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, INTERRUPT, 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() |
UnixTerminal(String tty) |
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 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(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(String cmd)
The command to use to set the terminal options.
|
afterReadLine, beforeReadLine, getDefaultBindings, getTerminal, isANSISupported, readCharacter, resetTerminal, setupTerminal
public 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
public UnixTerminal()
public UnixTerminal(String tty)
protected void checkBackspace()
public void initializeTerminal() throws IOException, InterruptedException
initializeTerminal
in class Terminal
IOException
InterruptedException
public void restoreTerminal() throws Exception
Exception
public int readVirtualKey(InputStream in) throws IOException
Terminal
readVirtualKey
in class Terminal
in
- the InputStream to read fromConsoleOperations#VK_UP
)IOException
public boolean isSupported()
Terminal
isSupported
in class Terminal
public boolean getEcho()
Terminal
public int getTerminalWidth()
getTerminalWidth
in class Terminal
public int getTerminalHeight()
getTerminalHeight
in class Terminal
public static void setSttyCommand(String cmd)
public static String getSttyCommand()
public boolean isEchoEnabled()
Terminal
isEchoEnabled
in class Terminal
public void enableEcho()
Terminal
enableEcho
in class Terminal
public void disableEcho()
Terminal
disableEcho
in class Terminal
Copyright © 2024. All rights reserved.