code: def determine_clipboard():
      # Determine the OS/platform and set
      # the copy() and paste() functions accordingly.
      if "cygwin" in platform.system().lower():
          # FIXME: pyperclip currently does not support Cygwin,
          # see https://github.com/asweigart/pyperclip/issues/55
          pass
      elif os.name == "nt" or platform.system() == "Windows":
          return init_windows_clipboard()
      if os.name == "mac" or platform.system() == "Darwin":
          return init_osx_clipboard()
      if HAS_DISPLAY:
          # Determine which command/module is installed, if any.
          try:
              # Check if gtk is installed
              import gtk  # noqa
          except ImportError:
              pass
          else:
              return init_gtk_clipboard()
  
          try:
              # qtpy is a small abstraction layer that lets you write
              # applications using a single api call to either PyQt or PySide
              # https://pypi.org/project/QtPy
              import qtpy  # noqa
          except ImportError:
              # If qtpy isn't installed, fall back on importing PyQt5, or PyQt5
              try:
                  import PyQt5  # noqa
              except ImportError:
                  try:
                      import PyQt4  # noqa
                  except ImportError:
                      pass  # fail fast for all non-ImportError exceptions.
                  else:
                      return init_qt_clipboard()
              else:
                  return init_qt_clipboard()
              pass
          else:
              return init_qt_clipboard()
  
          if _executable_exists("xclip"):
              return init_xclip_clipboard()
          if _executable_exists("xsel"):
              return init_xsel_clipboard()
          if _executable_exists("klipper") and _executable_exists(
              "qdbus"
          ):
              return init_klipper_clipboard()
  
      return init_no_clipboard()
  
imports: import platform
  import os
  import subprocess
  from .clipboards import init_osx_clipboard, init_gtk_clipboard, init_qt_clipboard, init_xclip_clipboard, init_xsel_clipboard, init_klipper_clipboard, init_no_clipboard
  from .windows import init_windows_clipboard
label_desc: Use image node_id 2 for calling a global function with example usage: determine_clipboard() and returns: init_no_clipboard, init_osx_clipboard, init_windows_clipboard, init_gtk_clipboard, init_qt_clipboard, init_xclip_clipboard, init_xsel_clipboard, init_klipper_clipboard, init_qt_clipboard, init_qt_clipboard