github.com/schwarzm/garden-linux@v0.0.0-20150507151835-33bca2147c47/iodaemon/winsizereporter/main.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"log"
     6  	"os"
     7  	"os/signal"
     8  	"syscall"
     9  
    10  	"github.com/kr/pty"
    11  )
    12  
    13  func main() {
    14  	winsize := make(chan os.Signal, 1)
    15  
    16  	signal.Notify(winsize, syscall.SIGWINCH)
    17  
    18  	printSize()
    19  
    20  	<-winsize
    21  
    22  	printSize()
    23  
    24  	os.Exit(0)
    25  }
    26  
    27  func printSize() {
    28  	rows, cols, err := pty.Getsize(os.Stdin)
    29  	if err != nil {
    30  		log.Fatalln("failed to get window size:", err)
    31  	}
    32  
    33  	fmt.Printf("rows: %d, cols: %d\n", rows, cols)
    34  }