gol/term/term.go
2025-02-11 22:32:47 +01:00

58 lines
752 B
Go

package term
import "fmt"
type CursorFlag bool
const (
CursorOn CursorFlag = true
CursorOff CursorFlag = false
)
func TurnCursor(onOff CursorFlag) {
if onOff == CursorOn {
fmt.Printf("\033[?25h")
} else {
fmt.Printf("\033[?25l")
}
}
func ClearScreen() {
fmt.Printf("\033[2J")
}
func ResetTerminal() {
fmt.Printf("\033c")
}
func GoHome() {
fmt.Printf("\033[H")
}
func SaveCursor() {
fmt.Printf("\033[s")
}
func RestoreCursor() {
fmt.Printf("\033[u")
}
func EnableAlternateScreen() {
fmt.Printf("\033[?1049h")
}
func DisableAlternateScreen() {
fmt.Printf("\033[?1049l")
}
func StartFullscreen() {
SaveCursor()
EnableAlternateScreen()
ClearScreen()
}
func FinishFullscreen() {
DisableAlternateScreen()
RestoreCursor()
}