open_link (Raggle::Interfaces::NcursesInterface)

    # 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