code: def suspend_signal_handler(self, signo, frame):
          
          if signo != signal.SIGUSR2:
              return
          self.stopped = not self.stopped
          if self.stopped:
              [m.suspend() for m in IntervalModule.managers.values()]
          else:
              [m.resume() for m in IntervalModule.managers.values()]
docs: By default, i3bar sends SIGSTOP to all children when it is not visible (for example, the screen
          sleeps or you enter full screen mode). This stops the i3pystatus process and all threads within it.
          For some modules, this is not desirable. Thankfully, the i3bar protocol supports setting the "stop_signal"
          and "cont_signal" key/value pairs in the header to allow sending a custom signal when these events occur.
  
          Here we use SIGUSR2 for both "stop_signal" and "cont_signal" and maintain a toggle to determine whether
          we have just been stopped or continued. When we have been stopped, notify the IntervalModule managers
          that they should suspend any module that does not set the keep_alive flag to a truthy value, and when we
          have been continued, notify the IntervalModule managers that they can resume execution of all modules.