Fallback to the $BROWSER environment variable in non-gnome systems while running browser for external URLs. --- ./podbrowser.pl +++ ./podbrowser.pl @@ -58,7 +58,12 @@ } ### bits we'll be reusing: -chomp(my $OPENER = `which gnome-open 2> /dev/null`); +chomp(my $OPENER = $ENV{BROWSER}); +unless ("$OPENER") { # No browser is configured + chomp($OPENER = `which gnome-open 2> /dev/null`); + chomp($OPENER = `whereis gnome-open | sed -n 's/.*: \([^ ]\+\) .*/\1/p'`) if (!-x "$OPENER"); # Fallback for missed 'which' +} + my $APP = Gtk2::GladeXML->new($GLADE_FILE); my $THEME = get_an_icon_theme(); my $TIPS = Gtk2::Tooltips->new; @@ -765,7 +770,7 @@ sub open_url { my $url = (ref($_[0]) eq 'Gtk2::AboutDialog' ? $_[1] : $_[0]); - if (!-x $OPENER) { + unless ("$OPENER") { # We can't find any OPENER in the system my $dialog = Gtk2::MessageDialog->new($APP->get_widget('main_window'), 'modal', 'info', 'ok', gettext('Error opening URL')); $dialog->format_secondary_text("The 'gnome-open' program could not be found."); $dialog->signal_connect('response', sub { $dialog->destroy });