Term-Clui
view release on metacpan or search on metacpan
examples/login_shell view on Meta::CPAN
#########################################################################
# This Perl script is Copyright (c) 2002, Peter J Billam #
# c/o P J B Computing, www.pjb.com.au #
# #
# This script is free software; you can redistribute it and/or #
# modify it under the same terms as Perl itself. #
#########################################################################
use Term::Clui;
use Term::Clui::FileSelect;
my $home = $ENV{'HOME'} || $ENV{'LOGDIR'} || (getpwuid($<))[7];
my $user = $ENV{'USER'} || $ENV{'LOGNAME'} || (getpwuid($<))[0];
my @path = split ':', $ENV{PATH};
my $browser = '';
my $mailer = '';
use Cwd; my $dir = cwd();
while (1) {
my @tasks = ('Browser','Config','ChDir','Edit','FTP', 'IRC','Mail');
if (-r './Makefile') { push (@tasks, 'Make'); }
push (@tasks, 'Manual', 'News');
if (-d "$home/.ssh") { push (@tasks, 'SSH'); }
lib/Term/Clui.pm view on Meta::CPAN
# ----------------------- choose stuff -------------------------
sub debug {
if (! open (DEBUG, '>>/tmp/clui.log')) {
warn "can't open /tmp/clui.log: $!\n"; return;
}
print DEBUG "$_[0]\n"; close DEBUG;
}
my (%irow, %icol, $nrows, $clue_has_been_given, $choice, $this_cell);
my @marked;
my $HOME = $ENV{'HOME'} || $ENV{'LOGDIR'} || (getpwuid($<))[7];
srand(time() ^ ($$+($$<15)));
sub choose { my $question = shift; local @list = @_; # @list must be local
# As from 1.22, allows multiple choice if called in array context
return unless @list;
grep (($_ =~ s/[\r\n]+$//) && 0, @list); # chop final newlines
my @biglist = @list; my $icell; @marked = ();
$question =~ s/^[\n\r]+//; # strip initial newline(s)
lib/Term/Clui.pm view on Meta::CPAN
}
}
}
}
}
sub logit { my ($file, $msg) = @_;
if (! open(LOG, ">> $rcslog")) { warn "can't open $rcslog: $!\n";
} else {
$pid = fork; # log in background for better response time
if (! $pid) {
($user) = getpwuid($>);
print LOG ×tamp, " $file $user $msg\n"; close LOG;
if ($pid == 0) { exit 0; } # the child's end, if a fork occurred
}
}
}
sub timestamp {
# returns current date and time in "199403011 113520" format
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime;
$wday += 0; $yday += 0; $isdst += 0; # avoid bloody -w warning
return sprintf("%4.4d%2.2d%2.2d %2.2d%2.2d%2.2d",
lib/Term/Clui/FileSelect.pm view on Meta::CPAN
our $VERSION = '1.76';
use Term::Clui(':DEFAULT','back_up', 'set_default');
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(select_file);
@EXPORT_OK = qw();
use 5.006;
no strict; no warnings;
my $home = $ENV{HOME} || $ENV{LOGDIR} || (getpwuid($>))[7];
$home =~ s#([^/])$#$1/#;
sub select_file { my %option = @_;
if (!defined $option{'-Path'}) { $option{'-Path'}=$option{'-initialdir'}; }
if (!defined $option{'-FPat'}) { $option{'-FPat'}=$option{'-filter'}; }
if (!defined $option{'-ShowAll'}) {
$option{'-ShowAll'} = $option{'-dotfiles'};
}
if ($option{'-Directory'}) { $option{'-Chdir'}=1; $option{'-SelDir'}=1; }
my $multichoice = 0;
( run in 0.264 second using v1.01-cache-2.11-cpan-454fe037f31 )