mirror of
https://github.com/rocky-linux/peridot.git
synced 2024-11-01 04:41:22 +00:00
27 lines
564 B
Go
27 lines
564 B
Go
|
// +build !windows
|
||
|
|
||
|
package cwriter
|
||
|
|
||
|
import (
|
||
|
"golang.org/x/sys/unix"
|
||
|
)
|
||
|
|
||
|
func (w *Writer) clearLines() error {
|
||
|
return w.ansiCuuAndEd()
|
||
|
}
|
||
|
|
||
|
// GetSize returns the dimensions of the given terminal.
|
||
|
func GetSize(fd int) (width, height int, err error) {
|
||
|
ws, err := unix.IoctlGetWinsize(fd, unix.TIOCGWINSZ)
|
||
|
if err != nil {
|
||
|
return -1, -1, err
|
||
|
}
|
||
|
return int(ws.Col), int(ws.Row), nil
|
||
|
}
|
||
|
|
||
|
// IsTerminal returns whether the given file descriptor is a terminal.
|
||
|
func IsTerminal(fd int) bool {
|
||
|
_, err := unix.IoctlGetTermios(fd, ioctlReadTermios)
|
||
|
return err == nil
|
||
|
}
|