#!/usr/bin/perl use strict; use diagnostics; use lib qw(/usr/lib/libDrakX); use standalone; #- warning, standalone must be loaded very first, for 'explanations' use interactive; use common; use lang; use any; die "Usage: drakhelp <help_path>" if @ARGV != 1; my $in = interactive->vnew; my $locale = lang::read('', $>); $locale->{lang} = 'en' unless member($locale->{lang}, qw(de en es fr it ru)); my $path2help = "/usr/share/doc/mandrake/" . $locale->{lang} . "/"; my $path = $ARGV[0] =~ /^http|^www/ ? $ARGV[0] : $path2help . $ARGV[0]; -e $path or $in->do_pkgs->install('mandrake_doc-drakxtools-' . $locale->{lang}); my $wm = any::running_window_manager(); my %launchhelp = ( 'kwin' => sub { system("mdklaunchhelp " . $path . "&") }, 'gnome-session' => sub { system("yelp ghelp://" . $path . "&") }, 'other' => sub { my $browser = $ENV{BROWSER} || find { -x "/usr/bin/$_" } qw(mozilla konqueror galeon) or $in->ask_warn('drakhelp', N("No browser is installed on your system, Please install one if you want to browse the help system")); standalone::explanations("Connection to help system at $path"); system("$browser " . $path . "&") } ); member($wm, 'kwin', 'gnome-session') or $wm = 'other'; eval { $launchhelp{$wm}->() };