## jline
Class UnixTerminal

    java.lang.Object
      jline.Terminal
          jline.UnixTerminal

All Implemented Interfaces:
  ConsoleOperations

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.

Author:
  Marc Prud'hommeaux

Field Summary
`static short` `ARROW_DOWN`
`static short` `ARROW_LEFT`
`static short` `ARROW_PREFIX`
`static short` `ARROW_RIGHT`
`static short` `ARROW_START`
`static short` `ARROW_UP`

Fields inherited from interface jline.ConsoleOperations

`ADD, BACKSPACE, CHANGE_CASE, CHANGE_META, CLEAR_SCREEN, COMPLETE, CR, CTRL_B, CTRL_F, CTRL_N, CTRL_P, DELETE_META, DELETE_NEXT_CHAR, DELETE_PREV_CHAR, DELETE_PREV_WORD, 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, SUBSTITUTE_CHAR, SUBSTITUTE_LINE, TO_END_WORD, TO_NEXT_CHAR, TO_PREV_CHAR, UNDO, UNKNOWN`

Constructor Summary
`UnixTerminal()`

Method Summary
`boolean` `getEcho()` Returns true if the terminal will echo all characters type.
`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` `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.

Methods inherited from class jline.Terminal
`getTerminal, isANSISupported, readCharacter, setupTerminal`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### ARROW_START

    public static final short ARROW_START

See Also:
  Constant Field Values

### ARROW_PREFIX

    public static final short ARROW_PREFIX

See Also:
  Constant Field Values

### ARROW_LEFT

    public static final short ARROW_LEFT

See Also:
  Constant Field Values

### ARROW_RIGHT

    public static final short ARROW_RIGHT

See Also:
  Constant Field Values

### ARROW_UP

    public static final short ARROW_UP

See Also:
  Constant Field Values

### ARROW_DOWN

    public static final short ARROW_DOWN

See Also:
  Constant Field Values

Constructor Detail

### UnixTerminal

    public UnixTerminal()

Method Detail

### initializeTerminal

    public void initializeTerminal()
                            throws IOException,
                                   InterruptedException

  Remove line-buffered input by invoking "stty -icanon min 1" against the current terminal.

  Specified by:
    `initializeTerminal` in class `Terminal`
  Throws:
    `IOException`
    `InterruptedException`

### readVirtualKey

    public int readVirtualKey(InputStream in)
                       throws IOException

  Description copied from class: `Terminal`
  Reads a virtual key from the console. Typically, this will just be the raw character that was entered, but in some cases, multiple input keys will need to be translated into a single virtual key.

  Overrides:
    `readVirtualKey` in class `Terminal`
  Parameters:
    `in` - the InputStream to read from
  Returns:
    the virtual key (e.g., `ConsoleOperations#VK_UP`)
  Throws:
    `IOException`

### isSupported

    public boolean isSupported()

  Description copied from class: `Terminal`
  Returns true if this terminal is capable of initializing the terminal to use jline.

  Specified by:
    `isSupported` in class `Terminal`

### getEcho

    public boolean getEcho()

  Description copied from class: `Terminal`
  Returns true if the terminal will echo all characters type.

  Specified by:
    `getEcho` in class `Terminal`

### getTerminalWidth

    public int getTerminalWidth()

  Returns the value of "stty size" width param. Note: this method caches the value from the first time it is called in order to increase speed, which means that changing to size of the terminal will not be reflected in the console.

  Specified by:
    `getTerminalWidth` in class `Terminal`

### getTerminalHeight

    public int getTerminalHeight()

  Returns the value of "stty size" height param. Note: this method caches the value from the first time it is called in order to increase speed, which means that changing to size of the terminal will not be reflected in the console.

  Specified by:
    `getTerminalHeight` in class `Terminal`

Released under the terms of the BSD license