package tcell
Import Path
github.com/gdamore/tcell/v2 (on go.dev)
Dependency Relation
imports 27 packages, and imported by 5 packages
Involved Source Files
attr.go
cell.go
charset_unix.go
color.go
colorfit.go
console_stub.go
Package tcell provides a lower-level, portable API for building
programs that interact with terminals or consoles. It works with
both common (and many uncommon!) terminals or terminal emulators,
and Windows console implementations.
It provides support for up to 256 colors, text attributes, and box drawing
elements. A database of terminals built from a real terminfo database
is provided, along with code to generate new database entries.
Tcell offers very rich support for mice, dependent upon the terminal
of course. (Windows, XTerm, and iTerm 2 are known to work very well.)
If the environment is not Unicode by default, such as an ISO8859 based
locale or GB18030, Tcell can convert input and output, so that your
terminal can operate in whatever locale is most convenient, while the
application program can just assume "everything is UTF-8". Reasonable
defaults are used for updating characters to something suitable for
display. Unicode box drawing characters will be converted to use the
alternate character set of your terminal, if native conversions are
not available. If no ACS is available, then some ASCII fallbacks will
be used.
Note that support for non-UTF-8 locales (other than C) must be enabled
by the application using RegisterEncoding() -- we don't have them all
enabled by default to avoid bloating the application unnecessarily.
(These days UTF-8 is good enough for almost everyone, and nobody should
be using legacy locales anymore.) Also, actual glyphs for various code
point will only be displayed if your terminal or emulator (or the font
the emulator is using) supports them.
A rich set of key codes is supported, with support for up to 65 function
keys, and various other special keys.
encoding.go
errors.go
event.go
focus.go
interrupt.go
key.go
mouse.go
nonblock_unix.go
paste.go
resize.go
runes.go
screen.go
simulation.go
stdin_unix.go
style.go
terms_default.go
terms_dynamic.go
tscreen.go
tscreen_unix.go
tty.go
tty_unix.go
Package-Level Type Names (total 27)
AttrMask represents a mask of text attributes, apart from color.
Note that support for attributes may vary widely across terminals.
func Style.Decompose() (fg Color, bg Color, attr AttrMask)
func Style.Attributes(attrs AttrMask) Style
func github.com/pancsta/cview.SetAttributes(style Style, attrs AttrMask) Style
func github.com/pancsta/cview.(*Box).SetBorderAttributes(attr AttrMask)
func github.com/pancsta/cview.(*List).SetSelectedTextAttributes(attr AttrMask)
func github.com/pancsta/cview.(*Table).SetSelectedStyle(foregroundColor, backgroundColor Color, attributes AttrMask)
func github.com/pancsta/cview.(*TableCell).SetAttributes(attr AttrMask)
const AttrBlink
const AttrBold
const AttrDim
const AttrInvalid
const AttrItalic
const AttrNone
const AttrReverse
const AttrStrikeThrough
const AttrUnderline
ButtonMask is a mask of mouse buttons and wheel events. Mouse button presses
are normally delivered as both press and release events. Mouse wheel events
are normally just single impulse events. Windows supports up to eight
separate buttons plus all four wheel directions, but XTerm can only support
mouse buttons 1-3 and wheel up/down. Its not unheard of for terminals
to support only one or two buttons (think Macs). Old terminals, and true
emulations (such as vt100) won't support mice at all, of course.
func (*EventMouse).Buttons() ButtonMask
func NewEventMouse(x, y int, btn ButtonMask, mod ModMask) *EventMouse
func SimulationScreen.InjectMouse(x, y int, buttons ButtonMask, mod ModMask)
const Button1
const Button2
const Button3
const Button4
const Button5
const Button6
const Button7
const Button8
const ButtonMiddle
const ButtonNone
const ButtonPrimary
const ButtonSecondary
const WheelDown
const WheelLeft
const WheelRight
const WheelUp
CellBuffer represents a two-dimensional array of character cells.
This is primarily intended for use by Screen implementors; it
contains much of the common code they need. To create one, just
declare a variable of its type; no explicit initialization is necessary.
CellBuffer is not thread safe.
Dirty checks if a character at the given location needs to be
refreshed on the physical display. This returns true if the cell
content is different since the last time it was marked clean.
Fill fills the entire cell buffer array with the specified character
and style. Normally choose ' ' to clear the screen. This API doesn't
support combining characters, or characters with a width larger than one.
If either the foreground or background are ColorNone, then the respective
color is unchanged.
GetContent returns the contents of a character cell, including the
primary rune, any combining character runes (which will usually be
nil), the style, and the display width in cells. (The width can be
either 1, normally, or 2 for East Asian full-width characters.)
Invalidate marks all characters within the buffer as dirty.
LockCell locks a cell from being drawn, effectively marking it "clean" until
the lock is removed. This can be used to prevent tcell from drawing a given
cell, even if the underlying content has changed. For example, when drawing a
sixel graphic directly to a TTY screen an implementer must lock the region
underneath the graphic to prevent tcell from drawing on top of the graphic.
Resize is used to resize the cells array, with different dimensions,
while preserving the original contents. The cells will be invalidated
so that they can be redrawn.
SetContent sets the contents (primary rune, combining runes,
and style) for a cell at a given location. If the background or
foreground of the style is set to ColorNone, then the respective
color is left un changed.
SetDirty is normally used to indicate that a cell has
been displayed (in which case dirty is false), or to manually
force a cell to be marked dirty.
Size returns the (width, height) in cells of the buffer.
UnlockCell removes a lock from the cell and marks it as dirty
Color represents a color. The low numeric values are the same as used
by ECMA-48, and beyond that XTerm. A 24-bit RGB value may be used by
adding in the ColorIsRGB flag. For Color names we use the W3C approved
color names.
We use a 64-bit integer to allow future expansion if we want to add an
8-bit alpha, while still leaving us some room for extra options.
Note that on various terminals colors may be approximated however, or
not supported at all. If no suitable representation for a color is known,
the library will simply not set any color, deferring to whatever default
attributes the terminal uses.
CSS returns the CSS hex string ( #ABCDEF ) if valid
if not a valid color returns empty string
Hex returns the color's hexadecimal RGB 24-bit value with each component
consisting of a single byte, R << 16 | G << 8 | B. If the color
is unknown or unset, -1 is returned.
IsRGB is true if the color is an RGB specific value.
Name returns W3C name or an empty string if no arguments
if passed true as an argument it will falls back to
the CSS hex string if no W3C name found '#ABCDEF'
RGB returns the red, green, and blue components of the color, with
each component represented as a value 0-255. In the event that the
color cannot be broken up (not set usually), -1 is returned for each value.
String implements fmt.Stringer to return either the
W3C name if it has one or the CSS hex string '#ABCDEF'
TrueColor returns the true color (RGB) version of the provided color.
This is useful for ensuring color accuracy when using named colors.
This will override terminal theme colors.
Valid indicates the color is a valid value (has been set).
Color : expvar.Var
Color : fmt.Stringer
func FindColor(c Color, palette []Color) Color
func FromImageColor(imageColor ic.Color) Color
func GetColor(name string) Color
func NewHexColor(v int32) Color
func NewRGBColor(r, g, b int32) Color
func PaletteColor(index int) Color
func Color.TrueColor() Color
func Style.Decompose() (fg Color, bg Color, attr AttrMask)
func Style.Decompose() (fg Color, bg Color, attr AttrMask)
func Style.GetUnderlineColor() Color
func github.com/pancsta/cview.(*Box).GetBackgroundColor() Color
func github.com/pancsta/cview.(*TreeNode).GetColor() Color
func FindColor(c Color, palette []Color) Color
func FindColor(c Color, palette []Color) Color
func Screen.SetCursorStyle(CursorStyle, ...Color)
func SimulationScreen.SetCursorStyle(CursorStyle, ...Color)
func Style.Background(c Color) Style
func Style.Foreground(c Color) Style
func github.com/pancsta/cview.ColorHex(c Color) string
func github.com/pancsta/cview.Print(screen Screen, text []byte, x, y, maxWidth, align int, color Color) (int, int)
func github.com/pancsta/cview.PrintJoinedSemigraphics(screen Screen, x, y int, ch rune, color Color)
func github.com/pancsta/cview.RenderScrollBar(screen Screen, visibility cview.ScrollBarVisibility, x int, y int, height int, items int, cursor int, printed int, focused bool, color Color)
func github.com/pancsta/cview.(*Box).SetBackgroundColor(color Color)
func github.com/pancsta/cview.(*Box).SetBorderColor(color Color)
func github.com/pancsta/cview.(*Box).SetBorderColorFocused(color Color)
func github.com/pancsta/cview.(*Box).SetTitleColor(color Color)
func github.com/pancsta/cview.(*Button).SetBackgroundColorFocused(color Color)
func github.com/pancsta/cview.(*Button).SetLabelColor(color Color)
func github.com/pancsta/cview.(*Button).SetLabelColorFocused(color Color)
func github.com/pancsta/cview.(*CheckBox).SetFieldBackgroundColor(color Color)
func github.com/pancsta/cview.(*CheckBox).SetFieldBackgroundColorFocused(color Color)
func github.com/pancsta/cview.(*CheckBox).SetFieldTextColor(color Color)
func github.com/pancsta/cview.(*CheckBox).SetFieldTextColorFocused(color Color)
func github.com/pancsta/cview.(*CheckBox).SetLabelColor(color Color)
func github.com/pancsta/cview.(*CheckBox).SetLabelColorFocused(color Color)
func github.com/pancsta/cview.(*DropDown).SetDropDownBackgroundColor(color Color)
func github.com/pancsta/cview.(*DropDown).SetDropDownSelectedBackgroundColor(color Color)
func github.com/pancsta/cview.(*DropDown).SetDropDownSelectedTextColor(color Color)
func github.com/pancsta/cview.(*DropDown).SetDropDownTextColor(color Color)
func github.com/pancsta/cview.(*DropDown).SetFieldBackgroundColor(color Color)
func github.com/pancsta/cview.(*DropDown).SetFieldBackgroundColorFocused(color Color)
func github.com/pancsta/cview.(*DropDown).SetFieldTextColor(color Color)
func github.com/pancsta/cview.(*DropDown).SetFieldTextColorFocused(color Color)
func github.com/pancsta/cview.(*DropDown).SetLabelColor(color Color)
func github.com/pancsta/cview.(*DropDown).SetLabelColorFocused(color Color)
func github.com/pancsta/cview.(*DropDown).SetPrefixTextColor(color Color)
func github.com/pancsta/cview.(*Form).SetButtonBackgroundColor(color Color)
func github.com/pancsta/cview.(*Form).SetButtonBackgroundColorFocused(color Color)
func github.com/pancsta/cview.(*Form).SetButtonTextColor(color Color)
func github.com/pancsta/cview.(*Form).SetButtonTextColorFocused(color Color)
func github.com/pancsta/cview.(*Form).SetFieldBackgroundColor(color Color)
func github.com/pancsta/cview.(*Form).SetFieldBackgroundColorFocused(color Color)
func github.com/pancsta/cview.(*Form).SetFieldTextColor(color Color)
func github.com/pancsta/cview.(*Form).SetFieldTextColorFocused(color Color)
func github.com/pancsta/cview.(*Form).SetLabelColor(color Color)
func github.com/pancsta/cview.(*Form).SetLabelColorFocused(color Color)
func github.com/pancsta/cview.FormItem.SetBackgroundColor(Color)
func github.com/pancsta/cview.FormItem.SetFieldBackgroundColor(Color)
func github.com/pancsta/cview.FormItem.SetFieldBackgroundColorFocused(Color)
func github.com/pancsta/cview.FormItem.SetFieldTextColor(Color)
func github.com/pancsta/cview.FormItem.SetFieldTextColorFocused(Color)
func github.com/pancsta/cview.FormItem.SetLabelColor(Color)
func github.com/pancsta/cview.FormItem.SetLabelColorFocused(Color)
func github.com/pancsta/cview.(*Frame).AddText(text string, header bool, align int, color Color)
func github.com/pancsta/cview.(*Grid).SetBordersColor(color Color)
func github.com/pancsta/cview.(*InputField).SetAutocompleteListBackgroundColor(color Color)
func github.com/pancsta/cview.(*InputField).SetAutocompleteListSelectedBackgroundColor(color Color)
func github.com/pancsta/cview.(*InputField).SetAutocompleteListSelectedTextColor(color Color)
func github.com/pancsta/cview.(*InputField).SetAutocompleteListTextColor(color Color)
func github.com/pancsta/cview.(*InputField).SetAutocompleteSuggestionTextColor(color Color)
func github.com/pancsta/cview.(*InputField).SetFieldBackgroundColor(color Color)
func github.com/pancsta/cview.(*InputField).SetFieldBackgroundColorFocused(color Color)
func github.com/pancsta/cview.(*InputField).SetFieldNoteTextColor(color Color)
func github.com/pancsta/cview.(*InputField).SetFieldTextColor(color Color)
func github.com/pancsta/cview.(*InputField).SetFieldTextColorFocused(color Color)
func github.com/pancsta/cview.(*InputField).SetLabelColor(color Color)
func github.com/pancsta/cview.(*InputField).SetLabelColorFocused(color Color)
func github.com/pancsta/cview.(*InputField).SetPlaceholderTextColor(color Color)
func github.com/pancsta/cview.(*InputField).SetPlaceholderTextColorFocused(color Color)
func github.com/pancsta/cview.(*List).SetMainTextColor(color Color)
func github.com/pancsta/cview.(*List).SetScrollBarColor(color Color)
func github.com/pancsta/cview.(*List).SetSecondaryTextColor(color Color)
func github.com/pancsta/cview.(*List).SetSelectedBackgroundColor(color Color)
func github.com/pancsta/cview.(*List).SetSelectedTextColor(color Color)
func github.com/pancsta/cview.(*List).SetShortcutColor(color Color)
func github.com/pancsta/cview.(*Modal).SetBackgroundColor(color Color)
func github.com/pancsta/cview.(*Modal).SetButtonBackgroundColor(color Color)
func github.com/pancsta/cview.(*Modal).SetButtonTextColor(color Color)
func github.com/pancsta/cview.(*Modal).SetTextColor(color Color)
func github.com/pancsta/cview.(*ProgressBar).SetEmptyColor(empty Color)
func github.com/pancsta/cview.(*ProgressBar).SetFilledColor(filled Color)
func github.com/pancsta/cview.(*ScrollView).SetScrollBarColor(color Color)
func github.com/pancsta/cview.(*Slider).SetFieldBackgroundColor(color Color)
func github.com/pancsta/cview.(*Slider).SetFieldBackgroundColorFocused(color Color)
func github.com/pancsta/cview.(*Slider).SetFieldTextColor(color Color)
func github.com/pancsta/cview.(*Slider).SetFieldTextColorFocused(color Color)
func github.com/pancsta/cview.(*Slider).SetLabelColor(color Color)
func github.com/pancsta/cview.(*Slider).SetLabelColorFocused(color Color)
func github.com/pancsta/cview.(*TabbedPanels).SetTabBackgroundColor(color Color)
func github.com/pancsta/cview.(*TabbedPanels).SetTabBackgroundColorFocused(color Color)
func github.com/pancsta/cview.(*TabbedPanels).SetTabTextColor(color Color)
func github.com/pancsta/cview.(*TabbedPanels).SetTabTextColorFocused(color Color)
func github.com/pancsta/cview.(*Table).SetBordersColor(color Color)
func github.com/pancsta/cview.(*Table).SetScrollBarColor(color Color)
func github.com/pancsta/cview.(*Table).SetSelectedStyle(foregroundColor, backgroundColor Color, attributes AttrMask)
func github.com/pancsta/cview.(*TableCell).SetBackgroundColor(color Color)
func github.com/pancsta/cview.(*TableCell).SetTextColor(color Color)
func github.com/pancsta/cview.(*TextView).SetHighlightBackgroundColor(color Color)
func github.com/pancsta/cview.(*TextView).SetHighlightForegroundColor(color Color)
func github.com/pancsta/cview.(*TextView).SetScrollBarColor(color Color)
func github.com/pancsta/cview.(*TextView).SetTextColor(color Color)
func github.com/pancsta/cview.(*TreeNode).SetColor(color Color)
func github.com/pancsta/cview.(*TreeView).SetGraphicsColor(color Color)
func github.com/pancsta/cview.(*TreeView).SetHighlightColor(color Color)
func github.com/pancsta/cview.(*TreeView).SetScrollBarColor(color Color)
func github.com/pancsta/cview.(*TreeView).SetSelectedBackgroundColor(color Color)
func github.com/pancsta/cview.(*TreeView).SetSelectedTextColor(color Color)
const Color100
const Color101
const Color102
const Color103
const Color104
const Color105
const Color106
const Color107
const Color108
const Color109
const Color110
const Color111
const Color112
const Color113
const Color114
const Color115
const Color116
const Color117
const Color118
const Color119
const Color120
const Color121
const Color122
const Color123
const Color124
const Color125
const Color126
const Color127
const Color128
const Color129
const Color130
const Color131
const Color132
const Color133
const Color134
const Color135
const Color136
const Color137
const Color138
const Color139
const Color140
const Color141
const Color142
const Color143
const Color144
const Color145
const Color146
const Color147
const Color148
const Color149
const Color150
const Color151
const Color152
const Color153
const Color154
const Color155
const Color156
const Color157
const Color158
const Color159
const Color16
const Color160
const Color161
const Color162
const Color163
const Color164
const Color165
const Color166
const Color167
const Color168
const Color169
const Color17
const Color170
const Color171
const Color172
const Color173
const Color174
const Color175
const Color176
const Color177
const Color178
const Color179
const Color18
const Color180
const Color181
const Color182
const Color183
const Color184
const Color185
const Color186
const Color187
const Color188
const Color189
const Color19
const Color190
const Color191
const Color192
const Color193
const Color194
const Color195
const Color196
const Color197
const Color198
const Color199
const Color20
const Color200
const Color201
const Color202
const Color203
const Color204
const Color205
const Color206
const Color207
const Color208
const Color209
const Color21
const Color210
const Color211
const Color212
const Color213
const Color214
const Color215
const Color216
const Color217
const Color218
const Color219
const Color22
const Color220
const Color221
const Color222
const Color223
const Color224
const Color225
const Color226
const Color227
const Color228
const Color229
const Color23
const Color230
const Color231
const Color232
const Color233
const Color234
const Color235
const Color236
const Color237
const Color238
const Color239
const Color24
const Color240
const Color241
const Color242
const Color243
const Color244
const Color245
const Color246
const Color247
const Color248
const Color249
const Color25
const Color250
const Color251
const Color252
const Color253
const Color254
const Color255
const Color26
const Color27
const Color28
const Color29
const Color30
const Color31
const Color32
const Color33
const Color34
const Color35
const Color36
const Color37
const Color38
const Color39
const Color40
const Color41
const Color42
const Color43
const Color44
const Color45
const Color46
const Color47
const Color48
const Color49
const Color50
const Color51
const Color52
const Color53
const Color54
const Color55
const Color56
const Color57
const Color58
const Color59
const Color60
const Color61
const Color62
const Color63
const Color64
const Color65
const Color66
const Color67
const Color68
const Color69
const Color70
const Color71
const Color72
const Color73
const Color74
const Color75
const Color76
const Color77
const Color78
const Color79
const Color80
const Color81
const Color82
const Color83
const Color84
const Color85
const Color86
const Color87
const Color88
const Color89
const Color90
const Color91
const Color92
const Color93
const Color94
const Color95
const Color96
const Color97
const Color98
const Color99
const ColorAliceBlue
const ColorAntiqueWhite
const ColorAqua
const ColorAquaMarine
const ColorAzure
const ColorBeige
const ColorBisque
const ColorBlack
const ColorBlanchedAlmond
const ColorBlue
const ColorBlueViolet
const ColorBrown
const ColorBurlyWood
const ColorCadetBlue
const ColorChartreuse
const ColorChocolate
const ColorCoral
const ColorCornflowerBlue
const ColorCornsilk
const ColorCrimson
const ColorDarkBlue
const ColorDarkCyan
const ColorDarkGoldenrod
const ColorDarkGray
const ColorDarkGreen
const ColorDarkGrey
const ColorDarkKhaki
const ColorDarkMagenta
const ColorDarkOliveGreen
const ColorDarkOrange
const ColorDarkOrchid
const ColorDarkRed
const ColorDarkSalmon
const ColorDarkSeaGreen
const ColorDarkSlateBlue
const ColorDarkSlateGray
const ColorDarkSlateGrey
const ColorDarkTurquoise
const ColorDarkViolet
const ColorDeepPink
const ColorDeepSkyBlue
const ColorDefault
const ColorDimGray
const ColorDimGrey
const ColorDodgerBlue
const ColorFireBrick
const ColorFloralWhite
const ColorForestGreen
const ColorFuchsia
const ColorGainsboro
const ColorGhostWhite
const ColorGold
const ColorGoldenrod
const ColorGray
const ColorGreen
const ColorGreenYellow
const ColorGrey
const ColorHoneydew
const ColorHotPink
const ColorIndianRed
const ColorIndigo
const ColorIsRGB
const ColorIvory
const ColorKhaki
const ColorLavender
const ColorLavenderBlush
const ColorLawnGreen
const ColorLemonChiffon
const ColorLightBlue
const ColorLightCoral
const ColorLightCyan
const ColorLightGoldenrodYellow
const ColorLightGray
const ColorLightGreen
const ColorLightGrey
const ColorLightPink
const ColorLightSalmon
const ColorLightSeaGreen
const ColorLightSkyBlue
const ColorLightSlateGray
const ColorLightSlateGrey
const ColorLightSteelBlue
const ColorLightYellow
const ColorLime
const ColorLimeGreen
const ColorLinen
const ColorMaroon
const ColorMediumAquamarine
const ColorMediumBlue
const ColorMediumOrchid
const ColorMediumPurple
const ColorMediumSeaGreen
const ColorMediumSlateBlue
const ColorMediumSpringGreen
const ColorMediumTurquoise
const ColorMediumVioletRed
const ColorMidnightBlue
const ColorMintCream
const ColorMistyRose
const ColorMoccasin
const ColorNavajoWhite
const ColorNavy
const ColorNone
const ColorOldLace
const ColorOlive
const ColorOliveDrab
const ColorOrange
const ColorOrangeRed
const ColorOrchid
const ColorPaleGoldenrod
const ColorPaleGreen
const ColorPaleTurquoise
const ColorPaleVioletRed
const ColorPapayaWhip
const ColorPeachPuff
const ColorPeru
const ColorPink
const ColorPlum
const ColorPowderBlue
const ColorPurple
const ColorRebeccaPurple
const ColorRed
const ColorReset
const ColorRosyBrown
const ColorRoyalBlue
const ColorSaddleBrown
const ColorSalmon
const ColorSandyBrown
const ColorSeaGreen
const ColorSeashell
const ColorSienna
const ColorSilver
const ColorSkyblue
const ColorSlateBlue
const ColorSlateGray
const ColorSlateGrey
const ColorSnow
const ColorSpecial
const ColorSpringGreen
const ColorSteelBlue
const ColorTan
const ColorTeal
const ColorThistle
const ColorTomato
const ColorTurquoise
const ColorValid
const ColorViolet
const ColorWheat
const ColorWhite
const ColorWhiteSmoke
const ColorYellow
const ColorYellowGreen
var github.com/pancsta/cview.ColorUnset
CursorStyle represents a given cursor style, which can include the shape and
whether the cursor blinks or is solid. Support for changing this is not universal.
func Screen.SetCursorStyle(CursorStyle, ...Color)
func SimulationScreen.SetCursorStyle(CursorStyle, ...Color)
const CursorStyleBlinkingBar
const CursorStyleBlinkingBlock
const CursorStyleBlinkingUnderline
const CursorStyleDefault
const CursorStyleSteadyBar
const CursorStyleSteadyBlock
const CursorStyleSteadyUnderline
EncodingFallback describes how the system behaves when the locale
requires a character set that we do not support. The system always
supports UTF-8 and US-ASCII. On Windows consoles, UTF-16LE is also
supported automatically. Other character sets must be added using the
RegisterEncoding API. (A large group of nearly all of them can be
added using the RegisterAll function in the encoding sub package.)
func SetEncodingFallback(fb EncodingFallback)
Event is a generic interface used for passing around Events.
Concrete types follow.
When reports the time when the event was generated.
*EventClipboard
*EventError
EventFocus
*EventInterrupt
*EventKey
*EventMouse
*EventPaste
*EventResize
*EventTime
func Screen.PollEvent() Event
func SimulationScreen.PollEvent() Event
func EventHandler.HandleEvent(Event) bool
func Screen.ChannelEvents(ch chan<- Event, quit <-chan struct{})
func Screen.PostEvent(ev Event) error
func Screen.PostEventWait(ev Event)
func SimulationScreen.ChannelEvents(ch chan<- Event, quit <-chan struct{})
func SimulationScreen.PostEvent(ev Event) error
func SimulationScreen.PostEventWait(ev Event)
func github.com/pancsta/cview.(*Application).QueueEvent(event Event)
EventClipboard represents data from the clipboard,
in response to a GetClipboard request.
Data returns the attached binary data.
When returns the time when this event was created.
*EventClipboard : Event
func NewEventClipboard(data []byte) *EventClipboard
An EventError is an event representing some sort of error, and carries
an error payload.
Error implements the error.
When returns the time when the event was created.
*EventError : Event
*EventError : error
func NewEventError(err error) *EventError
EventFocus is a focus event. It is sent when the terminal window (or tab)
gets or loses focus.
EventTime *EventTime
True if the window received focus, false if it lost focus
SetEventNow sets the time of occurrence for the event to the current time.
SetEventTime sets the time of occurrence for the event.
When returns the time stamp when the event occurred.
EventFocus : Event
func NewEventFocus(focused bool) *EventFocus
EventHandler is anything that handles events. If the handler has
consumed the event, it should return true. False otherwise.
( EventHandler) HandleEvent(Event) bool
EventInterrupt is a generic wakeup event. Its can be used to
to request a redraw. It can carry an arbitrary payload, as well.
Data is used to obtain the opaque event payload.
When returns the time when this event was created.
*EventInterrupt : Event
func NewEventInterrupt(data interface{}) *EventInterrupt
EventKey represents a key press. Usually this is a key press followed
by a key release, but since terminal programs don't have a way to report
key release events, we usually get just one event. If a key is held down
then the terminal may synthesize repeated key presses at some predefined
rate. We have no control over that, nor visibility into it.
In some cases, we can have a modifier key, such as ModAlt, that can be
generated with a key press. (This usually is represented by having the
high bit set, or in some cases, by sending an ESC prior to the rune.)
If the value of Key() is KeyRune, then the actual key value will be
available with the Rune() method. This will be the case for most keys.
In most situations, the modifiers will not be set. For example, if the
rune is 'A', this will be reported without the ModShift bit set, since
really can't tell if the Shift key was pressed (it might have been CAPSLOCK,
or a terminal that only can send capitals, or keyboard with separate
capital letters from lower case letters).
Generally, terminal applications have far less visibility into keyboard
activity than graphical applications. Hence, they should avoid depending
overly much on availability of modifiers, or the availability of any
specific keys.
Key returns a virtual key code. We use this to identify specific key
codes, such as KeyEnter, etc. Most control and function keys are reported
with unique Key values. Normal alphanumeric and punctuation keys will
generally return KeyRune here; the specific key can be further decoded
using the Rune() function.
Modifiers returns the modifiers that were present with the key press. Note
that not all platforms and terminals support this equally well, and some
cases we will not not know for sure. Hence, applications should avoid
using this in most circumstances.
Name returns a printable value or the key stroke. This can be used
when printing the event, for example.
Rune returns the rune corresponding to the key press, if it makes sense.
The result is only defined if the value of Key() is KeyRune.
When returns the time when this Event was created, which should closely
match the time when the key was pressed.
*EventKey : Event
*EventKey : github.com/polarsignals/frostdb/query/logicalplan.Named
func NewEventKey(k Key, ch rune, mod ModMask) *EventKey
func code.rocketnine.space/tslocum/cbind.(*Configuration).Capture(ev *EventKey) *EventKey
func github.com/pancsta/cview.HitShortcut(event *EventKey, keybindings ...[]string) bool
func code.rocketnine.space/tslocum/cbind.(*Configuration).Capture(ev *EventKey) *EventKey
EventMouse is a mouse event. It is sent on either mouse up or mouse down
events. It is also sent on mouse motion events - if the terminal supports
it. We make every effort to ensure that mouse release events are delivered.
Hence, click drag can be identified by a motion event with the mouse down,
without any intervening button release. On some terminals only the initiating
press and terminating release event will be delivered.
Mouse wheel events, when reported, may appear on their own as individual
impulses; that is, there will normally not be a release event delivered
for mouse wheel movements.
Most terminals cannot report the state of more than one button at a time --
and some cannot report motion events unless a button is pressed.
Applications can inspect the time between events to resolve double or
triple clicks.
Buttons returns the list of buttons that were pressed or wheel motions.
Modifiers returns a list of keyboard modifiers that were pressed
with the mouse button(s).
Position returns the mouse position in character cells. The origin
0, 0 is at the upper left corner.
When returns the time when this EventMouse was created.
*EventMouse : Event
func NewEventMouse(x, y int, btn ButtonMask, mod ModMask) *EventMouse
EventPaste is used to mark the start and end of a bracketed paste.
An event with .Start() true will be sent to mark the start of a bracketed paste,
followed by a number of keys (string data) for the content, ending with the
an event with .End() true.
End returns true if this is the end of a paste.
Start returns true if this is the start of a paste.
When returns the time when this EventPaste was created.
*EventPaste : Event
func NewEventPaste(start bool) *EventPaste
EventResize is sent when the window size changes.
PixelSize returns the new window size as width, height in pixels. The size
will be 0,0 if the screen doesn't support this feature
Size returns the new window size as width, height in character cells.
When returns the time when the Event was created.
*EventResize : Event
func NewEventResize(width, height int) *EventResize
EventTime is a simple base event class, suitable for easy reuse.
It can be used to deliver actual timer events as well.
SetEventNow sets the time of occurrence for the event to the current time.
SetEventTime sets the time of occurrence for the event.
When returns the time stamp when the event occurred.
*EventTime : Event
Key is a generic value for representing keys, and especially special
keys (function keys, cursor movement keys, etc.) For normal keys, like
ASCII letters, we use KeyRune, and then expect the application to
inspect the Rune() member of the EventKey.
func (*EventKey).Key() Key
func code.rocketnine.space/tslocum/cbind.Decode(s string) (mod ModMask, key Key, ch rune, err error)
func NewEventKey(k Key, ch rune, mod ModMask) *EventKey
func Screen.HasKey(Key) bool
func SimulationScreen.HasKey(Key) bool
func SimulationScreen.InjectKey(key Key, r rune, mod ModMask)
func code.rocketnine.space/tslocum/cbind.Encode(mod ModMask, key Key, ch rune) (string, error)
func code.rocketnine.space/tslocum/cbind.(*Configuration).SetKey(mod ModMask, key Key, handler func(ev *EventKey) *EventKey)
const KeyACK
const KeyBackspace
const KeyBackspace2
const KeyBacktab
const KeyBEL
const KeyBS
const KeyCAN
const KeyCancel
const KeyCenter
const KeyClear
const KeyCR
const KeyCtrlA
const KeyCtrlB
const KeyCtrlBackslash
const KeyCtrlC
const KeyCtrlCarat
const KeyCtrlD
const KeyCtrlE
const KeyCtrlF
const KeyCtrlG
const KeyCtrlH
const KeyCtrlI
const KeyCtrlJ
const KeyCtrlK
const KeyCtrlL
const KeyCtrlLeftSq
const KeyCtrlM
const KeyCtrlN
const KeyCtrlO
const KeyCtrlP
const KeyCtrlQ
const KeyCtrlR
const KeyCtrlRightSq
const KeyCtrlS
const KeyCtrlSpace
const KeyCtrlT
const KeyCtrlU
const KeyCtrlUnderscore
const KeyCtrlV
const KeyCtrlW
const KeyCtrlX
const KeyCtrlY
const KeyCtrlZ
const KeyDC1
const KeyDC2
const KeyDC3
const KeyDC4
const KeyDEL
const KeyDelete
const KeyDLE
const KeyDown
const KeyDownLeft
const KeyDownRight
const KeyEM
const KeyEnd
const KeyENQ
const KeyEnter
const KeyEOT
const KeyESC
const KeyEsc
const KeyEscape
const KeyETB
const KeyETX
const KeyExit
const KeyF1
const KeyF10
const KeyF11
const KeyF12
const KeyF13
const KeyF14
const KeyF15
const KeyF16
const KeyF17
const KeyF18
const KeyF19
const KeyF2
const KeyF20
const KeyF21
const KeyF22
const KeyF23
const KeyF24
const KeyF25
const KeyF26
const KeyF27
const KeyF28
const KeyF29
const KeyF3
const KeyF30
const KeyF31
const KeyF32
const KeyF33
const KeyF34
const KeyF35
const KeyF36
const KeyF37
const KeyF38
const KeyF39
const KeyF4
const KeyF40
const KeyF41
const KeyF42
const KeyF43
const KeyF44
const KeyF45
const KeyF46
const KeyF47
const KeyF48
const KeyF49
const KeyF5
const KeyF50
const KeyF51
const KeyF52
const KeyF53
const KeyF54
const KeyF55
const KeyF56
const KeyF57
const KeyF58
const KeyF59
const KeyF6
const KeyF60
const KeyF61
const KeyF62
const KeyF63
const KeyF64
const KeyF7
const KeyF8
const KeyF9
const KeyFF
const KeyFS
const KeyGS
const KeyHelp
const KeyHome
const KeyInsert
const KeyLeft
const KeyLF
const KeyNAK
const KeyNUL
const KeyPause
const KeyPgDn
const KeyPgUp
const KeyPrint
const KeyRight
const KeyRS
const KeyRune
const KeySI
const KeySO
const KeySOH
const KeySTX
const KeySUB
const KeySYN
const KeyTab
const KeyTAB
const KeyUp
const KeyUpLeft
const KeyUpRight
const KeyUS
const KeyVT
ModMask is a mask of modifier keys. Note that it will not always be
possible to report modifier keys.
func (*EventKey).Modifiers() ModMask
func (*EventMouse).Modifiers() ModMask
func code.rocketnine.space/tslocum/cbind.Decode(s string) (mod ModMask, key Key, ch rune, err error)
func NewEventKey(k Key, ch rune, mod ModMask) *EventKey
func NewEventMouse(x, y int, btn ButtonMask, mod ModMask) *EventMouse
func SimulationScreen.InjectKey(key Key, r rune, mod ModMask)
func SimulationScreen.InjectMouse(x, y int, buttons ButtonMask, mod ModMask)
func code.rocketnine.space/tslocum/cbind.Encode(mod ModMask, key Key, ch rune) (string, error)
func code.rocketnine.space/tslocum/cbind.(*Configuration).SetKey(mod ModMask, key Key, handler func(ev *EventKey) *EventKey)
func code.rocketnine.space/tslocum/cbind.(*Configuration).SetRune(mod ModMask, ch rune, handler func(ev *EventKey) *EventKey)
const ModAlt
const ModCtrl
const ModMeta
const ModNone
const ModShift
MouseFlags are options to modify the handling of mouse events.
Actual events can be ORed together.
func Screen.EnableMouse(...MouseFlags)
func SimulationScreen.EnableMouse(...MouseFlags)
const MouseButtonEvents
const MouseDragEvents
const MouseMotionEvents
Screen represents the physical (or emulated) screen.
This can be a terminal window or a physical console. Platforms implement
this differently.
Beep attempts to sound an OS-dependent audible alert and returns an error
when unsuccessful.
CanDisplay returns true if the given rune can be displayed on
this screen. Note that this is a best-guess effort -- whether
your fonts support the character or not may be questionable.
Mostly this is for folks who work outside of Unicode.
If checkFallbacks is true, then if any (possibly imperfect)
fallbacks are registered, this will return true. This will
also return true if the terminal can replace the glyph with
one that is visually indistinguishable from the one requested.
ChannelEvents is an infinite loop that waits for an event and
channels it into the user provided channel ch. Closing the
quit channel and calling the Fini method are cancellation
signals. When a cancellation signal is received the method
returns after closing ch.
This method should be used as a goroutine.
NOTE: PollEvent should not be called while this method is running.
CharacterSet returns information about the character set.
This isn't the full locale, but it does give us the input/output
character set. Note that this is just for diagnostic purposes,
we normally translate input/output to/from UTF-8, regardless of
what the user's environment is.
Clear logically erases the screen.
This is effectively a short-cut for Fill(' ', StyleDefault).
Colors returns the number of colors. All colors are assumed to
use the ANSI color map. If a terminal is monochrome, it will
return 0.
DisableFocus disables reporting of focus events.
DisableMouse disables the mouse.
DisablePaste disables bracketed paste mode.
EnableFocus enables reporting of focus events, if your terminal supports it.
EnableMouse enables the mouse. (If your terminal supports it.)
If no flags are specified, then all events are reported, if the
terminal supports them.
EnablePaste enables bracketed paste mode, if supported.
Fill fills the screen with the given character and style.
The effect of filling the screen is not visible until Show
is called (or Sync).
Fini finalizes the screen also releasing resources.
GetClipboard is used to request the clipboard contents. It may be ignored.
If the terminal is willing, it will be post the clipboard contents using an
EventPaste with the clipboard content as the Data() field. Terminals may
prevent this for security reasons.
GetContent returns the contents at the given location. If the
coordinates are out of range, then the values will be 0, nil,
StyleDefault. Note that the contents returned are logical contents
and may not actually be what is displayed, but rather are what will
be displayed if Show() or Sync() is called. The width is the width
in screen cells; most often this will be 1, but some East Asian
characters and emoji require two cells.
HasKey returns true if the keyboard is believed to have the
key. In some cases a keyboard may have keys with this name
but no support for them, while in others a key may be reported
as supported but not actually be usable (such as some emulators
that hijack certain keys). Its best not to depend to strictly
on this function, but it can be used for hinting when building
menus, displayed hot-keys, etc. Note that KeyRune (literal
runes) is always true.
HasMouse returns true if the terminal (apparently) supports a
mouse. Note that the return value of true doesn't guarantee that
a mouse/pointing device is present; a false return definitely
indicates no mouse support is available.
HasPendingEvent returns true if PollEvent would return an event
without blocking. If the screen is stopped and PollEvent would
return nil, then the return value from this function is unspecified.
The purpose of this function is to allow multiple events to be collected
at once, to minimize screen redraws.
HideCursor is used to hide the cursor. It's an alias for
ShowCursor(-1, -1).sim
Init initializes the screen for use.
LockRegion sets or unsets a lock on a region of cells. A lock on a
cell prevents the cell from being redrawn.
PollEvent waits for events to arrive. Main application loops
must spin on this to prevent the application from stalling.
Furthermore, this will return nil if the Screen is finalized.
PostEvent tries to post an event into the event stream. This
can fail if the event queue is full. In that case, the event
is dropped, and ErrEventQFull is returned.
Deprecated: PostEventWait is unsafe, and will be removed
in the future.
PostEventWait is like PostEvent, but if the queue is full, it
blocks until there is space in the queue, making delivery
reliable. However, it is VERY important that this function
never be called from within whatever event loop is polling
with PollEvent(), otherwise a deadlock may arise.
For this reason, when using this function, the use of a
Goroutine is recommended to ensure no deadlock can occur.
RegisterRuneFallback adds a fallback for runes that are not
part of the character set -- for example one could register
o as a fallback for ø. This should be done cautiously for
characters that might be displayed ordinarily in language
specific text -- characters that could change the meaning of
written text would be dangerous. The intention here is to
facilitate fallback characters in pseudo-graphical applications.
If the terminal has fallbacks already in place via an alternate
character set, those are used in preference. Also, standard
fallbacks for graphical characters in the alternate character set
terminfo string are registered implicitly.
The display string should be the same width as original rune.
This makes it possible to register two character replacements
for full width East Asian characters, for example.
It is recommended that replacement strings consist only of
7-bit ASCII, since other characters may not display everywhere.
Resize does nothing, since it's generally not possible to
ask a screen to resize, but it allows the Screen to implement
the View interface.
Resume resumes after Suspend().
SetCell is an older API, and will be removed. Please use
SetContent instead; SetCell is implemented in terms of SetContent.
SetClipboard is used to post arbitrary data to the system clipboard.
This need not be UTF-8 string data. It's up to the recipient to decode the
data meaningfully. Terminals may prevent this for security reasons.
SetContent sets the contents of the given cell location. If
the coordinates are out of range, then the operation is ignored.
The first rune is the primary non-zero width rune. The array
that follows is a possible list of combining characters to append,
and will usually be nil (no combining characters.)
The results are not displayed until Show() or Sync() is called.
Note that wide (East Asian full width and emoji) runes occupy two cells,
and attempts to place character at next cell to the right will have
undefined effects. Wide runes that are printed in the
last column will be replaced with a single width space on output.
SetCursorStyle is used to set the cursor style. If the style
is not supported (or cursor styles are not supported at all),
then this will have no effect. Color will be changed if supplied,
and the terminal supports doing so.
SetSize attempts to resize the window. It also invalidates the cells and
calls the resize function. Note that if the window size is changed, it will
not be restored upon application exit.
Many terminals cannot support this. Perversely, the "modern" Windows Terminal
does not support application-initiated resizing, whereas the legacy terminal does.
Also, some emulators can support this but may have it disabled by default.
SetStyle sets the default style to use when clearing the screen
or when StyleDefault is specified. If it is also StyleDefault,
then whatever system/terminal default is relevant will be used.
SetTitle sets a window title on the screen.
Terminals may be configured to ignore this, or unable to.
Tcell may attempt to save and restore the window title on entry and exit, but
the results may vary. Use of unicode characters may not be supported.
Show makes all the content changes made using SetContent() visible
on the display.
It does so in the most efficient and least visually disruptive
manner possible.
ShowCursor is used to display the cursor at a given location.
If the coordinates -1, -1 are given or are otherwise outside the
dimensions of the screen, the cursor will be hidden.
Size returns the screen size as width, height. This changes in
response to a call to Clear or Flush.
Suspend pauses input and output processing. It also restores the
terminal settings to what they were when the application started.
This can be used to, for example, run a sub-shell.
Sync works like Show(), but it updates every visible cell on the
physical display, assuming that it is not synchronized with any
internal model. This may be both expensive and visually jarring,
so it should only be used when believed to actually be necessary.
Typically, this is called as a result of a user-requested redraw
(e.g. to clear up on-screen corruption caused by some other program),
or during a resize event.
Tty returns the underlying Tty. If the screen is not a terminal, the
returned bool will be false
UnregisterRuneFallback unmaps a replacement. It will unmap
the implicit ASCII replacements for alternate characters as well.
When an unmapped char needs to be displayed, but no suitable
glyph is available, '?' is emitted instead. It is not possible
to "disable" the use of alternate characters that are supported
by your terminal except by changing the terminal database.
SimulationScreen (interface)
func NewConsoleScreen() (Screen, error)
func NewScreen() (Screen, error)
func NewTerminfoScreen() (Screen, error)
func NewTerminfoScreenFromTty(tty Tty) (Screen, error)
func NewTerminfoScreenFromTtyTerminfo(tty Tty, ti *terminfo.Terminfo) (s Screen, e error)
func github.com/pancsta/asyncmachine-go/tools/cmd/am-dbg-ssh.NewSessionScreen(s ssh.Session) (Screen, error)
func github.com/pancsta/cview.(*Application).GetScreen() Screen
func github.com/pancsta/cview.Print(screen Screen, text []byte, x, y, maxWidth, align int, color Color) (int, int)
func github.com/pancsta/cview.PrintJoinedSemigraphics(screen Screen, x, y int, ch rune, color Color)
func github.com/pancsta/cview.PrintSimple(screen Screen, text []byte, x, y int)
func github.com/pancsta/cview.PrintStyle(screen Screen, text []byte, x, y, maxWidth, align int, style Style) (int, int)
func github.com/pancsta/cview.RenderScrollBar(screen Screen, visibility cview.ScrollBarVisibility, x int, y int, height int, items int, cursor int, printed int, focused bool, color Color)
func github.com/pancsta/cview.(*Application).SetScreen(screen Screen)
func github.com/pancsta/cview.(*Box).Draw(screen Screen)
func github.com/pancsta/cview.(*Button).Draw(screen Screen)
func github.com/pancsta/cview.(*CheckBox).Draw(screen Screen)
func github.com/pancsta/cview.(*DropDown).Draw(screen Screen)
func github.com/pancsta/cview.(*Flex).Draw(screen Screen)
func github.com/pancsta/cview.(*Form).Draw(screen Screen)
func github.com/pancsta/cview.FormItem.Draw(screen Screen)
func github.com/pancsta/cview.(*Frame).Draw(screen Screen)
func github.com/pancsta/cview.(*Grid).Draw(screen Screen)
func github.com/pancsta/cview.(*InputField).Draw(screen Screen)
func github.com/pancsta/cview.(*List).Draw(screen Screen)
func github.com/pancsta/cview.(*Modal).Draw(screen Screen)
func github.com/pancsta/cview.(*Panels).Draw(screen Screen)
func github.com/pancsta/cview.Primitive.Draw(screen Screen)
func github.com/pancsta/cview.(*ProgressBar).Draw(screen Screen)
func github.com/pancsta/cview.(*ScrollView).Draw(screen Screen)
func github.com/pancsta/cview.(*Slider).Draw(screen Screen)
func github.com/pancsta/cview.(*TabbedPanels).Draw(screen Screen)
func github.com/pancsta/cview.(*Table).Draw(screen Screen)
func github.com/pancsta/cview.(*TextView).Draw(screen Screen)
func github.com/pancsta/cview.(*TreeView).Draw(screen Screen)
func github.com/pancsta/cview.(*Window).Draw(screen Screen)
func github.com/pancsta/cview.(*WindowManager).Draw(screen Screen)
SimCell represents a simulated screen cell. The purpose of this
is to track on screen content.
Bytes is the actual character bytes. Normally this is
rune data, but it could be be data in another encoding system.
Runes is the list of runes, unadulterated, in UTF-8.
Style is the style used to display the data.
func SimulationScreen.GetContents() (cells []SimCell, width int, height int)
SimulationScreen represents a screen simulation. This is intended to
be a superset of normal Screens, but also adds some important interfaces
for testing.
Beep attempts to sound an OS-dependent audible alert and returns an error
when unsuccessful.
CanDisplay returns true if the given rune can be displayed on
this screen. Note that this is a best-guess effort -- whether
your fonts support the character or not may be questionable.
Mostly this is for folks who work outside of Unicode.
If checkFallbacks is true, then if any (possibly imperfect)
fallbacks are registered, this will return true. This will
also return true if the terminal can replace the glyph with
one that is visually indistinguishable from the one requested.
ChannelEvents is an infinite loop that waits for an event and
channels it into the user provided channel ch. Closing the
quit channel and calling the Fini method are cancellation
signals. When a cancellation signal is received the method
returns after closing ch.
This method should be used as a goroutine.
NOTE: PollEvent should not be called while this method is running.
CharacterSet returns information about the character set.
This isn't the full locale, but it does give us the input/output
character set. Note that this is just for diagnostic purposes,
we normally translate input/output to/from UTF-8, regardless of
what the user's environment is.
Clear logically erases the screen.
This is effectively a short-cut for Fill(' ', StyleDefault).
Colors returns the number of colors. All colors are assumed to
use the ANSI color map. If a terminal is monochrome, it will
return 0.
DisableFocus disables reporting of focus events.
DisableMouse disables the mouse.
DisablePaste disables bracketed paste mode.
EnableFocus enables reporting of focus events, if your terminal supports it.
EnableMouse enables the mouse. (If your terminal supports it.)
If no flags are specified, then all events are reported, if the
terminal supports them.
EnablePaste enables bracketed paste mode, if supported.
Fill fills the screen with the given character and style.
The effect of filling the screen is not visible until Show
is called (or Sync).
Fini finalizes the screen also releasing resources.
GetClipboard is used to request the clipboard contents. It may be ignored.
If the terminal is willing, it will be post the clipboard contents using an
EventPaste with the clipboard content as the Data() field. Terminals may
prevent this for security reasons.
GetClipboardData gets the actual data for the clipboard.
GetContent returns the contents at the given location. If the
coordinates are out of range, then the values will be 0, nil,
StyleDefault. Note that the contents returned are logical contents
and may not actually be what is displayed, but rather are what will
be displayed if Show() or Sync() is called. The width is the width
in screen cells; most often this will be 1, but some East Asian
characters and emoji require two cells.
GetContents returns screen contents as an array of
cells, along with the physical width & height. Note that the
physical contents will be used until the next time SetSize()
is called.
GetCursor returns the cursor details.
GetTitle gets the previously set title.
HasKey returns true if the keyboard is believed to have the
key. In some cases a keyboard may have keys with this name
but no support for them, while in others a key may be reported
as supported but not actually be usable (such as some emulators
that hijack certain keys). Its best not to depend to strictly
on this function, but it can be used for hinting when building
menus, displayed hot-keys, etc. Note that KeyRune (literal
runes) is always true.
HasMouse returns true if the terminal (apparently) supports a
mouse. Note that the return value of true doesn't guarantee that
a mouse/pointing device is present; a false return definitely
indicates no mouse support is available.
HasPendingEvent returns true if PollEvent would return an event
without blocking. If the screen is stopped and PollEvent would
return nil, then the return value from this function is unspecified.
The purpose of this function is to allow multiple events to be collected
at once, to minimize screen redraws.
HideCursor is used to hide the cursor. It's an alias for
ShowCursor(-1, -1).sim
Init initializes the screen for use.
InjectKey injects a key event. The rune is a UTF-8 rune, post
any translation.
InjectKeyBytes injects a stream of bytes corresponding to
the native encoding (see charset). It turns true if the entire
set of bytes were processed and delivered as KeyEvents, false
if any bytes were not fully understood. Any bytes that are not
fully converted are discarded.
InjectMouse injects a mouse event.
LockRegion sets or unsets a lock on a region of cells. A lock on a
cell prevents the cell from being redrawn.
PollEvent waits for events to arrive. Main application loops
must spin on this to prevent the application from stalling.
Furthermore, this will return nil if the Screen is finalized.
PostEvent tries to post an event into the event stream. This
can fail if the event queue is full. In that case, the event
is dropped, and ErrEventQFull is returned.
Deprecated: PostEventWait is unsafe, and will be removed
in the future.
PostEventWait is like PostEvent, but if the queue is full, it
blocks until there is space in the queue, making delivery
reliable. However, it is VERY important that this function
never be called from within whatever event loop is polling
with PollEvent(), otherwise a deadlock may arise.
For this reason, when using this function, the use of a
Goroutine is recommended to ensure no deadlock can occur.
RegisterRuneFallback adds a fallback for runes that are not
part of the character set -- for example one could register
o as a fallback for ø. This should be done cautiously for
characters that might be displayed ordinarily in language
specific text -- characters that could change the meaning of
written text would be dangerous. The intention here is to
facilitate fallback characters in pseudo-graphical applications.
If the terminal has fallbacks already in place via an alternate
character set, those are used in preference. Also, standard
fallbacks for graphical characters in the alternate character set
terminfo string are registered implicitly.
The display string should be the same width as original rune.
This makes it possible to register two character replacements
for full width East Asian characters, for example.
It is recommended that replacement strings consist only of
7-bit ASCII, since other characters may not display everywhere.
Resize does nothing, since it's generally not possible to
ask a screen to resize, but it allows the Screen to implement
the View interface.
Resume resumes after Suspend().
SetCell is an older API, and will be removed. Please use
SetContent instead; SetCell is implemented in terms of SetContent.
SetClipboard is used to post arbitrary data to the system clipboard.
This need not be UTF-8 string data. It's up to the recipient to decode the
data meaningfully. Terminals may prevent this for security reasons.
SetContent sets the contents of the given cell location. If
the coordinates are out of range, then the operation is ignored.
The first rune is the primary non-zero width rune. The array
that follows is a possible list of combining characters to append,
and will usually be nil (no combining characters.)
The results are not displayed until Show() or Sync() is called.
Note that wide (East Asian full width and emoji) runes occupy two cells,
and attempts to place character at next cell to the right will have
undefined effects. Wide runes that are printed in the
last column will be replaced with a single width space on output.
SetCursorStyle is used to set the cursor style. If the style
is not supported (or cursor styles are not supported at all),
then this will have no effect. Color will be changed if supplied,
and the terminal supports doing so.
SetSize attempts to resize the window. It also invalidates the cells and
calls the resize function. Note that if the window size is changed, it will
not be restored upon application exit.
Many terminals cannot support this. Perversely, the "modern" Windows Terminal
does not support application-initiated resizing, whereas the legacy terminal does.
Also, some emulators can support this but may have it disabled by default.
SetStyle sets the default style to use when clearing the screen
or when StyleDefault is specified. If it is also StyleDefault,
then whatever system/terminal default is relevant will be used.
SetTitle sets a window title on the screen.
Terminals may be configured to ignore this, or unable to.
Tcell may attempt to save and restore the window title on entry and exit, but
the results may vary. Use of unicode characters may not be supported.
Show makes all the content changes made using SetContent() visible
on the display.
It does so in the most efficient and least visually disruptive
manner possible.
ShowCursor is used to display the cursor at a given location.
If the coordinates -1, -1 are given or are otherwise outside the
dimensions of the screen, the cursor will be hidden.
Size returns the screen size as width, height. This changes in
response to a call to Clear or Flush.
Suspend pauses input and output processing. It also restores the
terminal settings to what they were when the application started.
This can be used to, for example, run a sub-shell.
Sync works like Show(), but it updates every visible cell on the
physical display, assuming that it is not synchronized with any
internal model. This may be both expensive and visually jarring,
so it should only be used when believed to actually be necessary.
Typically, this is called as a result of a user-requested redraw
(e.g. to clear up on-screen corruption caused by some other program),
or during a resize event.
Tty returns the underlying Tty. If the screen is not a terminal, the
returned bool will be false
UnregisterRuneFallback unmaps a replacement. It will unmap
the implicit ASCII replacements for alternate characters as well.
When an unmapped char needs to be displayed, but no suitable
glyph is available, '?' is emitted instead. It is not possible
to "disable" the use of alternate characters that are supported
by your terminal except by changing the terminal database.
SimulationScreen : Screen
func NewSimulationScreen(charset string) SimulationScreen
Style represents a complete text style, including both foreground color,
background color, and additional attributes such as "bold" or "underline".
Note that not all terminals can display all colors or attributes, and
many might have specific incompatibilities between specific attributes
and color combinations.
To use Style, just declare a variable of its type.
Attributes returns a new style based on s, with its attributes set as
specified.
Background returns a new style based on s, with the background color set
as requested. ColorDefault can be used to select the global default.
Blink returns a new style based on s, with the blink attribute set
as requested.
Bold returns a new style based on s, with the bold attribute set
as requested.
Decompose breaks a style up, returning the foreground, background,
and other attributes. The URL if set is not included.
Deprecated: Applications should not attempt to decompose style,
as this content is not sufficient to describe the actual style.
Dim returns a new style based on s, with the dim attribute set
as requested.
Foreground returns a new style based on s, with the foreground color set
as requested. ColorDefault can be used to select the global default.
GetUnderlineColor returns the underline color for the style.
GetUnderlineStyle returns the underline style for the style.
Italic returns a new style based on s, with the italic attribute set
as requested.
Normal returns the style with all attributes disabled.
Reverse returns a new style based on s, with the reverse attribute set
as requested. (Reverse usually changes the foreground and background
colors.)
StrikeThrough sets strikethrough mode.
Underline returns a new style based on s, with the underline attribute set
as requested. The parameters can be:
bool: on / off - enables just a simple underline
UnderlineStyle: sets a specific style (should not coexist with the bool)
Color: the color to use
Url returns a style with the Url set. If the provided Url is not empty,
and the terminal supports it, text will typically be marked up as a clickable
link to that Url. If the Url is empty, then this mode is turned off.
UrlId returns a style with the UrlId set. If the provided UrlId is not empty,
any marked up Url with this style will be given the UrlId also. If the
terminal supports it, any text with the same UrlId will be grouped as if it
were one Url, even if it spans multiple lines.
func (*CellBuffer).GetContent(x, y int) (rune, []rune, Style, int)
func Screen.GetContent(x, y int) (primary rune, combining []rune, style Style, width int)
func SimulationScreen.GetContent(x, y int) (primary rune, combining []rune, style Style, width int)
func Style.Attributes(attrs AttrMask) Style
func Style.Background(c Color) Style
func Style.Blink(on bool) Style
func Style.Bold(on bool) Style
func Style.Dim(on bool) Style
func Style.Foreground(c Color) Style
func Style.Italic(on bool) Style
func Style.Normal() Style
func Style.Reverse(on bool) Style
func Style.StrikeThrough(on bool) Style
func Style.Underline(params ...interface{}) Style
func Style.Url(url string) Style
func Style.UrlId(id string) Style
func github.com/pancsta/cview.SetAttributes(style Style, attrs AttrMask) Style
func (*CellBuffer).Fill(r rune, style Style)
func (*CellBuffer).SetContent(x int, y int, mainc rune, combc []rune, style Style)
func Screen.Fill(rune, Style)
func Screen.SetCell(x int, y int, style Style, ch ...rune)
func Screen.SetContent(x int, y int, primary rune, combining []rune, style Style)
func Screen.SetStyle(style Style)
func SimulationScreen.Fill(rune, Style)
func SimulationScreen.SetCell(x int, y int, style Style, ch ...rune)
func SimulationScreen.SetContent(x int, y int, primary rune, combining []rune, style Style)
func SimulationScreen.SetStyle(style Style)
func github.com/pancsta/cview.PrintStyle(screen Screen, text []byte, x, y, maxWidth, align int, style Style) (int, int)
func github.com/pancsta/cview.SetAttributes(style Style, attrs AttrMask) Style
func github.com/pancsta/cview.(*TableCell).SetStyle(style Style)
var StyleDefault
Tty is an abstraction of a tty (traditionally "teletype"). This allows applications to
provide for alternate backends, as there are situations where the traditional /dev/tty
does not work, or where more flexible handling is required. This interface is for use
with the terminfo-style based API. It extends the io.ReadWriter API. It is reasonable
that the implementation might choose to use different underlying files for the Reader
and Writer sides of this API, as part of it's internal implementation.
( Tty) Close() error
Drain is called before Stop, and ensures that the reader will wake up appropriately
if it was blocked. This workaround is required for /dev/tty on certain UNIX systems
to ensure that Read() does not block forever. This typically arranges for the tty driver
to send data immediately (e.g. VMIN and VTIME both set zero) and sets a deadline on input.
Implementations may reasonably make this a no-op. There will still be control sequences
emitted between the time this is called, and when Stop is called.
NotifyResize is used register a callback when the tty thinks the dimensions have
changed. The standard UNIX implementation links this to a handler for SIGWINCH.
If the supplied callback is nil, then any handler should be unregistered.
( Tty) Read(p []byte) (n int, err error)
Start is used to activate the Tty for use. Upon return the terminal should be
in raw mode, non-blocking, etc. The implementation should take care of saving
any state that is required so that it may be restored when Stop is called.
Stop is used to stop using this Tty instance. This may be a suspend, so that other
terminal based applications can run in the foreground. Implementations should
restore any state collected at Start(), and return to ordinary blocking mode, etc.
Drain is called first to drain the input. Once this is called, no more Read
or Write calls will be made until Start is called again.
WindowSize is called to determine the terminal dimensions. This might be determined
by an ioctl or other means.
( Tty) Write([]byte) (int, error)
Tty : github.com/miekg/dns.Writer
Tty : github.com/pion/stun.Connection
Tty : github.com/pion/stun/v3.Connection
Tty : github.com/prometheus/common/expfmt.Closer
Tty : internal/bisect.Writer
Tty : io.Closer
Tty : io.ReadCloser
Tty : io.Reader
Tty : io.ReadWriteCloser
Tty : io.ReadWriter
Tty : io.WriteCloser
Tty : io.Writer
func NewDevTty() (Tty, error)
func NewDevTtyFromDev(dev string) (Tty, error)
func NewStdIoTty() (Tty, error)
func Screen.Tty() (Tty, bool)
func SimulationScreen.Tty() (Tty, bool)
func NewTerminfoScreenFromTty(tty Tty) (Screen, error)
func NewTerminfoScreenFromTtyTerminfo(tty Tty, ti *terminfo.Terminfo) (s Screen, e error)
Underline style. Modern terminals have the option of rendering the
underline using different styles, and even different colors.
func Style.GetUnderlineStyle() UnderlineStyle
const UnderlineStyleCurly
const UnderlineStyleDashed
const UnderlineStyleDotted
const UnderlineStyleDouble
const UnderlineStyleNone
const UnderlineStyleSolid
Height int
PixelHeight int
PixelWidth int
Width int
CellDimensions returns the dimensions of a single cell, in pixels
func Tty.WindowSize() (WindowSize, error)
Package-Level Functions (total 27)
FindColor attempts to find a given color, or the best match possible for it,
from the palette given. This is an expensive operation, so results should
be cached by the caller.
FromImageColor converts an image/color.Color into tcell.Color.
The alpha value is dropped, so it should be tracked separately if it is
needed.
GetColor creates a Color from a color name (W3C name). A hex value may
be supplied as a string in the format "#ffffff".
GetEncoding is used by Screen implementors who want to locate an encoding
for the given character set name. Note that this will return nil for
either the Unicode (UTF-8) or ASCII encodings, since we don't use
encodings for them but instead have our own native methods.
LookupTerminfo attempts to find a definition for the named $TERM falling
back to attempting to parse the output from infocmp.
NewConsoleScreen returns a console based screen. This platform
doesn't have support for any, so it returns nil and a suitable error.
NewDevTty opens a /dev/tty based Tty.
NewDevTtyFromDev opens a tty device given a path. This can be useful to bind to other nodes.
NewEventClipboard returns a new NewEventClipboard with a data payload
NewEventError creates an ErrorEvent with the given error payload.
func NewEventFocus(focused bool) *EventFocus
NewEventInterrupt creates an EventInterrupt with the given payload.
NewEventKey attempts to create a suitable event. It parses the various
ASCII control sequences if KeyRune is passed for Key, but if the caller
has more precise information it should set that specifically. Callers
that aren't sure about modifier state (most) should just pass ModNone.
NewEventMouse is used to create a new mouse event. Applications
shouldn't need to use this; its mostly for screen implementors.
NewEventPaste returns a new EventPaste.
NewEventResize creates an EventResize with the new updated window size,
which is given in character cells.
NewHexColor returns a color using the given 24-bit RGB value.
NewRGBColor returns a new color with the given red, green, and blue values.
Each value must be represented in the range 0-255.
NewScreen returns a default Screen suitable for the user's terminal
environment.
NewSimulationScreen returns a SimulationScreen. Note that
SimulationScreen is also a Screen.
NewStdioTty opens a tty using standard input/output.
NewTerminfoScreen returns a Screen that uses the stock TTY interface
and POSIX terminal control, combined with a terminfo description taken from
the $TERM environment variable. It returns an error if the terminal
is not supported for any reason.
For terminals that do not support dynamic resize events, the $LINES
$COLUMNS environment variables can be set to the actual window size,
otherwise defaults taken from the terminal database are used.
NewTerminfoScreenFromTty returns a Screen using a custom Tty implementation.
If the passed in tty is nil, then a reasonable default (typically /dev/tty)
is presumed, at least on UNIX hosts. (Windows hosts will typically fail this
call altogether.)
NewTerminfoScreenFromTtyTerminfo returns a Screen using a custom Tty
implementation and custom terminfo specification.
If the passed in tty is nil, then a reasonable default (typically /dev/tty)
is presumed, at least on UNIX hosts. (Windows hosts will typically fail this
call altogether.)
If passed terminfo is nil, then TERM environment variable is queried for
terminal specification.
PaletteColor creates a color based on the palette index.
The East Asian encodings have been seen to add 100-200K per encoding to the
size of the resulting binary.
SetEncodingFallback changes the behavior of GetEncoding when a suitable
encoding is not found. The default is EncodingFallbackFail, which
causes GetEncoding to simply return nil.
Package-Level Variables (total 9)
ColorNames holds the written names of colors. Useful to present a list of
recognized named colors.
ColorValues maps color constants to their RGB values.
ErrEventQFull indicates that the event queue is full, and
cannot accept more events.
ErrNoCharset indicates that the locale environment the
program is not supported by the program, because no suitable
encoding was found for it. This problem never occurs if
the environment is UTF-8 or UTF-16.
ErrNoScreen indicates that no suitable screen could be found.
This may result from attempting to run on a platform where there
is no support for either termios or console I/O (such as nacl),
or from running in an environment where there is no access to
a suitable console/terminal device. (For example, running on
without a controlling TTY or with no /dev/tty on POSIX platforms.)
ErrTermNotFound indicates that a suitable terminal entry could
not be found. This can result from either not having TERM set,
or from the TERM failing to support certain minimal functionality,
in particular absolute cursor addressability (the cup capability)
is required. For example, legacy "adm3" lacks this capability,
whereas the slightly newer "adm3a" supports it. This failure
occurs most often with "dumb".
KeyNames holds the written names of special keys. Useful to echo back a key
name, or to look up a key from a string value.
RuneFallbacks is the default map of fallback strings that will be
used to replace a rune when no other more appropriate transformation
is available, and the rune cannot be displayed directly.
New entries may be added to this map over time, as it becomes clear
that such is desirable. Characters that represent either letters or
numbers should not be added to this list unless it is certain that
the meaning will still convey unambiguously.
As an example, it would be appropriate to add an ASCII mapping for
the full width form of the letter 'A', but it would not be appropriate
to do so a glyph representing the country China.
Programs that desire richer fallbacks may register additional ones,
or change or even remove these mappings with Screen.RegisterRuneFallback
Screen.UnregisterRuneFallback methods.
Note that Unicode is presumed to be able to display all glyphs.
This is a pretty poor assumption, but there is no easy way to
figure out which glyphs are supported in a given font. Hence,
some care in selecting the characters you support in your application
is still appropriate.
StyleDefault represents a default style, based upon the context.
It is the zero value.
Package-Level Constants (total 631)
Attributes are not colors, but affect the display of text. They can
be combined, in some cases, but not others. (E.g. you can have Dim Italic,
but only CurlyUnderline cannot be mixed with DottedUnderline.)
Attributes are not colors, but affect the display of text. They can
be combined, in some cases, but not others. (E.g. you can have Dim Italic,
but only CurlyUnderline cannot be mixed with DottedUnderline.)
Attributes are not colors, but affect the display of text. They can
be combined, in some cases, but not others. (E.g. you can have Dim Italic,
but only CurlyUnderline cannot be mixed with DottedUnderline.)
Attributes are not colors, but affect the display of text. They can
be combined, in some cases, but not others. (E.g. you can have Dim Italic,
but only CurlyUnderline cannot be mixed with DottedUnderline.)
Attributes are not colors, but affect the display of text. They can
be combined, in some cases, but not others. (E.g. you can have Dim Italic,
but only CurlyUnderline cannot be mixed with DottedUnderline.)
Attributes are not colors, but affect the display of text. They can
be combined, in some cases, but not others. (E.g. you can have Dim Italic,
but only CurlyUnderline cannot be mixed with DottedUnderline.)
Attributes are not colors, but affect the display of text. They can
be combined, in some cases, but not others. (E.g. you can have Dim Italic,
but only CurlyUnderline cannot be mixed with DottedUnderline.)
Attributes are not colors, but affect the display of text. They can
be combined, in some cases, but not others. (E.g. you can have Dim Italic,
but only CurlyUnderline cannot be mixed with DottedUnderline.)
Attributes are not colors, but affect the display of text. They can
be combined, in some cases, but not others. (E.g. you can have Dim Italic,
but only CurlyUnderline cannot be mixed with DottedUnderline.)
These are the actual button values. Note that tcell version 1.x reversed buttons
two and three on *nix based terminals. We use button 1 as the primary, and
button 2 as the secondary, and button 3 (which is often missing) as the middle.
These are the actual button values. Note that tcell version 1.x reversed buttons
two and three on *nix based terminals. We use button 1 as the primary, and
button 2 as the secondary, and button 3 (which is often missing) as the middle.
These are the actual button values. Note that tcell version 1.x reversed buttons
two and three on *nix based terminals. We use button 1 as the primary, and
button 2 as the secondary, and button 3 (which is often missing) as the middle.
These are the actual button values. Note that tcell version 1.x reversed buttons
two and three on *nix based terminals. We use button 1 as the primary, and
button 2 as the secondary, and button 3 (which is often missing) as the middle.
These are the actual button values. Note that tcell version 1.x reversed buttons
two and three on *nix based terminals. We use button 1 as the primary, and
button 2 as the secondary, and button 3 (which is often missing) as the middle.
These are the actual button values. Note that tcell version 1.x reversed buttons
two and three on *nix based terminals. We use button 1 as the primary, and
button 2 as the secondary, and button 3 (which is often missing) as the middle.
These are the actual button values. Note that tcell version 1.x reversed buttons
two and three on *nix based terminals. We use button 1 as the primary, and
button 2 as the secondary, and button 3 (which is often missing) as the middle.
These are the actual button values. Note that tcell version 1.x reversed buttons
two and three on *nix based terminals. We use button 1 as the primary, and
button 2 as the secondary, and button 3 (which is often missing) as the middle.
These are the actual button values. Note that tcell version 1.x reversed buttons
two and three on *nix based terminals. We use button 1 as the primary, and
button 2 as the secondary, and button 3 (which is often missing) as the middle.
These are the actual button values. Note that tcell version 1.x reversed buttons
two and three on *nix based terminals. We use button 1 as the primary, and
button 2 as the secondary, and button 3 (which is often missing) as the middle.
These are the actual button values. Note that tcell version 1.x reversed buttons
two and three on *nix based terminals. We use button 1 as the primary, and
button 2 as the secondary, and button 3 (which is often missing) as the middle.
These are the actual button values. Note that tcell version 1.x reversed buttons
two and three on *nix based terminals. We use button 1 as the primary, and
button 2 as the secondary, and button 3 (which is often missing) as the middle.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
These are aliases for the color gray, because some of us spell
it as grey.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
These are aliases for the color gray, because some of us spell
it as grey.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
ColorDefault is used to leave the Color unchanged from whatever
system or terminal default may exist. It's also the zero value.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
These are aliases for the color gray, because some of us spell
it as grey.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
These are aliases for the color gray, because some of us spell
it as grey.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
ColorIsRGB is used to indicate that the numeric value is not
a known color constant, but rather an RGB value. The lower
order 3 bytes are RGB.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
These are aliases for the color gray, because some of us spell
it as grey.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
These are aliases for the color gray, because some of us spell
it as grey.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
ColorNone indicates that we should not change the color from
whatever is already displayed. This can only be used in limited
circumstances.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
ColorReset is used to indicate that the color should use the
vanilla terminal colors. (Basically go back to the defaults.)
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
These are aliases for the color gray, because some of us spell
it as grey.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
ColorSpecial is a flag used to indicate that the values have
special meaning, and live outside of the color space(s).
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
ColorValid is used to indicate the color value is actually
valid (initialized). This is useful to permit the zero value
to be treated as the default.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
Note that the order of these options is important -- it follows the
definitions used by ECMA and XTerm. Hence any further named colors
must begin at a value not less than 256.
const CursorStyleBlinkingBar CursorStyle = 5 const CursorStyleBlinkingBlock CursorStyle = 1 const CursorStyleBlinkingUnderline CursorStyle = 3 const CursorStyleDefault CursorStyle = 0 // The default const CursorStyleSteadyBar CursorStyle = 6 const CursorStyleSteadyBlock CursorStyle = 2 const CursorStyleSteadyUnderline CursorStyle = 4
EncodingFallbackASCII behavior causes GetEncoding to fall back
to a 7-bit ASCII encoding, if no other encoding can be found.
EncodingFallbackFail behavior causes GetEncoding to fail
when it cannot find an encoding.
EncodingFallbackUTF8 behavior causes GetEncoding to assume
UTF8 can pass unmodified upon failure. Note that this behavior
is not recommended, unless you are sure your terminal can cope
with real UTF8 sequences.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
These keys are aliases for other names.
These keys are aliases for other names.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the control keys. Note that they overlap with other keys,
perhaps. For example, KeyCtrlH is the same as KeyBackspace.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
These keys are aliases for other names.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
These keys are aliases for other names.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
These keys are aliases for other names.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
These keys are aliases for other names.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
This is the list of named keys. KeyRune is special however, in that it is
a place holder key indicating that a printable character was sent. The
actual value of the rune will be transported in the Rune of the associated
EventKey.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
These are the defined ASCII values for key codes. They generally match
with KeyCtrl values.
These are the modifiers keys that can be sent either with a key press,
or a mouse event. Note that as of now, due to the confusion associated
with Meta, and the lack of support for it on many/most platforms, the
current implementations never use it. Instead, they use ModAlt, even for
events that could possibly have been distinguished from ModAlt.
These are the modifiers keys that can be sent either with a key press,
or a mouse event. Note that as of now, due to the confusion associated
with Meta, and the lack of support for it on many/most platforms, the
current implementations never use it. Instead, they use ModAlt, even for
events that could possibly have been distinguished from ModAlt.
These are the modifiers keys that can be sent either with a key press,
or a mouse event. Note that as of now, due to the confusion associated
with Meta, and the lack of support for it on many/most platforms, the
current implementations never use it. Instead, they use ModAlt, even for
events that could possibly have been distinguished from ModAlt.
These are the modifiers keys that can be sent either with a key press,
or a mouse event. Note that as of now, due to the confusion associated
with Meta, and the lack of support for it on many/most platforms, the
current implementations never use it. Instead, they use ModAlt, even for
events that could possibly have been distinguished from ModAlt.
These are the modifiers keys that can be sent either with a key press,
or a mouse event. Note that as of now, due to the confusion associated
with Meta, and the lack of support for it on many/most platforms, the
current implementations never use it. Instead, they use ModAlt, even for
events that could possibly have been distinguished from ModAlt.
const MouseButtonEvents MouseFlags = 1 // Click events only const MouseDragEvents MouseFlags = 2 // Click-drag events (includes button events) const MouseMotionEvents MouseFlags = 4 // All mouse events (includes click and drag events)
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
The names of these constants are chosen to match Terminfo names,
modulo case, and changing the prefix from ACS_ to Rune. These are
the runes we provide extra special handling for, with ASCII fallbacks
for terminals that lack them.
const UnderlineStyleCurly UnderlineStyle = 3 const UnderlineStyleDashed UnderlineStyle = 5 const UnderlineStyleDotted UnderlineStyle = 4 const UnderlineStyleDouble UnderlineStyle = 2 const UnderlineStyleNone UnderlineStyle = 0 const UnderlineStyleSolid UnderlineStyle = 1
These are the actual button values. Note that tcell version 1.x reversed buttons
two and three on *nix based terminals. We use button 1 as the primary, and
button 2 as the secondary, and button 3 (which is often missing) as the middle.
These are the actual button values. Note that tcell version 1.x reversed buttons
two and three on *nix based terminals. We use button 1 as the primary, and
button 2 as the secondary, and button 3 (which is often missing) as the middle.
These are the actual button values. Note that tcell version 1.x reversed buttons
two and three on *nix based terminals. We use button 1 as the primary, and
button 2 as the secondary, and button 3 (which is often missing) as the middle.
These are the actual button values. Note that tcell version 1.x reversed buttons
two and three on *nix based terminals. We use button 1 as the primary, and
button 2 as the secondary, and button 3 (which is often missing) as the middle.
![]() |
The pages are generated with Golds v0.8.2. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |