Package org.jline.builtins
Class Tmux
- java.lang.Object
-
- org.jline.builtins.Tmux
-
public class Tmux extends java.lang.Object
Terminal multiplexer
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
Tmux.Binding
(package private) static class
Tmux.Layout
private static class
Tmux.VirtualConsole
private class
Tmux.Window
-
Field Summary
Fields Modifier and Type Field Description (package private) int
ACTIVE_COLOR
private int
activeWindow
(package private) int
CLOCK_COLOR
private java.util.concurrent.ScheduledFuture<?>
clockFuture
static java.lang.String
CMD_BIND
static java.lang.String
CMD_BIND_KEY
static java.lang.String
CMD_CLOCK_MODE
static java.lang.String
CMD_COMMANDS
static java.lang.String
CMD_DISPLAY_PANES
static java.lang.String
CMD_DISPLAYP
static java.lang.String
CMD_LIST_KEYS
static java.lang.String
CMD_LIST_WINDOWS
static java.lang.String
CMD_LSK
static java.lang.String
CMD_LSW
static java.lang.String
CMD_NEW_WINDOW
static java.lang.String
CMD_NEWW
static java.lang.String
CMD_NEXT
static java.lang.String
CMD_NEXT_WINDOW
static java.lang.String
CMD_PREV
static java.lang.String
CMD_PREVIOUS_WINDOW
static java.lang.String
CMD_RESIZE_PANE
static java.lang.String
CMD_RESIZEP
static java.lang.String
CMD_SELECT_PANE
static java.lang.String
CMD_SELECTP
static java.lang.String
CMD_SEND
static java.lang.String
CMD_SEND_KEYS
static java.lang.String
CMD_SEND_PREFIX
static java.lang.String
CMD_SET
static java.lang.String
CMD_SET_OPTION
static java.lang.String
CMD_SPLIT_WINDOW
static java.lang.String
CMD_SPLITW
static java.lang.String
CMD_UNBIND
static java.lang.String
CMD_UNBIND_KEY
private java.util.concurrent.atomic.AtomicBoolean
dirty
private Display
display
private java.io.PrintStream
err
private java.util.concurrent.ScheduledExecutorService
executor
private boolean
identify
(package private) int
INACTIVE_COLOR
private KeyMap<java.lang.Object>
keyMap
static java.lang.String
OPT_PREFIX
private java.util.concurrent.atomic.AtomicBoolean
resized
private java.util.function.Consumer<Terminal>
runner
private java.util.concurrent.atomic.AtomicBoolean
running
private java.util.Map<java.lang.String,java.lang.String>
serverOptions
private Size
size
private java.lang.String
term
private Terminal
terminal
private static int[][][]
WINDOW_CLOCK_TABLE
private java.util.List<Tmux.Window>
windows
private java.lang.Integer
windowsId
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private Tmux.VirtualConsole
active()
private int
addBorder(int c, int oldc)
protected void
bindKey(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args)
protected void
clockMode(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args)
private void
close(Tmux.VirtualConsole terminal)
protected KeyMap<java.lang.Object>
createEmptyKeyMap(java.lang.String prefix)
protected KeyMap<java.lang.Object>
createKeyMap(java.lang.String prefix)
protected void
displayPanes(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args)
private void
drawBorder(long[] screen, Size size, Tmux.VirtualConsole terminal, long attr)
private void
drawBorderChar(long[] screen, Size size, int x, int y, long attr, int c)
void
execute(java.io.PrintStream out, java.io.PrintStream err, java.lang.String command)
void
execute(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> command)
private static int
findMatch(java.lang.String layout, char c0, char c1)
private void
handleResize()
private void
inputLoop()
private void
interrupt(Terminal.Signal signal)
protected void
layoutResize()
protected void
listKeys(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args)
protected void
listWindows(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args)
protected void
newWindow(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args)
protected void
nextWindow(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args)
private java.util.List<Tmux.VirtualConsole>
panes()
protected void
previousWindow(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args)
private void
print(long[] screen, Tmux.VirtualConsole terminal, java.lang.String id, int color)
protected void
redraw()
private void
redrawLoop()
private void
resize(Terminal.Signal signal)
protected void
resizePane(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args)
void
run()
protected void
selectPane(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args)
protected void
sendKeys(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args)
protected void
sendPrefix(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args)
private void
setDirty()
protected void
setOption(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args)
protected void
splitWindow(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args)
private void
suspend(Terminal.Signal signal)
protected void
unbindKey(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args)
private Tmux.Window
window()
-
-
-
Field Detail
-
OPT_PREFIX
public static final java.lang.String OPT_PREFIX
- See Also:
- Constant Field Values
-
CMD_COMMANDS
public static final java.lang.String CMD_COMMANDS
- See Also:
- Constant Field Values
-
CMD_SEND_PREFIX
public static final java.lang.String CMD_SEND_PREFIX
- See Also:
- Constant Field Values
-
CMD_SPLIT_WINDOW
public static final java.lang.String CMD_SPLIT_WINDOW
- See Also:
- Constant Field Values
-
CMD_SPLITW
public static final java.lang.String CMD_SPLITW
- See Also:
- Constant Field Values
-
CMD_SELECT_PANE
public static final java.lang.String CMD_SELECT_PANE
- See Also:
- Constant Field Values
-
CMD_SELECTP
public static final java.lang.String CMD_SELECTP
- See Also:
- Constant Field Values
-
CMD_RESIZE_PANE
public static final java.lang.String CMD_RESIZE_PANE
- See Also:
- Constant Field Values
-
CMD_RESIZEP
public static final java.lang.String CMD_RESIZEP
- See Also:
- Constant Field Values
-
CMD_DISPLAY_PANES
public static final java.lang.String CMD_DISPLAY_PANES
- See Also:
- Constant Field Values
-
CMD_DISPLAYP
public static final java.lang.String CMD_DISPLAYP
- See Also:
- Constant Field Values
-
CMD_CLOCK_MODE
public static final java.lang.String CMD_CLOCK_MODE
- See Also:
- Constant Field Values
-
CMD_SET_OPTION
public static final java.lang.String CMD_SET_OPTION
- See Also:
- Constant Field Values
-
CMD_SET
public static final java.lang.String CMD_SET
- See Also:
- Constant Field Values
-
CMD_LIST_KEYS
public static final java.lang.String CMD_LIST_KEYS
- See Also:
- Constant Field Values
-
CMD_LSK
public static final java.lang.String CMD_LSK
- See Also:
- Constant Field Values
-
CMD_SEND_KEYS
public static final java.lang.String CMD_SEND_KEYS
- See Also:
- Constant Field Values
-
CMD_SEND
public static final java.lang.String CMD_SEND
- See Also:
- Constant Field Values
-
CMD_BIND_KEY
public static final java.lang.String CMD_BIND_KEY
- See Also:
- Constant Field Values
-
CMD_BIND
public static final java.lang.String CMD_BIND
- See Also:
- Constant Field Values
-
CMD_UNBIND_KEY
public static final java.lang.String CMD_UNBIND_KEY
- See Also:
- Constant Field Values
-
CMD_UNBIND
public static final java.lang.String CMD_UNBIND
- See Also:
- Constant Field Values
-
CMD_NEW_WINDOW
public static final java.lang.String CMD_NEW_WINDOW
- See Also:
- Constant Field Values
-
CMD_NEWW
public static final java.lang.String CMD_NEWW
- See Also:
- Constant Field Values
-
CMD_NEXT_WINDOW
public static final java.lang.String CMD_NEXT_WINDOW
- See Also:
- Constant Field Values
-
CMD_NEXT
public static final java.lang.String CMD_NEXT
- See Also:
- Constant Field Values
-
CMD_PREVIOUS_WINDOW
public static final java.lang.String CMD_PREVIOUS_WINDOW
- See Also:
- Constant Field Values
-
CMD_PREV
public static final java.lang.String CMD_PREV
- See Also:
- Constant Field Values
-
CMD_LIST_WINDOWS
public static final java.lang.String CMD_LIST_WINDOWS
- See Also:
- Constant Field Values
-
CMD_LSW
public static final java.lang.String CMD_LSW
- See Also:
- Constant Field Values
-
WINDOW_CLOCK_TABLE
private static final int[][][] WINDOW_CLOCK_TABLE
-
dirty
private final java.util.concurrent.atomic.AtomicBoolean dirty
-
resized
private final java.util.concurrent.atomic.AtomicBoolean resized
-
terminal
private final Terminal terminal
-
display
private final Display display
-
err
private final java.io.PrintStream err
-
term
private final java.lang.String term
-
runner
private final java.util.function.Consumer<Terminal> runner
-
windows
private java.util.List<Tmux.Window> windows
-
windowsId
private java.lang.Integer windowsId
-
activeWindow
private int activeWindow
-
running
private final java.util.concurrent.atomic.AtomicBoolean running
-
size
private final Size size
-
identify
private boolean identify
-
executor
private java.util.concurrent.ScheduledExecutorService executor
-
clockFuture
private java.util.concurrent.ScheduledFuture<?> clockFuture
-
serverOptions
private final java.util.Map<java.lang.String,java.lang.String> serverOptions
-
keyMap
private KeyMap<java.lang.Object> keyMap
-
ACTIVE_COLOR
int ACTIVE_COLOR
-
INACTIVE_COLOR
int INACTIVE_COLOR
-
CLOCK_COLOR
int CLOCK_COLOR
-
-
Method Detail
-
createKeyMap
protected KeyMap<java.lang.Object> createKeyMap(java.lang.String prefix)
-
createEmptyKeyMap
protected KeyMap<java.lang.Object> createEmptyKeyMap(java.lang.String prefix)
-
run
public void run() throws java.io.IOException
- Throws:
java.io.IOException
-
active
private Tmux.VirtualConsole active()
-
panes
private java.util.List<Tmux.VirtualConsole> panes()
-
window
private Tmux.Window window()
-
redrawLoop
private void redrawLoop()
-
setDirty
private void setDirty()
-
inputLoop
private void inputLoop()
-
close
private void close(Tmux.VirtualConsole terminal)
-
resize
private void resize(Terminal.Signal signal)
-
interrupt
private void interrupt(Terminal.Signal signal)
-
suspend
private void suspend(Terminal.Signal signal)
-
handleResize
private void handleResize()
-
execute
public void execute(java.io.PrintStream out, java.io.PrintStream err, java.lang.String command) throws java.lang.Exception
- Throws:
java.lang.Exception
-
execute
public void execute(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> command) throws java.lang.Exception
- Throws:
java.lang.Exception
-
listWindows
protected void listWindows(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args) throws java.lang.Exception
- Throws:
java.lang.Exception
-
previousWindow
protected void previousWindow(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args) throws java.lang.Exception
- Throws:
java.lang.Exception
-
nextWindow
protected void nextWindow(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args) throws java.lang.Exception
- Throws:
java.lang.Exception
-
newWindow
protected void newWindow(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args) throws java.lang.Exception
- Throws:
java.lang.Exception
-
setOption
protected void setOption(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args) throws java.lang.Exception
- Throws:
java.lang.Exception
-
bindKey
protected void bindKey(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args) throws java.lang.Exception
- Throws:
java.lang.Exception
-
unbindKey
protected void unbindKey(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args) throws java.lang.Exception
- Throws:
java.lang.Exception
-
listKeys
protected void listKeys(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args) throws java.lang.Exception
- Throws:
java.lang.Exception
-
sendKeys
protected void sendKeys(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args) throws java.lang.Exception
- Throws:
java.lang.Exception
-
clockMode
protected void clockMode(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args) throws java.lang.Exception
- Throws:
java.lang.Exception
-
displayPanes
protected void displayPanes(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args) throws java.lang.Exception
- Throws:
java.lang.Exception
-
resizePane
protected void resizePane(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args) throws java.lang.Exception
- Throws:
java.lang.Exception
-
selectPane
protected void selectPane(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args) throws java.lang.Exception
- Throws:
java.lang.Exception
-
sendPrefix
protected void sendPrefix(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args) throws java.lang.Exception
- Throws:
java.lang.Exception
-
splitWindow
protected void splitWindow(java.io.PrintStream out, java.io.PrintStream err, java.util.List<java.lang.String> args) throws java.lang.Exception
- Throws:
java.lang.Exception
-
layoutResize
protected void layoutResize()
-
redraw
protected void redraw()
-
print
private void print(long[] screen, Tmux.VirtualConsole terminal, java.lang.String id, int color)
-
drawBorder
private void drawBorder(long[] screen, Size size, Tmux.VirtualConsole terminal, long attr)
-
drawBorderChar
private void drawBorderChar(long[] screen, Size size, int x, int y, long attr, int c)
-
addBorder
private int addBorder(int c, int oldc)
-
findMatch
private static int findMatch(java.lang.String layout, char c0, char c1)
-
-