def NcursesInterface::open_link(item)
return unless item['title'] and (item['url'] or item['site'])
return unless $config['browser']
url = item['site'] || item['url']
use_screen = $config['use_screen'] && in_screen?
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
screen_cmd = $config['screen_cmd'].map { |cmd_part|
if cmd_part =~ /%s/
cmd_part % item['title']
else
cmd_part
end
}
cmd.unshift(*screen_cmd)
end
NcursesInterface::save_screen unless use_screen
system(*cmd)
NcursesInterface::restore_screen unless use_screen
end