diff --git a/src/curses/curses.go b/src/curses/curses.go index debdeaf4870aefcb139f93d24faadbd0c5dd012c..06493a2aee0423b42a1ffd38fc6bdfdb7b1f2f85 100644 --- a/src/curses/curses.go +++ b/src/curses/curses.go @@ -11,7 +11,6 @@ import "C" import ( "fmt" "os" - "os/signal" "syscall" "time" "unicode/utf8" @@ -271,14 +270,6 @@ func Init(theme *ColorTheme, black bool, mouse bool) { C.noecho() C.raw() // stty dsusp undef - intChan := make(chan os.Signal, 1) - signal.Notify(intChan, os.Interrupt, os.Kill) - go func() { - <-intChan - Close() - os.Exit(2) - }() - if theme != nil { C.start_color() initPairs(theme, black) diff --git a/src/terminal.go b/src/terminal.go index 9a92ba436035bf7202d943a3fa48e34f85c968ce..ab77ecfe1186609bb8dc1729212bbc814e0e021b 100644 --- a/src/terminal.go +++ b/src/terminal.go @@ -727,6 +727,13 @@ func (t *Terminal) Loop() { t.reqBox.Set(reqRefresh, nil) }() + intChan := make(chan os.Signal, 1) + signal.Notify(intChan, os.Interrupt, os.Kill) + go func() { + <-intChan + t.reqBox.Set(reqQuit, nil) + }() + resizeChan := make(chan os.Signal, 1) signal.Notify(resizeChan, syscall.SIGWINCH) go func() {