screen

package
v0.0.21 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 17, 2024 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client added in v0.0.20

type Client struct {
	IP        string
	Nick      string
	SessionID string

	CurrentScreen *Screen
	// contains filtered or unexported fields
}

func NewClient added in v0.0.20

func NewClient(conn *websocket.Conn) *Client

func (*Client) Close added in v0.0.20

func (c *Client) Close()

func (*Client) HandleInput added in v0.0.20

func (c *Client) HandleInput()

handle client input

func (*Client) Read added in v0.0.20

func (c *Client) Read(p []byte) (n int, err error)

Read reads from the stream

func (*Client) ReadFromWS added in v0.0.20

func (c *Client) ReadFromWS(p []byte) (n int, err error)

ReadFromWS reads from the websocket

func (*Client) Send added in v0.0.20

func (c *Client) Send(prefix byte, p []byte) (err error)

Send sends a message to the client using the stream

func (*Client) Write added in v0.0.20

func (c *Client) Write(p []byte) (n int, err error)

Write writes to the stream

type Manager

type Manager struct {
	Screens []*Screen
}

func NewManager

func NewManager() *Manager

func (*Manager) ChangeScreen added in v0.0.19

func (m *Manager) ChangeScreen(c *Client, s *Screen) error

change current screen

func (*Manager) DetachClientFromAllScreens added in v0.0.19

func (m *Manager) DetachClientFromAllScreens(c *Client)

detach a client from all screens

func (*Manager) GetDefaultScreen added in v0.0.19

func (m *Manager) GetDefaultScreen() *Screen

get default screen

func (*Manager) GetScreenByID

func (m *Manager) GetScreenByID(id int) (bool, *Screen)

get screen by id

func (*Manager) GetScreenByTitle

func (m *Manager) GetScreenByTitle(title string) (bool, *Screen)

get screen by Title

func (*Manager) RemoveScreen added in v0.0.19

func (m *Manager) RemoveScreen(s *Screen) error

remove a screen

type Screen

type Screen struct {
	Title string

	Clients           []*Client // Attached clients
	ClientsProperties map[*Client]*ScreenClientProperties
	Stream            *stream.Stream

	Input io.Writer // receive input (stdin) from attached clients and other sources
	// contains filtered or unexported fields
}

func New

func New(rows, columns int) *Screen

func (*Screen) AttachClient added in v0.0.20

func (s *Screen) AttachClient(c *Client, writePermission bool) error

attach a client to a screen

func (*Screen) CursorPos

func (s *Screen) CursorPos() (rows, columns int)

CursorPos() returns the cursor position

func (*Screen) DetachClient added in v0.0.20

func (s *Screen) DetachClient(c *Client) error

detach a client from a screen

func (*Screen) GetScreenAsANSI

func (s *Screen) GetScreenAsANSI() []byte

GetScreenAsANSI returns the screen as ANSI

func (*Screen) Read added in v0.0.19

func (s *Screen) Read(p []byte) (n int, err error)

func (*Screen) RemoveAttachedClient added in v0.0.20

func (s *Screen) RemoveAttachedClient(c *Client)

func (*Screen) Resize

func (s *Screen) Resize(rows, columns int)

Resize screen

func (*Screen) Send added in v0.0.20

func (s *Screen) Send(prefix byte, p []byte) (err error)

func (*Screen) Size added in v0.0.17

func (s *Screen) Size() (rows, columns int)

Get screen size

func (*Screen) Write

func (s *Screen) Write(p []byte) (n int, err error)

Writer interface

type ScreenClientProperties added in v0.0.20

type ScreenClientProperties struct {
	WritePermission bool
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL