App-BrowserUtils
view release on metacpan or search on metacpan
lib/App/BrowserUtils.pm view on Meta::CPAN
filter => sub {
my $p = shift;
# when firefox is upgraded while an instance is still running, the
# exec field becomes empty and we need to use cmndline
my $prog = $p->{exec} || $p->{cmndline};
# in some OS like linux the binary is firefox-bin or firefox-esr,
# while in some other like FreeBSD, it's firefox.
do { $p->{_note} = "program is firefox binary"; goto FOUND } if $prog =~ m(\z|\s)!;
do { $p->{_note} = "fname looks like firefox"; goto FOUND } if $p->{fname} =~ /\A(Web Content|WebExtensions|firefox-bin|firefox-esr|firefox)\z/;
goto NOT_FOUND;
FOUND:
log_trace "Found firefox process (PID=%d, prog (exec|cmndline)=%s, note=%s)", $p->{pid}, $prog, $p->{_note};
return 1;
NOT_FOUND:
0;
},
},
chrome => {
filter => sub {
my $p = shift;
do { $p->{_note} = "fname looks like chrome"; goto FOUND } if $p->{fname} =~ /\A(chrome)\z/;
goto NOT_FOUND;
FOUND:
log_trace "Found chrome process (PID=%d, cmdline=%s, note=%s)", $p->{pid}, $p->{cmndline}, $p->{_note};
return 1;
NOT_FOUND:
0;
},
},
opera => {
filter => sub {
my $p = shift;
do { $p->{_note} = "fname looks like opera"; goto FOUND } if $p->{fname} =~ /\A(opera)\z/;
goto NOT_FOUND;
FOUND:
log_trace "Found opera process (PID=%d, cmdline=%s, note=%s)", $p->{pid}, $p->{cmndline}, $p->{_note};
return 1;
NOT_FOUND:
0;
},
},
vivaldi => {
filter => sub {
my $p = shift;
do { $p->{_note} = "fname looks like vivaldi"; goto FOUND } if $p->{fname} =~ /\A(vivaldi-bin)\z/;
goto NOT_FOUND;
FOUND:
log_trace "Found vivaldi process (PID=%d, cmdline=%s, note=%s)", $p->{pid}, $p->{cmndline}, $p->{_note};
return 1;
NOT_FOUND:
0;
},
},
brave => {
filter => sub {
my $p = shift;
do { $p->{_note} = "fname looks like brave"; goto FOUND } if $p->{fname} =~ /\A(brave)\z/;
goto NOT_FOUND;
FOUND:
log_trace "Found brave process (PID=%d, cmdline=%s, note=%s)", $p->{pid}, $p->{cmndline}, $p->{_note};
return 1;
NOT_FOUND:
0;
},
},
);
( run in 0.418 second using v1.01-cache-2.11-cpan-64827b87656 )