X-Git-Url: https://ruderich.org/simon/gitweb/?p=fcscs%2Ffcscs.git;a=blobdiff_plain;f=bin%2Ffcscs;h=50faa1adccef22af48defbfa9271a0f6c8760cbe;hp=5b68c2b022a76f445db3f9c652a7f65e343d9bbb;hb=d9de4bc8ae027821a1829f5b73ae551aca416979;hpb=f124504b5d88971f1740b01faed809a63825fe17 diff --git a/bin/fcscs b/bin/fcscs index 5b68c2b..50faa1a 100755 --- a/bin/fcscs +++ b/bin/fcscs @@ -264,6 +264,8 @@ package Screen { sub draw_prompt { my ($self, $config) = @_; + $self->debug('draw_prompt', 'started'); + my $x = 0; my $y = $self->height - 1; @@ -273,17 +275,20 @@ package Screen { # Draw prompt flags. if (defined (my $s = $self->{prompt}{flags})) { $s = "[$s]"; + $self->debug('draw_prompt', $s); $self->draw_clipped($y, $x, $config->{attribute}{prompt_flags}, $s); $x += length($s) + 1; # space between next element } # Draw prompt name. if (defined (my $s = $self->{prompt}{name})) { $s = "[$s]"; + $self->debug('draw_prompt', $s); $self->draw_clipped($y, $x, $config->{attribute}{prompt_name}, $s); $x += length($s) + 1; } # Draw prompt value, e.g. a search field. if (defined (my $s = $self->{prompt}{value})) { + $self->debug('draw_prompt', $s); $self->draw_clipped($y, $x, undef, $s); $x += length($s) + 1; } @@ -355,6 +360,9 @@ package Screen { } } + foreach (@args) { + $_ = $self->encode($_); + } say $fh "$module: @args"; return; } @@ -456,7 +464,8 @@ sub run_command { # a working $$. no warnings; - system { $cmd->[0] } @{$cmd}; + my @cmd = map { $screen->encode($_) } @{$cmd}; + system { $cmd[0] } @cmd; }; if ($exit != 0) { my $msg; @@ -895,10 +904,7 @@ sub handler_url { $screen->debug('handler_url', "opening $match->{value}"); run_in_background($screen, sub { - my @cmd = map { $screen->encode($_) } ( - @{$config->{setting}{browser}}, - $match->{value}, - ); + my @cmd = ( @{$config->{setting}{browser}}, $match->{value} ); run_command($screen, $config, \@cmd); }); return;