diff options
-rwxr-xr-x | control-center | 12 | ||||
-rwxr-xr-x | menu.pm | 64 |
2 files changed, 71 insertions, 5 deletions
diff --git a/control-center b/control-center index d628ff4e..23fc1d67 100755 --- a/control-center +++ b/control-center @@ -134,15 +134,16 @@ map { create_tree_item($tree, $_->[0] , "$xpm_path_l/$_->[1]",1); } ([_("Boot"), 'boot-mdk.png'] , [_("Hardware"), 'drakhard-mdk.png'] , #[_("User and Groups"),'adduserdrake-mdk.png'], - [_("Network & Internet"),'net-mdk.png'] , [_("System"),'system-mdk.png']); + [_("Network & Internet"),'net-mdk.png'] , [_("Security"),'security-mdk.png'], [_("System"),'system-mdk.png']); map { create_tree_item($treeitem_sub[int($_->[2])],$_->[0], "$xpm_path_l/$_->[1]",0); -} ([_("Boot Disk"), 'drakfloppy-mdk.png',3] , [_("Boot Config"),'drakboot-mdk.png',3] , - [_("Display"),'XFdrake-mdk.png',2] , [_("Hardware"),'harddrake-mdk.png',2] , [_("Mouse"), 'mousedrake-mdk.png',2] , - [_("Printer"),'printer-mdk.png',2] , [_("Keyboard"), 'keyboard-mdk.png',2], +} ([_("Boot Disk"), 'drakfloppy-mdk.png',3] , [_("Boot Config"),'drakboot-mdk.png',4] , + [_("Display"),'XFdrake-mdk.png',3] , [_("Hardware"),'harddrake-mdk.png',3] , [_("Mouse"), 'mousedrake-mdk.png',3] , + [_("Printer"),'printer-mdk.png',3] , [_("Keyboard"), 'keyboard-mdk.png',3], # [_("Users Config"),'item.png',3] , - [_("Connection") , 'draknet-mdk.png',1] , [_("Connection Sharing"),'drakgw-mdk.png',1], [_("Firewalling"), 'firewall-mdk.png',1], + [_("Connection") , 'draknet-mdk.png',2] , [_("Connection Sharing"),'drakgw-mdk.png',2], + [_("Security Level"), 'draksec-mdk.png',1], [_("Firewalling"), 'firewall-mdk.png',1], [_("System Menus") , 'menudrake-mdk.png',0], [_("Root Menus") , 'menudrake-mdk.png',0] , [_("Services") , 'service-mdk.png' , 0], [_("Fonts"), 'drakfont-mdk.png',0], [_("Date & Time") , 'time-mdk.png',0], [_("Software Manager"), 'harddrake-mdk.png',0] @@ -157,6 +158,7 @@ my %tree_exec = (_("Boot Disk") => "$_xbindir/drakfloppy", _("Boot Config") => " _("Connection") => "$_sbindir/draknet" , _("Connection Sharing") => "$_sbindir/drakgw" , _("Firewalling") => "$_sbindir/tinyfirewall" , + _("Security Level") => "$_sbindir/draksec" , _("Date & Time") => "$_sbindir/clock.pm", _("Root Menus") => "$_bindir/menudrake --usermenu" , _("Services") => "$_sbindir/drakxservices", _("System Menus") => "$_bindir/menudrake --systemmenu", _("Fonts") => "$_xbindir/drakfont", diff --git a/menu.pm b/menu.pm new file mode 100755 index 00000000..32b3c93d --- /dev/null +++ b/menu.pm @@ -0,0 +1,64 @@ +#!/usr/bin/perl + +use Gtk; +init Gtk; +use POSIX; +use Locale::GetText; + +setlocale (LC_ALL, ""); +Locale::GetText::textdomain ("DrakConf"); +import Locale::GetText I_; +sub _ { + my $s = shift @_; my $t = I_($s); + $t && ref $t or return sprintf $t, @_; + my ($T, @p) = @$t; + sprintf $T, @_[@p]; +} + +my $_bindir = "/usr/bin/"; +$::isEmbedded = ($::XID, $::CCPID) = "@ARGV" =~ /--embedded (\w+) (\w+)/; +my $window = $::isEmbedded ? new Gtk::Plug ($::XID) : new Gtk::Window -toplevel; +$window->signal_connect ( delete_event => \&quit_global ); +my $vbox = new Gtk::VBox(0,0); +$window->add($vbox); +$vbox->pack_start(new Gtk::Label(_("Menu Configuration Center\n\nChoose which menu you want to configure")),1,1,0); +$vbox->pack_start(new Gtk::HSeparator,1,1,5); +my $table = new Gtk::Table (3,2, 0); +$table->set_border_width(5); +$table->set_row_spacings(5); +$table->set_col_spacings(5); +$vbox->pack_start($table,1,1,5); +$table->attach (new Gtk::Label(_("System menu")), 0, 1, 0, 1, 'fill', 'fill', 0, 0); +my $b1 = new Gtk::Button(_("Configure...")); +$b1->signal_connect( clicked => sub { system("$_bindir/menudrake --systemmenu & "); } ); +$table->attach ($b1, 1, 2, 0, 1, 'fill', 'fill', 0, 0); +$table->attach (new Gtk::Label(_("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); + } 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 = new Gtk::Button(_("Configure...")); +$b2->signal_connect( clicked => sub { my $a = $combo->entry->get_text(); + $a eq "root" ? + system("$_bindir/menudrake --usermenu &") : + system(" su $a -c \"$_bindir/menudrake &\""); + } ); +$table->attach ($b2, 1, 2, 1, 2, 'fill', 'fill', 0, 0); +$vbox->pack_start(new Gtk::HSeparator,1,1,5); +my $bbox = new Gtk::HButtonBox; +$vbox->pack_start($bbox,0,0,0); +$bbox->set_layout(-end); +my $button_ok = new Gtk::Button _("OK"); +$button_ok->signal_connect ( clicked => sub { $::isEmbedded ? kill(USR1, $::CCPID) : Gtk->exit(0); }); +$bbox->add($button_ok); + +$window->show_all; + +Gtk->main_iteration while Gtk->events_pending; +$::isEmbedded and kill USR2, $::CCPID; +Gtk->main; |