0

Revert "Read all supplied lines from STDIN, not just first one."

This reverts commit 08bf20d43a. Do not
read whole STDIN as it somehow breaks whidow tracking feature.
This commit is contained in:
Sergei Fedosov
2021-07-20 12:04:19 +03:00
parent 08bf20d43a
commit 371dc68667
2 changed files with 34 additions and 35 deletions

View File

@@ -26,4 +26,3 @@ verbose = 8
[-Modules::RequireVersionVar]
[-CodeLayout::RequireTidyCode]
[-TestingAndDebugging::RequireUseWarnings]
[-ControlStructures::ProhibitDeepNests]

View File

@@ -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});
}
}
}