class_docstr: Controller for the KDE File Manager (kfm, or Konqueror).
  
  See the output of ``kfmclient --commands``
  for more information on the Konqueror remote-control interface.
class_docstr_tok: ["Controller","for","the","KDE","File","Manager","(","kfm",",","or","Konqueror",")",".","See","the","output","of","``","kfmclient","--","commands","``","for","more","information","on","the","Konqueror","remote-control","interface","."]
code: def open(self, url, new=0, autoraise=True):
      sys.audit("webbrowser.open", url)
      # XXX Currently I know no way to prevent KFM from opening a new win.
      if new == 2:
          action = "newTab"
      else:
          action = "openURL"
  
      devnull = subprocess.DEVNULL
  
      try:
          p = subprocess.Popen(
              ["kfmclient", action, url],
              close_fds=True,
              stdin=devnull,
              stdout=devnull,
              stderr=devnull,
          )
      except OSError:
          # fall through to next variant
          pass
      else:
          p.wait()
          # kfmclient's return code unfortunately has no meaning as it seems
          return True
  
      try:
          p = subprocess.Popen(
              ["konqueror", "--silent", url],
              close_fds=True,
              stdin=devnull,
              stdout=devnull,
              stderr=devnull,
              start_new_session=True,
          )
      except OSError:
          # fall through to next variant
          pass
      else:
          if p.poll() is None:
              # Should be running now.
              return True
  
      try:
          p = subprocess.Popen(
              ["kfm", "-d", url],
              close_fds=True,
              stdin=devnull,
              stdout=devnull,
              stderr=devnull,
              start_new_session=True,
          )
      except OSError:
          return False
      else:
          return p.poll() is None
  
imports: import os
  import shlex
  import shutil
  import sys
  import subprocess
  import threading
  import warnings
label_desc: Use image node_id 1 for calling the Konqueror obj's underlying member method code with example usage: obj.open(url, new, autoraise) and returns: True, unknown, True, False