-
- All Superinterfaces:
java.lang.AutoCloseable
,java.io.Closeable
,InputProvider
,Scrollable
,Terminal
- All Known Subinterfaces:
IOSafeExtendedTerminal
- All Known Implementing Classes:
ANSITerminal
,CygwinTerminal
,IOSafeTerminalAdapter.Extended
,TelnetTerminal
,UnixLikeTerminal
,UnixLikeTTYTerminal
,UnixTerminal
public interface ExtendedTerminal extends Terminal, Scrollable
This class extends the normal Terminal interface and adds a few more methods that are considered rare and shouldn't be encouraged to be used. Some of these may move into Terminal if it turns out that they are indeed well-supported. Most of these extensions are picked up from here: http://invisible-island.net/xterm/ctlseqs/ctlseqs.html This class is not considered stable and may change within releases. Do not depend on methods in this interface unless you are ok with occasionally having to fix broken code after minor library upgrades.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
deiconify()
De-iconifies the terminal, which likely means restoring it from minimized state with most window managersvoid
iconify()
Iconifies the terminal, this likely means minimizing the window with most window managersvoid
maximize()
Maximizes the terminal, so that it takes up all available spacevoid
popTitle()
Replaces the terminal title with the top element from the title stack managed by the terminal (the element is removed from the stack as expected)void
pushTitle()
Saves the current window title on a stack managed internally by the terminal.void
setMouseCaptureMode(MouseCaptureMode mouseCaptureMode)
Enabled or disables capturing of mouse event.void
setTerminalSize(int columns, int rows)
Attempts to resize the terminal through dtterm extensions "CSI 8 ; rows ; columns ; t".void
setTitle(java.lang.String title)
This methods sets the title of the terminal, which is normally only visible if you are running the application in a terminal emulator in a graphical environment.void
unmaximize()
Restores the terminal back to its previous size, after having been maximized-
Methods inherited from interface com.googlecode.lanterna.input.InputProvider
pollInput, readInput
-
Methods inherited from interface com.googlecode.lanterna.graphics.Scrollable
scrollLines
-
Methods inherited from interface com.googlecode.lanterna.terminal.Terminal
addResizeListener, bell, clearScreen, close, disableSGR, enableSGR, enquireTerminal, enterPrivateMode, exitPrivateMode, flush, getCursorPosition, getTerminalSize, newTextGraphics, putCharacter, putString, removeResizeListener, resetColorAndSGR, setBackgroundColor, setCursorPosition, setCursorPosition, setCursorVisible, setForegroundColor
-
-
-
-
Method Detail
-
setTerminalSize
void setTerminalSize(int columns, int rows) throws java.io.IOException
Attempts to resize the terminal through dtterm extensions "CSI 8 ; rows ; columns ; t". This isn't widely supported, which is why the method is not exposed through the common Terminal interface.- Parameters:
columns
- New size (columns)rows
- New size (rows)- Throws:
java.io.IOException
- If the was an underlying I/O error
-
setTitle
void setTitle(java.lang.String title) throws java.io.IOException
This methods sets the title of the terminal, which is normally only visible if you are running the application in a terminal emulator in a graphical environment.- Parameters:
title
- Title to set on the terminal- Throws:
java.io.IOException
- If the was an underlying I/O error
-
pushTitle
void pushTitle() throws java.io.IOException
Saves the current window title on a stack managed internally by the terminal.- Throws:
java.io.IOException
- If the was an underlying I/O error
-
popTitle
void popTitle() throws java.io.IOException
Replaces the terminal title with the top element from the title stack managed by the terminal (the element is removed from the stack as expected)- Throws:
java.io.IOException
- If the was an underlying I/O error
-
iconify
void iconify() throws java.io.IOException
Iconifies the terminal, this likely means minimizing the window with most window managers- Throws:
java.io.IOException
- If the was an underlying I/O error
-
deiconify
void deiconify() throws java.io.IOException
De-iconifies the terminal, which likely means restoring it from minimized state with most window managers- Throws:
java.io.IOException
- If the was an underlying I/O error
-
maximize
void maximize() throws java.io.IOException
Maximizes the terminal, so that it takes up all available space- Throws:
java.io.IOException
- If the was an underlying I/O error
-
unmaximize
void unmaximize() throws java.io.IOException
Restores the terminal back to its previous size, after having been maximized- Throws:
java.io.IOException
- If the was an underlying I/O error
-
setMouseCaptureMode
void setMouseCaptureMode(MouseCaptureMode mouseCaptureMode) throws java.io.IOException
Enabled or disables capturing of mouse event. This is not recommended to use as most users are not familiar with the fact that terminal emulators allow capturing mouse input. You can decide which events you want to capture but be careful since different terminal emulators will support these modes differently. Mouse capture mode will be automatically disabled when the application exits through a shutdown hook.- Parameters:
mouseCaptureMode
- Which mouse events to capture, pass innull
to disable mouse input capturing- Throws:
java.io.IOException
- If the was an underlying I/O error
-
-