layout

package
v0.2.6 Latest Latest
Warning

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

Go to latest
Published: Mar 9, 2026 License: BSD-3-Clause Imports: 0 Imported by: 0

Documentation

Overview

Package layout computes terminal layout metrics for codexsm TUI rendering.

Index

Constants

View Source
const (
	// MinWidth is the minimal terminal width required by TUI.
	// The current TUI needs more than the theoretical keybar width once
	// border/padding, proportional pane split, and terminal-edge autowrap
	// behavior are accounted for. Keep a small safety margin so boundary
	// widths fall back to the min-size warning instead of partial rendering.
	MinWidth = 134
	// MinHeight is the minimal terminal height required by TUI.
	MinHeight = 24
)

Variables

This section is empty.

Functions

func IsTooSmall

func IsTooSmall(width, height int) bool

IsTooSmall reports whether current terminal size is below supported bounds.

func NormalizeSize

func NormalizeSize(width, height int) (int, int)

NormalizeSize applies fallback values when terminal size is unavailable.

func RenderWidth added in v0.2.5

func RenderWidth(width int) int

RenderWidth returns a width safe for rendering without hitting the terminal's last column, which can trigger autowrap and break borders in some terminals.

Types

type Metrics

type Metrics struct {
	TotalW        int
	TotalH        int
	KeysOuterH    int
	MainAreaH     int
	GapW          int
	LeftOuterW    int
	RightOuterW   int
	InfoOuterH    int
	PreviewOuterH int
}

Metrics describes the top-level dimensions used by TUI panels.

func Compute

func Compute(width, height int) Metrics

Compute calculates panel dimensions for a normalized terminal size.

Jump to

Keyboard shortcuts

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