diff -r 5e0fc4f25c44 -r 0fde44ae8f1d redisplay --- a/redisplay Wed Feb 12 22:39:50 2014 +0100 +++ b/redisplay Wed Feb 12 22:54:50 2014 +0100 @@ -24,15 +24,17 @@ my $user = $ENV{USER} // $ENV{LOGNAME} // getpwuid $>; my $host = hostname; - open my $qr, '|qrencode -t ansi256' - or die "$0: Can't open qrencode: $!\n"; + open(my $o, '>&STDOUT'); + if (-t STDIN) { + open STDOUT, '|qrencode -t ansi256' + or die "$0: Can't open qrencode: $!\n"; + } - $qr->printf( - "otpauth://%sotp/%s?secret=%s\n", $method, - url_encode("$user\@$host"), $secret - ); + printf "otpauth://%sotp/%s?secret=%s\n", $method, + url_encode("$user\@$host"), $secret; - close $qr; + close(STDOUT); + } exit main unless caller;