         continue
 
       # Open project folder
-      exec "#{@fileManager} #{project}"
+      shell.showItemInFolder(project)
 
   browseConfig: ->
-    configPath = path.dirname(@configFile)
+    configFile: atom.config.getUserConfigPath()
+    configPath = path.dirname(configFile)
 
-    if @fileManager isnt null
-      # Does config folder exist?
-      try
-        fs.accessSync(configPath, fs.F_OK)
-      catch error
-        atom.notifications.addError(@self, detail: error, dismissable: true)
-        return
+    # Does config folder exist?
+    try
+      fs.accessSync(configPath, fs.F_OK)
+    catch error
+      atom.notifications.addError(@self, detail: error, dismissable: true)
+      return
 
-      args = configPath
-
-      # Open config folder
-      exec "#{@fileManager} #{args}"
-
-  getFileManager: ->
-    fm = atom.config.get('browse.fileManager')
-
-    if typeof fm isnt 'undefined'
-      if @debug?
-        console.log "[#{@self}] Load from config: #{fm}"
-      return fm
-
-    switch process.platform
-      when "darwin"
-        return "open"
-      when "win32"
-        return "explorer"
-      when "linux"
-        # There are many possible file managers on Linux, let's iterate over
-        # the most popular ones
-        @loopWhich (result) ->
-          if typeof result isnt 'undefined'
-            fm = result.trim()
-            if @debug
-              console.log "[browse] Saving #{fm} for future use"
-            atom.config.set('browse.fileManager', fm)
-            return fm
-
-          atom.notifications.addWarning("**browse**: No supported file manager detected", dismissable: true)
-
-  loopWhich: (callback) ->
-    for fm in @linuxFileManagers
-
-      if @debug
-        console.log "[#{@self}] Trying: #{fm}"
-      exec "which #{fm}", (error, stdout, stderr) ->
-        if error is null
-          callback stdout
+    # Open config folder
+    shell.openItem(configPath)

    @subscriptions.dispose()

  browsePackages: ->
    if @fileManager isnt null

      # Does packages folder exist?
      try
        fs.accessSync(@packageDir, fs.F_OK)
      catch error
        atom.notifications.addError(@self, detail: error, dismissable: true)
        return

      # Open packages folder
      exec "#{@fileManager} #{@packageDir}"

  revealFile: ->
    # Get parent folder of active file

    if file isnt null
      filePath = path.dirname(file?.path)

      # Reveal file
      shell.showItemInFolder(file.path)
      return

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