Obter o tamanho do terminal em Go
Como obter tamanho tty com Go lang? Eu estou tentando fazer isso com a execuçãostty size
comando, mas eu não posso criar o código certo.
package main
import (
"os/exec"
"fmt"
"log"
)
func main() {
out, err := exec.Command("stty", "size").Output()
fmt.Printf("out: %#v\n", out)
fmt.Printf("err: %#v\n", err)
if err != nil {
log.Fatal(err)
}
}
Saída:
out: []byte{}
err: &exec.ExitError{ProcessState:(*os.ProcessState)(0xc200066520)}
2013/05/16 02:35:57 exit status 1
exit status 1
Acho que isso acontece porque o Go gera um processo não relacionado ao atual tty, com o qual está funcionando. Como posso relacionar o comando ao terminal atual para obter seu tamanho?