Documentation ¶
Overview ¶
Package tmux provides APIs to interact with the tmux(1) terminal multiplexer.
It provides a Driver interface and a ShellDriver implementation. These provides direct, low-level interaction with tmux operations.
Index ¶
- type CapturePaneRequest
- type DisplayMessageRequest
- type Driver
- type NewSessionRequest
- type PaneInfo
- type PaneMode
- type ResizePaneRequest
- type ResizeWindowRequest
- type SetOptionRequest
- type ShellDriver
- func (s *ShellDriver) CapturePane(req CapturePaneRequest) ([]byte, error)
- func (s *ShellDriver) DisplayMessage(req DisplayMessageRequest) ([]byte, error)
- func (s *ShellDriver) NewSession(req NewSessionRequest) ([]byte, error)
- func (s *ShellDriver) ResizePane(req ResizePaneRequest) error
- func (s *ShellDriver) ResizeWindow(req ResizeWindowRequest) error
- func (s *ShellDriver) SendSignal(sig string) error
- func (s *ShellDriver) SetLogger(log *log.Logger)
- func (s *ShellDriver) SetOption(req SetOptionRequest) error
- func (s *ShellDriver) ShowOptions(req ShowOptionsRequest) ([]byte, error)
- func (s *ShellDriver) SwapPane(req SwapPaneRequest) error
- func (s *ShellDriver) WaitForSignal(sig string) error
- type ShowOptionsRequest
- type SwapPaneRequest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CapturePaneRequest ¶
type CapturePaneRequest struct { // Pane to capture. Defaults to current. Pane string // Start and end positions of the captured text. Negative lines are // positions in history. StartLine, EndLine int }
CapturePaneRequest specifies the parameters for a capture-pane command.
func (CapturePaneRequest) String ¶
func (r CapturePaneRequest) String() string
type DisplayMessageRequest ¶
type DisplayMessageRequest struct { // Pane to capture. Defaults to current. Pane string // Message to display. Message string }
DisplayMessageRequest specifies the parameters for a display-message command.
func (DisplayMessageRequest) String ¶
func (r DisplayMessageRequest) String() string
type Driver ¶
type Driver interface { // NewSession runs the tmux new-session command and returns its output. NewSession(NewSessionRequest) ([]byte, error) // DisplayMessage runs the tmux display-message command and returns its // output. DisplayMessage(DisplayMessageRequest) ([]byte, error) // CapturePane runs the tmux capture-pane command and returns its // output. CapturePane(CapturePaneRequest) ([]byte, error) // SwapPane runs the tmux swap-pane command. SwapPane(SwapPaneRequest) error // ResizePane runs the tmux resize-pane command. ResizePane(ResizePaneRequest) error // ResizeWindow runs the tmux resize-window command. ResizeWindow(ResizeWindowRequest) error // WaitForSignal runs the tmux wait-for command, waiting for a // corresponding SendSignal command. WaitForSignal(string) error // SendSignal runs the tmux wait-for command, activating anyone waiting // for this signal. SendSignal(string) error // ShowOptions runs the tmux show-options command and returns its // output. ShowOptions(ShowOptionsRequest) ([]byte, error) // SetOption runs the tmux set-option command. SetOption(SetOptionRequest) error }
Driver is a low-level API to access tmux. This maps directly to tmux commands.
type NewSessionRequest ¶
type NewSessionRequest struct { // Name of the session, if any. Name string // Output format, if any. Without this, NewSession will not return any // output. Format string // Size of the new window. Width, Height int // Whether the new session should be detached from this client. Detached bool // Additional environment variables to pass to the command in the new // session. Env []string // Command to run in this new window. Must have at least one element. Command []string }
NewSessionRequest specifies the parameter for a new-session command.
func (NewSessionRequest) String ¶
func (r NewSessionRequest) String() string
type PaneInfo ¶
type PaneInfo struct { ID string WindowID string Width, Height int Mode PaneMode ScrollPosition int WindowZoomed bool // Current path of the pane, if available. CurrentPath string }
PaneInfo reports information about a tmux pane.
func InspectPane ¶
InspectPane inspects a tmux pane and reports information about it. The argument identifies the pane we want to inspect, defaulting to the current pane if none is specified.
type ResizePaneRequest ¶ added in v0.4.0
type ResizePaneRequest struct { Target string // target pane ToggleZoom bool // whether to toggle zoom }
ResizePaneRequest specifies the parameters for a resize-pane command.
func (ResizePaneRequest) String ¶ added in v0.4.0
func (r ResizePaneRequest) String() string
type ResizeWindowRequest ¶
ResizeWindowRequest specifies the parameters for a resize-window command.
func (ResizeWindowRequest) String ¶
func (r ResizeWindowRequest) String() string
type SetOptionRequest ¶ added in v0.14.0
type SetOptionRequest struct { // Name of the option to set. Name string // Value to set the option to. Value string // Whether this option should be changed globally. Global bool }
SetOptionRequest specifies the parameters for the set-option command.
type ShellDriver ¶
type ShellDriver struct { // Path to the tmux executable. Defaults to "tmux". Path string // Path to the env command. Defaults to /usr/bin/env. Env string // contains filtered or unexported fields }
ShellDriver is a Driver implementation that shells out to tmux to run commands.
func (*ShellDriver) CapturePane ¶
func (s *ShellDriver) CapturePane(req CapturePaneRequest) ([]byte, error)
CapturePane runs the capture-pane command and returns its output.
func (*ShellDriver) DisplayMessage ¶
func (s *ShellDriver) DisplayMessage(req DisplayMessageRequest) ([]byte, error)
DisplayMessage displays the given message in tmux and returns its output.
func (*ShellDriver) NewSession ¶
func (s *ShellDriver) NewSession(req NewSessionRequest) ([]byte, error)
NewSession runs the tmux new-session command.
func (*ShellDriver) ResizePane ¶ added in v0.4.0
func (s *ShellDriver) ResizePane(req ResizePaneRequest) error
ResizePane runs the resize-pane command.
func (*ShellDriver) ResizeWindow ¶
func (s *ShellDriver) ResizeWindow(req ResizeWindowRequest) error
ResizeWindow runs the resize-window command.
func (*ShellDriver) SendSignal ¶
func (s *ShellDriver) SendSignal(sig string) error
SendSignal runs the wait-for -S command.
func (*ShellDriver) SetLogger ¶ added in v0.3.0
func (s *ShellDriver) SetLogger(log *log.Logger)
SetLogger specifies the logger for the ShellDriver. By default, the ShellDriver does not log anything.
func (*ShellDriver) SetOption ¶ added in v0.14.0
func (s *ShellDriver) SetOption(req SetOptionRequest) error
SetOption runs the set-option command with the given parameters.
func (*ShellDriver) ShowOptions ¶
func (s *ShellDriver) ShowOptions(req ShowOptionsRequest) ([]byte, error)
ShowOptions runs the show-options command.
func (*ShellDriver) SwapPane ¶
func (s *ShellDriver) SwapPane(req SwapPaneRequest) error
SwapPane runs the swap-pane command.
func (*ShellDriver) WaitForSignal ¶
func (s *ShellDriver) WaitForSignal(sig string) error
WaitForSignal runs the wait-for command.
type ShowOptionsRequest ¶
type ShowOptionsRequest struct {
Global bool // show global options
}
ShowOptionsRequest specifies the parameters for a show-options command.
func (ShowOptionsRequest) String ¶
func (r ShowOptionsRequest) String() string
type SwapPaneRequest ¶
type SwapPaneRequest struct { // Source pane. Defaults to current. Source string // Destination pane to swap the source with. Destination string }
SwapPaneRequest specifies the parameters for a swap-pane command.
func (SwapPaneRequest) String ¶
func (r SwapPaneRequest) String() string
Directories ¶
Path | Synopsis |
---|---|
Package tmuxfmt constructs tmux FORMATS compatible strings.
|
Package tmuxfmt constructs tmux FORMATS compatible strings. |
Package tmuxopt provides an API for loading and parsing tmux options into Go variables.
|
Package tmuxopt provides an API for loading and parsing tmux options into Go variables. |
Package tmuxtest includes utilities to test APIs defined in the tmux package.
|
Package tmuxtest includes utilities to test APIs defined in the tmux package. |