#!/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 any; use ctxhelp; use log; sub usage() { print STDERR N(" drakhelp 0.1 Copyright (C) 2003-2004 Mandrakesoft. This is free software and may be redistributed under the terms of the GNU GPL. Usage: ") . N(" --help - display this help ") . N(" --id - load the html help page which refers to id_label ") . N(" --doc - link to another web page ( for WM welcome frontend) "); exit(0) } my ($opt, $idlabel) = @ARGV; @ARGV == 2 && ($opt eq '--id' || $opt eq '--doc' || $opt eq '--help') or usage(); my $in = interactive->vnew; my ($instpath, $ancpath, $package) = ctxhelp::path2help($opt, $idlabel); -e $instpath or system("/usr/sbin/drakhelp_inst $package"); -e $instpath or $in->ask_warn(N("Mandrake Help Center"), N("%s cannot be displayed \n. No Help entry of this type\n", $instpath)); my $wm = any::running_window_manager(); my %launchhelp = ( 'kwin' => sub { system("webclient-kde " . $ancpath . "&") }, 'gnome-session' => sub { system("yelp ghelp://" . $ancpath . "&") }, 'other' => sub { my $browser = $ENV{BROWSER} || find { -x "/usr/bin/$_" } qw(mozilla konqueror epiphany 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")); log::explanations("Loading help system : $ancpath"); system("$browser " . $ancpath . "&") } ); member($wm, 'kwin', 'gnome-session') or $wm = 'other'; -e $instpath and eval { $launchhelp{$wm}->() };