diff options
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/drak3d | 16 |
1 files changed, 11 insertions, 5 deletions
@@ -27,12 +27,18 @@ BEGIN { unshift @::textdomains, 'drak3d' } use standalone; use common; use interactive; +use do_pkgs; use Xconfig::glx; use any; use Getopt::Long; -my $in = interactive->vnew('su'); -my $glx = Xconfig::glx::detect_may_install($in) or $in->exit; +my $in = eval { interactive->vnew('su') }; +$in || $::auto or die $@; +my $do_pkgs = $in ? $in->do_pkgs : do_pkgs_standalone->new; + +sub exit_program { $in ? $in->exit(@_) : exit(@_) } + +my $glx = Xconfig::glx::detect_may_install($do_pkgs) or exit_program(); my $running_wm = any::running_window_manager(); GetOptions( @@ -149,9 +155,9 @@ if ($::auto) { } else { $res = Xconfig::glx::choose_interactive($in, $glx); } -if ($res && Xconfig::glx::install($in, $glx)) { +if ($res && Xconfig::glx::install($do_pkgs, $glx)) { Xconfig::glx::write($glx); - any::ask_for_X_restart($in); + any::ask_for_X_restart($in) if $in; } -$in->exit; +exit_program(); |