Documentation
¶
Overview ¶
Package goberzurg displays images in terminal emulators.
It provides multiple backends using terminal graphics protocols:
- Kitty protocol (kitty, wezterm, ghostty)
- Sixel (xterm, mlterm, foot)
- iTerm2 inline images (iTerm2)
The backends write directly to the terminal via os.Stdout, making them compatible with bubbletea programs.
Basic usage:
r := goberzurg.New()
defer r.Close()
r.Display("image.png", goberzurg.WithPos(5, 2))
To force a specific backend:
r := goberzurg.New(goberzurg.WithBackend(goberzurg.NewKittyBackend()))
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var IsTmux bool
Functions ¶
This section is empty.
Types ¶
type Backend ¶
type BackendType ¶
type BackendType int
const ( BackendUnknown BackendType = iota BackendKitty BackendSixel BackendIterm2 )
func DetectType ¶
func DetectType() BackendType
type ClearOnResetWriter ¶
type ClearOnResetWriter struct {
// contains filtered or unexported fields
}
ClearOnResetWriter wraps an io.Writer and calls clearFn when it detects a clear-screen escape sequence (\x1b[2J or \x1b[3J) being written. This ensures placed images are cleared when the terminal is cleared.
func NewClearOnResetWriter ¶
func NewClearOnResetWriter(w io.Writer, clearFn func() error) *ClearOnResetWriter
NewClearOnResetWriter creates a writer that auto-clears images on terminal clear.
type Image ¶
func (*Image) EncodeJPEG ¶
type Iterm2Backend ¶
type Iterm2Backend struct {
// contains filtered or unexported fields
}
func NewIterm2Backend ¶
func NewIterm2Backend() *Iterm2Backend
func (*Iterm2Backend) Clear ¶
func (i *Iterm2Backend) Clear() error
func (*Iterm2Backend) Close ¶
func (i *Iterm2Backend) Close() error
func (*Iterm2Backend) Display ¶
func (i *Iterm2Backend) Display(key string, img *Image, opts Options) error
func (*Iterm2Backend) Name ¶
func (i *Iterm2Backend) Name() string
type KittyBackend ¶
type KittyBackend struct {
// contains filtered or unexported fields
}
func NewKittyBackend ¶
func NewKittyBackend() *KittyBackend
func (*KittyBackend) Clear ¶
func (k *KittyBackend) Clear() error
func (*KittyBackend) Close ¶
func (k *KittyBackend) Close() error
func (*KittyBackend) Display ¶
func (k *KittyBackend) Display(key string, img *Image, opts Options) error
func (*KittyBackend) Name ¶
func (k *KittyBackend) Name() string
type Renderer ¶
type Renderer struct {
// contains filtered or unexported fields
}
func New ¶
func New(opts ...RendererOption) *Renderer
type RendererOption ¶
type RendererOption func(*RendererOptions)
func WithBackend ¶
func WithBackend(b Backend) RendererOption
type RendererOptions ¶
type RendererOptions struct {
Backend Backend
}
type SixelBackend ¶
type SixelBackend struct {
// contains filtered or unexported fields
}
func NewSixelBackend ¶
func NewSixelBackend() *SixelBackend
func (*SixelBackend) Clear ¶
func (s *SixelBackend) Clear() error
func (*SixelBackend) Close ¶
func (s *SixelBackend) Close() error
func (*SixelBackend) Display ¶
func (s *SixelBackend) Display(key string, img *Image, opts Options) error
func (*SixelBackend) Name ¶
func (s *SixelBackend) Name() string
Source Files
¶
Click to show internal directories.
Click to hide internal directories.