diff --git a/commands.go b/commands.go index f6f7d7b..dd2d4b5 100644 --- a/commands.go +++ b/commands.go @@ -4,8 +4,6 @@ package boba import ( "os" - "os/signal" - "syscall" "time" "golang.org/x/crypto/ssh/terminal" @@ -62,17 +60,3 @@ func GetTerminalSize(newMsgFunc func(int, int, error) TerminalSizeMsg) Cmd { return newMsgFunc(w, h, err) } } - -// OnResize is used to listen for window resizes. Use GetTerminalSize to get -// the windows dimensions. We don't fetch the window size with this command to -// avoid a potential performance hit making the necessary system calls, since -// this command could potentially run a lot. On that note, consider debouncing -// this function. -func OnResize(newMsgFunc func() Msg) Cmd { - return func() Msg { - sig := make(chan os.Signal) - signal.Notify(sig, syscall.SIGWINCH) - <-sig - return newMsgFunc() - } -} diff --git a/commands_unix.go b/commands_unix.go new file mode 100644 index 0000000..3297461 --- /dev/null +++ b/commands_unix.go @@ -0,0 +1,23 @@ +// +build darwin dragonfly freebsd linux netbsd openbsd solaris + +package boba + +import ( + "os" + "os/signal" + "syscall" +) + +// OnResize is used to listen for window resizes. Use GetTerminalSize to get +// the windows dimensions. We don't fetch the window size with this command to +// avoid a potential performance hit making the necessary system calls, since +// this command could potentially run a lot. On that note, consider debouncing +// this function. +func OnResize(newMsgFunc func() Msg) Cmd { + return func() Msg { + sig := make(chan os.Signal) + signal.Notify(sig, syscall.SIGWINCH) + <-sig + return newMsgFunc() + } +} diff --git a/commands_windows.go b/commands_windows.go new file mode 100644 index 0000000..b96d7ca --- /dev/null +++ b/commands_windows.go @@ -0,0 +1,9 @@ +// +build windows + +package boba + +// OnResize is not supported on Windows at this time as Windows does not +// support the SIGWINCH signal. +func OnResize(newMsgFunc func() Msg) Cmd { + return nil +}