1234567891011121314151617181920212223242526 |
- //go:build linux || darwin
- package main
- import (
- "os"
- "os/signal"
- "syscall"
- "github.com/creack/pty"
- "github.com/wecisecode/util/logger"
- )
- func HandlePTYSize(ptmx *os.File) chan os.Signal {
- ch := make(chan os.Signal, 1)
- signal.Notify(ch, syscall.SIGWINCH)
- go func() {
- for range ch {
- if err := pty.InheritSize(os.Stdin, ptmx); err != nil {
- logger.Error("error resizing pty:", err)
- }
- }
- }()
- ch <- syscall.SIGWINCH // Initial resize.
- return ch
- }
|