diff --git a/.perlcriticrc b/.perlcriticrc index ad531cd..73d19c2 100644 --- a/.perlcriticrc +++ b/.perlcriticrc @@ -26,4 +26,3 @@ verbose = 8 [-Modules::RequireVersionVar] [-CodeLayout::RequireTidyCode] [-TestingAndDebugging::RequireUseWarnings] -[-ControlStructures::ProhibitDeepNests] diff --git a/i3status-anyevent b/i3status-anyevent index dcf1f90..ab7fd48 100644 --- a/i3status-anyevent +++ b/i3status-anyevent @@ -229,48 +229,48 @@ sub add_events () { fh => \*STDIN, poll => 'r', cb => sub { - while (my $msg = <>) { - unless ($STDIN_FIRST_LINE_DROPPED) { - $STDIN_FIRST_LINE_DROPPED = 1; - next; + my $msg = <>; + + unless ($STDIN_FIRST_LINE_DROPPED) { + $msg = <>; + $STDIN_FIRST_LINE_DROPPED = 1; + } + + if ($msg) { + # drop leading ',' if present + if (substr ($msg, 0, 1) eq ',') { + $msg = substr $msg, 1; } - if ($msg) { - # drop leading ',' if present - if (substr ($msg, 0, 1) eq ',') { - $msg = substr $msg, 1; - } + my $j = eval { decode_json $msg }; - my $j = eval { decode_json $msg }; + if (defined $j) { + # left button click, without shift, ctrl, alt, etc + if (($j->{button} == 1) && ($#{$j->{modifiers}} < 0)) { + foreach (@{$CONF->{apps}}) { + unless (defined $_->{name}) { + next; + } - if (defined $j) { - # left button click, without shift, ctrl, alt, etc - if (($j->{button} == 1) && ($#{$j->{modifiers}} < 0)) { - foreach (@{$CONF->{apps}}) { - unless (defined $_->{name}) { - next; - } + unless (defined $j->{name}) { + next; + } - unless (defined $j->{name}) { - next; - } - - if ($j->{name} eq $_->{name}) { - spawn ($_->{cmd}); - last; - } + if ($j->{name} eq $_->{name}) { + spawn ($_->{cmd}); + last; } } + } - if (($j->{name} eq 'wallclock') && ($CONF->{clock}->{enabled})) { - if ($CONF->{clock}->{left_click}->{enabled}) { - if (($j->{button} == 1) && ($#{$j->{modifiers}} < 0)) { - spawn ($CONF->{clock}->{left_click}->{cmd}); - } - } elsif ($CONF->{clock}->{right_click}->{enabled}) { - if (($j->{button} == 2) && ($#{$j->{modifiers}} < 0)) { - spawn ($CONF->{clock}->{right_click}->{cmd}); - } + if (($j->{name} eq 'wallclock') && ($CONF->{clock}->{enabled})) { + if ($CONF->{clock}->{left_click}->{enabled}) { + if (($j->{button} == 1) && ($#{$j->{modifiers}} < 0)) { + spawn ($CONF->{clock}->{left_click}->{cmd}); + } + } elsif ($CONF->{clock}->{right_click}->{enabled}) { + if (($j->{button} == 2) && ($#{$j->{modifiers}} < 0)) { + spawn ($CONF->{clock}->{right_click}->{cmd}); } } }