# File raggle, line 3661
      def NcursesInterface::open_link(item)
        return unless item['title'] and (item['url'] or item['site'])
        return unless $config['browser']
        url = item['site'] || item['url']

        # are we opening new screen windows?
        use_screen = $config['use_screen'] && in_screen?

        # get browser command
        cmd = $config['browser_cmd'].map { |cmd_part|
        case cmd_part
          when /%s/:  cmd_part % url.escape
          when '${browser}':  $config['browser']
          else cmd_part
          end
        }

        if use_screen  # prepend screen command if we're using it
          screen_cmd = $config['screen_cmd'].map { |cmd_part|
            if cmd_part =~ /%s/
              cmd_part % item['title']
            else
              cmd_part
            end
          }
          cmd.unshift(*screen_cmd)  # build new command
        end

        # drop out of curses mode
        NcursesInterface::save_screen unless use_screen

        system(*cmd)
  
        NcursesInterface::restore_screen unless use_screen  # reset screen
      end