text: import Tkinter
  
  def get_tk_root():
      try:
          root = Tkinter._default_root
      except AttributeError:
          # it is possible to disable default root in Tkinter, although
          # I haven't seen people doing it (but apparently someone did it
          # here).
          root = None
  
      if root is None:
          # create a new master only if there isn't one already
          root = Tkinter.Tk()
  
      return root
  
  def root_deiconify():
      root = get_tk_root()
      root.deiconify()
  
  def root_withdraw():
      root = get_tk_root()
      root.withdraw()
  
  
  def simulate_mouse_click(widget, x, y):
      """Generate proper events to click at the x, y position (tries to act
      like an X server)."""
      widget.event_generate('<Enter>', x=0, y=0)
      widget.event_generate('<Motion>', x=x, y=y)
      widget.event_generate('<ButtonPress-1>', x=x, y=y)
      widget.event_generate('<ButtonRelease-1>', x=x, y=y)
  