22 |
sub xterm { |
sub xterm { |
23 |
my ( $name, $cmd ) = @_; |
my ( $name, $cmd ) = @_; |
24 |
|
|
25 |
|
$name =~ s{\s+}{-}g; |
26 |
my $screenrc = "/tmp/$name.screenrc"; |
my $screenrc = "/tmp/$name.screenrc"; |
|
$screenrc =~ s{\s+}{-}g; |
|
27 |
|
|
28 |
my ($autodetach,$detach) = $ENV{DISPLAY} ? ('off','') : ( 'on', 'detach' ); |
my ($autodetach,$detach) = $ENV{DISPLAY} ? ('off','') : ( 'on', 'detach' ); |
29 |
|
|
52 |
$hash += ord($_) foreach ( split //, $name ); |
$hash += ord($_) foreach ( split //, $name ); |
53 |
my $fg = $cols[ $hash % $#cols ]; |
my $fg = $cols[ $hash % $#cols ]; |
54 |
$exec = "xterm -fg $fg -T '$name' -n '$name' -e '$screen'"; |
$exec = "xterm -fg $fg -T '$name' -n '$name' -e '$screen'"; |
|
warn "XXXX $exec"; |
|
55 |
} else { |
} else { |
56 |
warn "system $screen"; |
$exec = $cmd; |
|
system $screen; |
|
|
return; |
|
57 |
} |
} |
58 |
|
|
59 |
warn "exec $exec"; |
warn "exec $exec"; |