summaryrefslogtreecommitdiffstats
path: root/menus_launcher.pl
blob: e598f362a20d99ab735258c9be38547a03f41e32 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/usr/bin/perl

use strict;
use lib qw(/usr/lib/libDrakX);
use common;
use my_gtk qw(:helpers :wrappers :various);;
use interactive;
use standalone;

#-------------------------------------------------------------
# i18n
# IMPORTANT: next code is needed to get correct namespace : drakconf instead of libDrakX
# (This version is now UTF8 compliant - Sg 2001-08-18)
#-------------------------------------------------------------

push @::textdomains, 'drakconf';

my $bindir = "/usr/bin/";
my $my_win = my_gtk->new('print_launcher');
$my_win->{rwindow}->set_title(N("Menu Configuration Center")) unless $::isEmbedded;
$my_win->{window}->signal_connect(delete_event => sub {
    gtkset_mousecursor_normal();
    my_gtk->exit(0);
} );
my $vbox = new Gtk::VBox(0, 0);
$my_win->{window}->add($vbox);
$vbox->pack_start(new Gtk::Label(N("Menu Configuration Center") . N("\n\nChoose which menu you want to configure")), 0, 0, 5);
$vbox->pack_start(new Gtk::HSeparator, 0, 0, 5);
my $table = new Gtk::Table (3, 2, 0);
$table->set_border_width(5);
$table->set_row_spacings(5);
$table->set_col_spacings(5);
my $hbox = new Gtk::HBox(0, 0);
$vbox->pack_start($hbox, 1, 1, 1);
$hbox->pack_start($table, 0, 0, 5);
$table->attach (new Gtk::Label(N("System menu")), 0, 1, 0, 1, 'fill', 'fill', 0, 0);
my $b1 = gtksignal_connect(new Gtk::Button(N("Configure...")), clicked => sub { system("$bindir/menudrake --systemmenu &") } );
$table->attach ($b1, 1, 2, 0, 1, 'fill', 'fill', 0, 0);
$table->attach (new Gtk::Label(N("User menu")), 0, 1, 1, 2, 'fill', 'fill', 0, 0);
my (@user_info, @usernames);
setpwent();
do { @user_info = getpwent();
     my ($uname, $uid) = @user_info[0, 2];
     push (@usernames, $uname) if $uid > 500 && $uname eq $ENV{INITIAL_USER};
 } while (@user_info);
my $combo = new Gtk::Combo;
$combo->set_popdown_strings (@usernames, "root");
$table->attach ($combo, 2, 3, 1, 2, 'fill', 'fill', 0, 0);
my $b2 = gtksignal_connect(new Gtk::Button(N("Configure...")),
			   clicked => sub { system($combo->entry->get_text() eq "root" ? "$bindir/menudrake --usermenu &" : " su $a -c \"$bindir/menudrake &\"") } );
$table->attach ($b2, 1, 2, 1, 2, 'fill', 'fill', 0, 0);
$vbox->pack_start(new Gtk::HSeparator, 0, 0, 5);
my $bbox = new Gtk::HButtonBox;
$vbox->pack_start($bbox, 0, 0, 5);
$bbox->set_layout(-end);
my $button_ok = gtksignal_connect(new Gtk::Button(N("Done")), clicked => sub { my_gtk->exit(0) });
$button_ok->can_default(1);
$bbox->add($button_ok);

$my_win->{window}->show_all;
$my_win->main;
my_gtk->exit(0);