     fileManager = atom.config.get('browse.fileManager')
 
     if fileManager
-      exec "\"#{fileManager}\" \"#{path}\""
+      spawnSync fileManager, [ path ]
       return
 
     # Default file manager
     switch process.platform
       when "darwin"
-        exec "open #{path}"
+        spawnSync "open", [ path ]
         fileManager = "Finder"
       when "win32"
-        exec "explorer #{path}"
+        spawnSync "explorer", [ path ]
         fileManager = "Explorer"
       when "linux"
         shell.openItem(path)

  revealFile: ->
    # Get parent folder of active file
    editor = atom.workspace.getActivePaneItem()
    file = editor?.buffer?.file

    if file?
      @selectFile(file.path)
      return

    atom.notifications.addWarning("**#{@self}**: No active file", dismissable: false)

  revealFiles: ->
    # Get all open file
    items = atom.workspace.getPaneItems()

    unless items.length > 0
      atom.notifications.addWarning("**#{@self}**: No files open", dismissable: false)
      return

    for item in items
      continue unless item.constructor.name is 'TextEditor'

      if item?.buffer.file
        file = item?.buffer.file
        @selectFile(file.path)

  browseProjects: ->
    projects = atom.project.getPaths()

    fileManager = atom.config.get('browse.fileManager')

    if fileManager
      spawnSync fileManager, [ path ]
      return

    # Default file manager
    switch process.platform
      when "darwin"
        spawnSync "open", [ "-R", path ]
        fileManager = "Finder"
      when "win32"
        spawnSync "explorer", [ "/select,#{path}" ]
        fileManager = "Explorer"
      when "linux"
        shell.showItemInFolder(path)
