summaryrefslogtreecommitdiffstats
path: root/drakxconf
diff options
context:
space:
mode:
Diffstat (limited to 'drakxconf')
-rwxr-xr-xdrakxconf47
1 files changed, 47 insertions, 0 deletions
diff --git a/drakxconf b/drakxconf
new file mode 100755
index 00000000..616bef6d
--- /dev/null
+++ b/drakxconf
@@ -0,0 +1,47 @@
+#!/usr/bin/perl
+
+use lib qw(/usr/lib/libDrakX);
+use strict;
+
+# i18n: IMPORTANT: to get correct namespace (drakconf instead of libDrakX)
+BEGIN { unshift @::textdomains, 'drakconf' }
+
+use standalone; #- warning, standalone must be loaded very first, for 'explanations'
+use interactive;
+use common;
+
+local $_ = join '', @ARGV;
+
+/-h/ and die "usage: drakxconf\n";
+/-version/ and die 'version: $Id: drakxconf 254567 2009-03-23 09:22:59Z tv $\n';
+
+my $in = 'interactive'->vnew('su', 'default');
+
+my @l = map {
+ my $path;
+ foreach my $i (split (":", $ENV{PATH})) {
+ my $j = "$i/$_->{cmd}";
+ $path = $j if -x $j;
+ }
+ { des => $_->{des}, cmd => $path };
+} (
+ { des => N("Display"), cmd => 'XFdrake' },
+ { des => N("Keyboard"), cmd => 'keyboarddrake' },
+ { des => N("Mouse"), cmd => 'mousedrake' },
+ { des => N("Network & Internet"), cmd => 'drakconnect' },
+ { des => N("Users and groups"), cmd => 'adduserdrake' },
+ { des => N("Services"), cmd => 'drakxservices' },
+ { des => N("Firewall"), cmd => 'drakfirewall' },
+ { des => N("Boot loader"), cmd => 'drakboot' },
+ { des => N("Auto Install"), cmd => 'drakautoinst' },
+ { des => N("Internet connection sharing"), cmd => 'drakgw' },
+ { des => N("3D Desktop effects"), cmd => 'drak3d' },
+ { des => N("Partitions"), cmd => 'diskdrake' }
+ );
+
+my $choice = $in->ask_from_listf(N("Control Center"), N("Choose the tool you want to use"), sub { $_[0]{des} }, \@l)
+ or $in->exit(1);
+$in->end;
+
+-x $choice->{cmd} or die "$choice->{cmd} is not executable!\n";
+exec $choice->{cmd}, @ARGV or $in->exit(1);