@contextmanager
     def context(self, q_to_main: EventQueue) -> Generator:
         'Combine multiple contexts into one.'
+        signal(SIGWINCH, lambda *_: q_to_main.eput('SIGWINCH'))
         self._blessed = BlessedTerminal()
         with (self._blessed.raw(),
               self._blessed.fullscreen(),
               KeyboardLoop(q_to_main, self.get_keypresses())):
             with TuiLoop(self, q_to_main) as tui:
                 self.tui = tui
-                signal(SIGWINCH, lambda *_: self.tui.put(Event('SIGWINCH')))
                 yield self
 
     def calc_geometry(self) -> None: