Module com.googlecode.lanterna
Package com.googlecode.lanterna.terminal
Class IOSafeTerminalAdapter.Extended
- java.lang.Object
-
- com.googlecode.lanterna.terminal.IOSafeTerminalAdapter
-
- com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.Extended
-
- All Implemented Interfaces:
Scrollable
,InputProvider
,ExtendedTerminal
,IOSafeExtendedTerminal
,IOSafeTerminal
,Terminal
,java.io.Closeable
,java.lang.AutoCloseable
- Enclosing class:
- IOSafeTerminalAdapter
public static class IOSafeTerminalAdapter.Extended extends IOSafeTerminalAdapter implements IOSafeExtendedTerminal
This class exposes methods for converting an extended terminal into an IOSafeExtendedTerminal.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.googlecode.lanterna.terminal.IOSafeTerminalAdapter
IOSafeTerminalAdapter.Extended
-
-
Field Summary
Fields Modifier and Type Field Description private ExtendedTerminal
backend
-
Fields inherited from class com.googlecode.lanterna.terminal.IOSafeTerminalAdapter
exceptionHandler
-
-
Constructor Summary
Constructors Constructor Description Extended(ExtendedTerminal backend, IOSafeTerminalAdapter.ExceptionHandler exceptionHandler)
-
Method Summary
All Methods Instance Methods Concrete 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
scrollLines(int firstLine, int lastLine, int distance)
Scroll a range of lines of this Scrollable according to given distance.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 class com.googlecode.lanterna.terminal.IOSafeTerminalAdapter
addResizeListener, bell, clearScreen, close, createDoNothingOnExceptionAdapter, createDoNothingOnExceptionAdapter, createRuntimeExceptionConvertingAdapter, createRuntimeExceptionConvertingAdapter, disableSGR, enableSGR, enquireTerminal, enterPrivateMode, exitPrivateMode, flush, getCursorPosition, getTerminalSize, newTextGraphics, pollInput, putCharacter, putString, readInput, removeResizeListener, resetColorAndSGR, setBackgroundColor, setCursorPosition, setCursorPosition, setCursorVisible, setForegroundColor
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.googlecode.lanterna.terminal.IOSafeTerminal
bell, clearScreen, close, disableSGR, enableSGR, enquireTerminal, enterPrivateMode, exitPrivateMode, flush, getCursorPosition, getTerminalSize, pollInput, putCharacter, putString, readInput, resetColorAndSGR, setBackgroundColor, setCursorPosition, setCursorPosition, setCursorVisible, setForegroundColor
-
Methods inherited from interface com.googlecode.lanterna.terminal.Terminal
addResizeListener, newTextGraphics, removeResizeListener
-
-
-
-
Field Detail
-
backend
private final ExtendedTerminal backend
-
-
Constructor Detail
-
Extended
public Extended(ExtendedTerminal backend, IOSafeTerminalAdapter.ExceptionHandler exceptionHandler)
-
-
Method Detail
-
setTerminalSize
public void setTerminalSize(int columns, int rows)
Description copied from interface:ExtendedTerminal
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.- Specified by:
setTerminalSize
in interfaceExtendedTerminal
- Specified by:
setTerminalSize
in interfaceIOSafeExtendedTerminal
- Parameters:
columns
- New size (columns)rows
- New size (rows)
-
setTitle
public void setTitle(java.lang.String title)
Description copied from interface:ExtendedTerminal
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.- Specified by:
setTitle
in interfaceExtendedTerminal
- Specified by:
setTitle
in interfaceIOSafeExtendedTerminal
- Parameters:
title
- Title to set on the terminal
-
pushTitle
public void pushTitle()
Description copied from interface:ExtendedTerminal
Saves the current window title on a stack managed internally by the terminal.- Specified by:
pushTitle
in interfaceExtendedTerminal
- Specified by:
pushTitle
in interfaceIOSafeExtendedTerminal
-
popTitle
public void popTitle()
Description copied from interface:ExtendedTerminal
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)- Specified by:
popTitle
in interfaceExtendedTerminal
- Specified by:
popTitle
in interfaceIOSafeExtendedTerminal
-
iconify
public void iconify()
Description copied from interface:ExtendedTerminal
Iconifies the terminal, this likely means minimizing the window with most window managers- Specified by:
iconify
in interfaceExtendedTerminal
- Specified by:
iconify
in interfaceIOSafeExtendedTerminal
-
deiconify
public void deiconify()
Description copied from interface:ExtendedTerminal
De-iconifies the terminal, which likely means restoring it from minimized state with most window managers- Specified by:
deiconify
in interfaceExtendedTerminal
- Specified by:
deiconify
in interfaceIOSafeExtendedTerminal
-
maximize
public void maximize()
Description copied from interface:ExtendedTerminal
Maximizes the terminal, so that it takes up all available space- Specified by:
maximize
in interfaceExtendedTerminal
- Specified by:
maximize
in interfaceIOSafeExtendedTerminal
-
unmaximize
public void unmaximize()
Description copied from interface:ExtendedTerminal
Restores the terminal back to its previous size, after having been maximized- Specified by:
unmaximize
in interfaceExtendedTerminal
- Specified by:
unmaximize
in interfaceIOSafeExtendedTerminal
-
setMouseCaptureMode
public void setMouseCaptureMode(MouseCaptureMode mouseCaptureMode)
Description copied from interface:ExtendedTerminal
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.- Specified by:
setMouseCaptureMode
in interfaceExtendedTerminal
- Specified by:
setMouseCaptureMode
in interfaceIOSafeExtendedTerminal
- Parameters:
mouseCaptureMode
- Which mouse events to capture, pass innull
to disable mouse input capturing
-
scrollLines
public void scrollLines(int firstLine, int lastLine, int distance)
Description copied from interface:Scrollable
Scroll a range of lines of this Scrollable according to given distance. If scroll-range is empty (firstLine > lastLine || distance == 0) then this method does nothing. Lines that are scrolled away from are cleared. If absolute value of distance is equal or greater than number of lines in range, then all lines within the range will be cleared.- Specified by:
scrollLines
in interfaceIOSafeExtendedTerminal
- Specified by:
scrollLines
in interfaceScrollable
- Parameters:
firstLine
- first line of the range to be scrolled (top line is 0)lastLine
- last (inclusive) line of the range to be scrolleddistance
- if > 0: move lines up, else if < 0: move lines down.
-
-