App-BrowserUtils

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

        - Recognize firefox-esr as firefox.


0.018   2022-10-07  Released-By: PERLANCAR; Urgency: medium

        - Recognize brave-browser.


0.017   2022-07-24  Released-By: PERLANCAR; Urgency: medium

        - Replaca old schema name unix::local_uid with unix::uid::exists.


0.016   2022-05-20  Released-By: PERLANCAR; Urgency: medium

        - Add argument 'signal' for terminate.


0.015   2021-09-27  Released-By: PERLANCAR; Urgency: low

	- [cli pause-and-unpause-browsers] Tweak option --periods (--period

Changes  view on Meta::CPAN



0.005   2020-04-19  Released-By: PERLANCAR; Urgency: medium

	- Support action 'is_running'.


0.004   2020-04-11  Released-By: PERLANCAR; Urgency: medium

        - [build] Rebuild to update Sah coerce rule modules
          (Sah::Schema::unix::local_uid now uses filters instead of coercion
          rules to convert between username/uid).


0.003   2019-12-10  Released-By: PERLANCAR; Urgency: low

	- No functional changes.

	- [doc] Mention supported browsers in Description.


META.json  view on Meta::CPAN

            "Data::Sah::Coerce::perl::To_duration::From_str::human" : "0",
            "Data::Sah::Coerce::perl::To_duration::From_str::iso8601" : "0",
            "Data::Sah::Compiler::perl::TH::any" : "0.914",
            "Data::Sah::Compiler::perl::TH::array" : "0.914",
            "Data::Sah::Compiler::perl::TH::bool" : "0.914",
            "Data::Sah::Compiler::perl::TH::duration" : "0.914",
            "Data::Sah::Compiler::perl::TH::int" : "0.914",
            "Data::Sah::Compiler::perl::TH::re" : "0.914",
            "Data::Sah::Compiler::perl::TH::str" : "0.914",
            "Data::Sah::Filter::perl::Re::re_from_str" : "0",
            "Data::Sah::Filter::perl::Unix::check_uid_exists" : "0",
            "Data::Sah::Filter::perl::Unix::convert_unix_user_to_uid" : "0",
            "Hash::Subset" : "0.007",
            "Log::ger" : "0.038",
            "Perinci::CmdLine::Any" : "0.154",
            "Perinci::CmdLine::Lite" : "1.924",
            "Proc::Background" : "0",
            "Proc::Find" : "0.051",
            "Sah::Schema::re_from_str" : "0",
            "Sah::Schema::true" : "0",
            "Sah::Schema::unix::signal" : "0",
            "Sah::Schema::unix::uid::exists" : "0",
            "perl" : "5.010001",
            "strict" : "0",
            "warnings" : "0"
         }
      },
      "test" : {
         "requires" : {
            "File::Spec" : "0",
            "IO::Handle" : "0",
            "IPC::Open3" : "0",

META.yml  view on Meta::CPAN

  Data::Sah::Coerce::perl::To_duration::From_str::human: '0'
  Data::Sah::Coerce::perl::To_duration::From_str::iso8601: '0'
  Data::Sah::Compiler::perl::TH::any: '0.914'
  Data::Sah::Compiler::perl::TH::array: '0.914'
  Data::Sah::Compiler::perl::TH::bool: '0.914'
  Data::Sah::Compiler::perl::TH::duration: '0.914'
  Data::Sah::Compiler::perl::TH::int: '0.914'
  Data::Sah::Compiler::perl::TH::re: '0.914'
  Data::Sah::Compiler::perl::TH::str: '0.914'
  Data::Sah::Filter::perl::Re::re_from_str: '0'
  Data::Sah::Filter::perl::Unix::check_uid_exists: '0'
  Data::Sah::Filter::perl::Unix::convert_unix_user_to_uid: '0'
  Hash::Subset: '0.007'
  Log::ger: '0.038'
  Perinci::CmdLine::Any: '0.154'
  Perinci::CmdLine::Lite: '1.924'
  Proc::Background: '0'
  Proc::Find: '0.051'
  Sah::Schema::re_from_str: '0'
  Sah::Schema::true: '0'
  Sah::Schema::unix::signal: '0'
  Sah::Schema::unix::uid::exists: '0'
  perl: '5.010001'
  strict: '0'
  warnings: '0'
resources:
  bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=App-BrowserUtils
  homepage: https://metacpan.org/release/App-BrowserUtils
  repository: git://github.com/perlancar/perl-App-BrowserUtils.git
version: '0.019'
x_Dist_Zilla:
  perl:

Makefile.PL  view on Meta::CPAN

    "Data::Sah::Coerce::perl::To_duration::From_str::human" => 0,
    "Data::Sah::Coerce::perl::To_duration::From_str::iso8601" => 0,
    "Data::Sah::Compiler::perl::TH::any" => "0.914",
    "Data::Sah::Compiler::perl::TH::array" => "0.914",
    "Data::Sah::Compiler::perl::TH::bool" => "0.914",
    "Data::Sah::Compiler::perl::TH::duration" => "0.914",
    "Data::Sah::Compiler::perl::TH::int" => "0.914",
    "Data::Sah::Compiler::perl::TH::re" => "0.914",
    "Data::Sah::Compiler::perl::TH::str" => "0.914",
    "Data::Sah::Filter::perl::Re::re_from_str" => 0,
    "Data::Sah::Filter::perl::Unix::check_uid_exists" => 0,
    "Data::Sah::Filter::perl::Unix::convert_unix_user_to_uid" => 0,
    "Hash::Subset" => "0.007",
    "Log::ger" => "0.038",
    "Perinci::CmdLine::Any" => "0.154",
    "Perinci::CmdLine::Lite" => "1.924",
    "Proc::Background" => 0,
    "Proc::Find" => "0.051",
    "Sah::Schema::re_from_str" => 0,
    "Sah::Schema::true" => 0,
    "Sah::Schema::unix::signal" => 0,
    "Sah::Schema::unix::uid::exists" => 0,
    "strict" => 0,
    "warnings" => 0
  },
  "TEST_REQUIRES" => {
    "File::Spec" => 0,
    "IO::Handle" => 0,
    "IPC::Open3" => 0,
    "Test::More" => 0
  },
  "VERSION" => "0.019",

Makefile.PL  view on Meta::CPAN

  "Data::Sah::Coerce::perl::To_duration::From_str::human" => 0,
  "Data::Sah::Coerce::perl::To_duration::From_str::iso8601" => 0,
  "Data::Sah::Compiler::perl::TH::any" => "0.914",
  "Data::Sah::Compiler::perl::TH::array" => "0.914",
  "Data::Sah::Compiler::perl::TH::bool" => "0.914",
  "Data::Sah::Compiler::perl::TH::duration" => "0.914",
  "Data::Sah::Compiler::perl::TH::int" => "0.914",
  "Data::Sah::Compiler::perl::TH::re" => "0.914",
  "Data::Sah::Compiler::perl::TH::str" => "0.914",
  "Data::Sah::Filter::perl::Re::re_from_str" => 0,
  "Data::Sah::Filter::perl::Unix::check_uid_exists" => 0,
  "Data::Sah::Filter::perl::Unix::convert_unix_user_to_uid" => 0,
  "File::Spec" => 0,
  "Hash::Subset" => "0.007",
  "IO::Handle" => 0,
  "IPC::Open3" => 0,
  "Log::ger" => "0.038",
  "Perinci::CmdLine::Any" => "0.154",
  "Perinci::CmdLine::Lite" => "1.924",
  "Proc::Background" => 0,
  "Proc::Find" => "0.051",
  "Sah::Schema::re_from_str" => 0,
  "Sah::Schema::true" => 0,
  "Sah::Schema::unix::signal" => 0,
  "Sah::Schema::unix::uid::exists" => 0,
  "Test::More" => 0,
  "strict" => 0,
  "warnings" => 0
);


unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
  delete $WriteMakefileArgs{TEST_REQUIRES};
  delete $WriteMakefileArgs{BUILD_REQUIRES};
  $WriteMakefileArgs{PREREQ_PM} = \%FallbackPrereqs;

README  view on Meta::CPAN


        If one of the "*-pat" options are specified, then instead of the
        default heuristic rules to find the browser processes, these "*-pat"
        options are solely used to determine which processes are the browser
        processes.

    *   quiet => *true*

        (No description)

    *   users => *array[unix::uid::exists]*

        Kill browser processes that belong to certain user(s) only.

    Returns an enveloped result (an array).

    First element ($status_code) is an integer containing HTTP-like status
    code (200 means OK, 4xx caller error, 5xx function error). Second
    element ($reason) is a string containing error message, or something
    like "OK" if status is 200. Third element ($payload) is the actual
    result, but usually not present when enveloped result is an error

README  view on Meta::CPAN

    Usage:

     pause_and_unpause_browsers(%args) -> [$status_code, $reason, $payload, \%result_meta]

    Pause and unpause browsers alternately.

    A modern browser now runs complex web pages and applications. Despite
    browser's power management feature, these pages/tabs on the browser
    often still eat considerable CPU cycles even though they only run in the
    background. Pausing (kill -STOP) the browser processes is a simple and
    effective way to stop CPU eating on Unix and prolong your laptop battery
    life. It can be performed whenever you are not using your browser for a
    little while, e.g. when you are typing on an editor or watching a movie.
    When you want to use your browser again, simply unpause (kill -CONT) it.

    The "pause-and-unpause" action pause and unpause browser in an alternate
    fashion, by default every 5 minutes and 30 seconds. This is a compromise
    to save CPU time most of the time but then give time for web
    applications in the browser to catch up during the unpause window (e.g.
    for WhatsApp Web to display new messages and sound notification.) It can
    be used when you are not browsing but still want to be notified by web

README  view on Meta::CPAN


    *   pid_pat => *re_from_str*

        Filter processes using regex against their pid.

        If one of the "*-pat" options are specified, then instead of the
        default heuristic rules to find the browser processes, these "*-pat"
        options are solely used to determine which processes are the browser
        processes.

    *   users => *array[unix::uid::exists]*

        Kill browser processes that belong to certain user(s) only.

    Returns an enveloped result (an array).

    First element ($status_code) is an integer containing HTTP-like status
    code (200 means OK, 4xx caller error, 5xx function error). Second
    element ($reason) is a string containing error message, or something
    like "OK" if status is 200. Third element ($payload) is the actual
    result, but usually not present when enveloped result is an error

README  view on Meta::CPAN

    Usage:

     pause_browsers(%args) -> [$status_code, $reason, $payload, \%result_meta]

    Pause (kill -STOP) browsers.

    A modern browser now runs complex web pages and applications. Despite
    browser's power management feature, these pages/tabs on the browser
    often still eat considerable CPU cycles even though they only run in the
    background. Pausing (kill -STOP) the browser processes is a simple and
    effective way to stop CPU eating on Unix and prolong your laptop battery
    life. It can be performed whenever you are not using your browser for a
    little while, e.g. when you are typing on an editor or watching a movie.
    When you want to use your browser again, simply unpause (kill -CONT) it.

    See also the "unpause_browsers" and the "pause_and_unpause_browsers"
    routines.

    This function is not exported.

    Arguments ('*' denotes required arguments):

README  view on Meta::CPAN


    *   pid_pat => *re_from_str*

        Filter processes using regex against their pid.

        If one of the "*-pat" options are specified, then instead of the
        default heuristic rules to find the browser processes, these "*-pat"
        options are solely used to determine which processes are the browser
        processes.

    *   users => *array[unix::uid::exists]*

        Kill browser processes that belong to certain user(s) only.

    Returns an enveloped result (an array).

    First element ($status_code) is an integer containing HTTP-like status
    code (200 means OK, 4xx caller error, 5xx function error). Second
    element ($reason) is a string containing error message, or something
    like "OK" if status is 200. Third element ($payload) is the actual
    result, but usually not present when enveloped result is an error

README  view on Meta::CPAN


    *   pid_pat => *re_from_str*

        Filter processes using regex against their pid.

        If one of the "*-pat" options are specified, then instead of the
        default heuristic rules to find the browser processes, these "*-pat"
        options are solely used to determine which processes are the browser
        processes.

    *   users => *array[unix::uid::exists]*

        Kill browser processes that belong to certain user(s) only.

    Returns an enveloped result (an array).

    First element ($status_code) is an integer containing HTTP-like status
    code (200 means OK, 4xx caller error, 5xx function error). Second
    element ($reason) is a string containing error message, or something
    like "OK" if status is 200. Third element ($payload) is the actual
    result, but usually not present when enveloped result is an error

README  view on Meta::CPAN


    *   pid_pat => *re_from_str*

        Filter processes using regex against their pid.

        If one of the "*-pat" options are specified, then instead of the
        default heuristic rules to find the browser processes, these "*-pat"
        options are solely used to determine which processes are the browser
        processes.

    *   signal => *unix::signal*

        (No description)

    *   users => *array[unix::uid::exists]*

        Kill browser processes that belong to certain user(s) only.

    Returns an enveloped result (an array).

    First element ($status_code) is an integer containing HTTP-like status
    code (200 means OK, 4xx caller error, 5xx function error). Second
    element ($reason) is a string containing error message, or something
    like "OK" if status is 200. Third element ($payload) is the actual
    result, but usually not present when enveloped result is an error

README  view on Meta::CPAN


    *   pid_pat => *re_from_str*

        Filter processes using regex against their pid.

        If one of the "*-pat" options are specified, then instead of the
        default heuristic rules to find the browser processes, these "*-pat"
        options are solely used to determine which processes are the browser
        processes.

    *   users => *array[unix::uid::exists]*

        Kill browser processes that belong to certain user(s) only.

    Returns an enveloped result (an array).

    First element ($status_code) is an integer containing HTTP-like status
    code (200 means OK, 4xx caller error, 5xx function error). Second
    element ($reason) is a string containing error message, or something
    like "OK" if status is 200. Third element ($payload) is the actual
    result, but usually not present when enveloped result is an error

lib/App/BrowserUtils.pm  view on Meta::CPAN

    restart_brave => {
        schema => 'bool*',
    },
);

our %argopt_users = (
    users => {
        'x.name.is_plural' => 1,
        'x.name.singular' => 'user',
        summary => 'Kill browser processes that belong to certain user(s) only',
        schema => ['array*', of=>'unix::uid::exists*', 'x.perl.coerce_rules' => ['From_str::comma_sep']],
    },
);

our %argopt_quiet = (
    quiet => {
        schema => 'true*',
        cmdline_aliases => {q=>{}},
    },
);

our %argopt_signal = (
    signal => {
        schema=>'unix::signal*',
        cmdline_aliases => {s=>{}},
    },
);

our %argopt_periods = (
    periods => {
        'x.name.is_plural' => 1,
        'x.name.singular' => 'period',
        summary => 'Pause and unpause times, in seconds',
        schema => ['array*', {

lib/App/BrowserUtils.pm  view on Meta::CPAN

    %argopt_fname_pat,
    %argopt_pid_pat,
);

our $desc_pause = <<'MARKDOWN';

A modern browser now runs complex web pages and applications. Despite browser's
power management feature, these pages/tabs on the browser often still eat
considerable CPU cycles even though they only run in the background. Pausing
(kill -STOP) the browser processes is a simple and effective way to stop CPU
eating on Unix and prolong your laptop battery life. It can be performed
whenever you are not using your browser for a little while, e.g. when you are
typing on an editor or watching a movie. When you want to use your browser
again, simply unpause (kill -CONT) it.

MARKDOWN

our $desc_pause_and_unpause = $desc_pause . <<'MARKDOWN';
The `pause-and-unpause` action pause and unpause browser in an alternate
fashion, by default every 5 minutes and 30 seconds. This is a compromise to save
CPU time most of the time but then give time for web applications in the browser

lib/App/BrowserUtils.pm  view on Meta::CPAN

Filter processes using regex against their pid.

If one of the C<*-pat> options are specified, then instead of the default
heuristic rules to find the browser processes, these C<*-pat> options are solely
used to determine which processes are the browser processes.

=item * B<quiet> => I<true>

(No description)

=item * B<users> => I<array[unix::uid::exists]>

Kill browser processes that belong to certain user(s) only.


=back

Returns an enveloped result (an array).

First element ($status_code) is an integer containing HTTP-like status code
(200 means OK, 4xx caller error, 5xx function error). Second element

lib/App/BrowserUtils.pm  view on Meta::CPAN

Usage:

 pause_and_unpause_browsers(%args) -> [$status_code, $reason, $payload, \%result_meta]

Pause and unpause browsers alternately.

A modern browser now runs complex web pages and applications. Despite browser's
power management feature, these pages/tabs on the browser often still eat
considerable CPU cycles even though they only run in the background. Pausing
(kill -STOP) the browser processes is a simple and effective way to stop CPU
eating on Unix and prolong your laptop battery life. It can be performed
whenever you are not using your browser for a little while, e.g. when you are
typing on an editor or watching a movie. When you want to use your browser
again, simply unpause (kill -CONT) it.

The C<pause-and-unpause> action pause and unpause browser in an alternate
fashion, by default every 5 minutes and 30 seconds. This is a compromise to save
CPU time most of the time but then give time for web applications in the browser
to catch up during the unpause window (e.g. for WhatsApp Web to display new
messages and sound notification.) It can be used when you are not browsing but
still want to be notified by web applications from time to time.

lib/App/BrowserUtils.pm  view on Meta::CPAN

 300,10,120,30

=item * B<pid_pat> => I<re_from_str>

Filter processes using regex against their pid.

If one of the C<*-pat> options are specified, then instead of the default
heuristic rules to find the browser processes, these C<*-pat> options are solely
used to determine which processes are the browser processes.

=item * B<users> => I<array[unix::uid::exists]>

Kill browser processes that belong to certain user(s) only.


=back

Returns an enveloped result (an array).

First element ($status_code) is an integer containing HTTP-like status code
(200 means OK, 4xx caller error, 5xx function error). Second element

lib/App/BrowserUtils.pm  view on Meta::CPAN

Usage:

 pause_browsers(%args) -> [$status_code, $reason, $payload, \%result_meta]

Pause (kill -STOP) browsers.

A modern browser now runs complex web pages and applications. Despite browser's
power management feature, these pages/tabs on the browser often still eat
considerable CPU cycles even though they only run in the background. Pausing
(kill -STOP) the browser processes is a simple and effective way to stop CPU
eating on Unix and prolong your laptop battery life. It can be performed
whenever you are not using your browser for a little while, e.g. when you are
typing on an editor or watching a movie. When you want to use your browser
again, simply unpause (kill -CONT) it.

See also the C<unpause_browsers> and the C<pause_and_unpause_browsers> routines.

This function is not exported.

Arguments ('*' denotes required arguments):

lib/App/BrowserUtils.pm  view on Meta::CPAN

used to determine which processes are the browser processes.

=item * B<pid_pat> => I<re_from_str>

Filter processes using regex against their pid.

If one of the C<*-pat> options are specified, then instead of the default
heuristic rules to find the browser processes, these C<*-pat> options are solely
used to determine which processes are the browser processes.

=item * B<users> => I<array[unix::uid::exists]>

Kill browser processes that belong to certain user(s) only.


=back

Returns an enveloped result (an array).

First element ($status_code) is an integer containing HTTP-like status code
(200 means OK, 4xx caller error, 5xx function error). Second element

lib/App/BrowserUtils.pm  view on Meta::CPAN

used to determine which processes are the browser processes.

=item * B<pid_pat> => I<re_from_str>

Filter processes using regex against their pid.

If one of the C<*-pat> options are specified, then instead of the default
heuristic rules to find the browser processes, these C<*-pat> options are solely
used to determine which processes are the browser processes.

=item * B<users> => I<array[unix::uid::exists]>

Kill browser processes that belong to certain user(s) only.


=back

Returns an enveloped result (an array).

First element ($status_code) is an integer containing HTTP-like status code
(200 means OK, 4xx caller error, 5xx function error). Second element

lib/App/BrowserUtils.pm  view on Meta::CPAN

used to determine which processes are the browser processes.

=item * B<pid_pat> => I<re_from_str>

Filter processes using regex against their pid.

If one of the C<*-pat> options are specified, then instead of the default
heuristic rules to find the browser processes, these C<*-pat> options are solely
used to determine which processes are the browser processes.

=item * B<signal> => I<unix::signal>

(No description)

=item * B<users> => I<array[unix::uid::exists]>

Kill browser processes that belong to certain user(s) only.


=back

Returns an enveloped result (an array).

First element ($status_code) is an integer containing HTTP-like status code
(200 means OK, 4xx caller error, 5xx function error). Second element

lib/App/BrowserUtils.pm  view on Meta::CPAN

used to determine which processes are the browser processes.

=item * B<pid_pat> => I<re_from_str>

Filter processes using regex against their pid.

If one of the C<*-pat> options are specified, then instead of the default
heuristic rules to find the browser processes, these C<*-pat> options are solely
used to determine which processes are the browser processes.

=item * B<users> => I<array[unix::uid::exists]>

Kill browser processes that belong to certain user(s) only.


=back

Returns an enveloped result (an array).

First element ($status_code) is an integer containing HTTP-like status code
(200 means OK, 4xx caller error, 5xx function error). Second element

script/browsers-are-paused  view on Meta::CPAN

=head1 VERSION

This document describes version 0.019 of browsers-are-paused (from Perl distribution App-BrowserUtils), released on 2023-10-28.

=head1 SYNOPSIS

B<browsers-are-paused> B<L<--help|/"--help, -h, -?">> (or B<L<-h|/"--help, -h, -?">>, B<L<-?|/"--help, -h, -?">>)

B<browsers-are-paused> B<L<--version|/"--version, -v">> (or B<L<-v|/"--version, -v">>)

B<browsers-are-paused> [B<L<--cmndline-pat|/"--cmndline-pat=s">>=I<L<re_from_str|Sah::Schema::re_from_str>>] [B<L<--debug|/"--debug">>|B<L<--log-level|/"--log-level=s">>=I<level>|B<L<--quiet|/"--quiet">>|B<L<--trace|/"--trace">>|B<L<--verbose|/"--ver...

=head1 DESCRIPTION

Browser is defined as paused if I<all> of its processes are in 'stop' state.

=head1 OPTIONS

C<*> marks required options.

=head2 Main options

script/kill-browsers  view on Meta::CPAN

=head1 VERSION

This document describes version 0.019 of kill-browsers (from Perl distribution App-BrowserUtils), released on 2023-10-28.

=head1 SYNOPSIS

B<kill-browsers> B<L<--help|/"--help, -h, -?">> (or B<L<-h|/"--help, -h, -?">>, B<L<-?|/"--help, -h, -?">>)

B<kill-browsers> B<L<--version|/"--version, -v">> (or B<L<-v|/"--version, -v">>)

B<kill-browsers> [B<L<--cmndline-pat|/"--cmndline-pat=s">>=I<L<re_from_str|Sah::Schema::re_from_str>>] [B<L<--debug|/"--debug">>|B<L<--log-level|/"--log-level=s">>=I<level>|B<L<--quiet|/"--quiet">>|B<L<--trace|/"--trace">>|B<L<--verbose|/"--verbose">...

=head1 OPTIONS

C<*> marks required options.

=head2 Main options

=over

=item B<--signal>=I<s>, B<-s>

script/pause-and-unpause-browsers  view on Meta::CPAN

=head1 VERSION

This document describes version 0.019 of pause-and-unpause-browsers (from Perl distribution App-BrowserUtils), released on 2023-10-28.

=head1 SYNOPSIS

B<pause-and-unpause-browsers> B<L<--help|/"--help, -h, -?">> (or B<L<-h|/"--help, -h, -?">>, B<L<-?|/"--help, -h, -?">>)

B<pause-and-unpause-browsers> B<L<--version|/"--version, -v">> (or B<L<-v|/"--version, -v">>)

B<pause-and-unpause-browsers> [B<L<--cmndline-pat|/"--cmndline-pat=s">>=I<L<re_from_str|Sah::Schema::re_from_str>>] [B<L<--debug|/"--debug">>|B<L<--log-level|/"--log-level=s">>=I<level>|B<L<--quiet|/"--quiet">>|B<L<--trace|/"--trace">>|B<L<--verbose|...

=head1 DESCRIPTION

A modern browser now runs complex web pages and applications. Despite browser's
power management feature, these pages/tabs on the browser often still eat
considerable CPU cycles even though they only run in the background. Pausing
(kill -STOP) the browser processes is a simple and effective way to stop CPU
eating on Unix and prolong your laptop battery life. It can be performed
whenever you are not using your browser for a little while, e.g. when you are
typing on an editor or watching a movie. When you want to use your browser
again, simply unpause (kill -CONT) it.

The C<pause-and-unpause> action pause and unpause browser in an alternate
fashion, by default every 5 minutes and 30 seconds. This is a compromise to save
CPU time most of the time but then give time for web applications in the browser
to catch up during the unpause window (e.g. for WhatsApp Web to display new
messages and sound notification.) It can be used when you are not browsing but
still want to be notified by web applications from time to time.

script/pause-browsers  view on Meta::CPAN

=head1 VERSION

This document describes version 0.019 of pause-browsers (from Perl distribution App-BrowserUtils), released on 2023-10-28.

=head1 SYNOPSIS

B<pause-browsers> B<L<--help|/"--help, -h, -?">> (or B<L<-h|/"--help, -h, -?">>, B<L<-?|/"--help, -h, -?">>)

B<pause-browsers> B<L<--version|/"--version, -v">> (or B<L<-v|/"--version, -v">>)

B<pause-browsers> [B<L<--cmndline-pat|/"--cmndline-pat=s">>=I<L<re_from_str|Sah::Schema::re_from_str>>] [B<L<--debug|/"--debug">>|B<L<--log-level|/"--log-level=s">>=I<level>|B<L<--quiet|/"--quiet">>|B<L<--trace|/"--trace">>|B<L<--verbose|/"--verbose"...

=head1 DESCRIPTION

A modern browser now runs complex web pages and applications. Despite browser's
power management feature, these pages/tabs on the browser often still eat
considerable CPU cycles even though they only run in the background. Pausing
(kill -STOP) the browser processes is a simple and effective way to stop CPU
eating on Unix and prolong your laptop battery life. It can be performed
whenever you are not using your browser for a little while, e.g. when you are
typing on an editor or watching a movie. When you want to use your browser
again, simply unpause (kill -CONT) it.

See also the C<unpause_browsers> and the C<pause_and_unpause_browsers> routines.

=head1 OPTIONS

C<*> marks required options.

script/ps-browsers  view on Meta::CPAN

=head1 VERSION

This document describes version 0.019 of ps-browsers (from Perl distribution App-BrowserUtils), released on 2023-10-28.

=head1 SYNOPSIS

B<ps-browsers> B<L<--help|/"--help, -h, -?">> (or B<L<-h|/"--help, -h, -?">>, B<L<-?|/"--help, -h, -?">>)

B<ps-browsers> B<L<--version|/"--version, -v">> (or B<L<-v|/"--version, -v">>)

B<ps-browsers> [B<L<--cmndline-pat|/"--cmndline-pat=s">>=I<L<re_from_str|Sah::Schema::re_from_str>>] [B<L<--debug|/"--debug">>|B<L<--log-level|/"--log-level=s">>=I<level>|B<L<--quiet|/"--quiet">>|B<L<--trace|/"--trace">>|B<L<--verbose|/"--verbose">>]...

=head1 OPTIONS

C<*> marks required options.

=head2 Main options

=over

=item B<--user>=I<s@>

script/terminate-browsers  view on Meta::CPAN

=head1 VERSION

This document describes version 0.019 of terminate-browsers (from Perl distribution App-BrowserUtils), released on 2023-10-28.

=head1 SYNOPSIS

B<terminate-browsers> B<L<--help|/"--help, -h, -?">> (or B<L<-h|/"--help, -h, -?">>, B<L<-?|/"--help, -h, -?">>)

B<terminate-browsers> B<L<--version|/"--version, -v">> (or B<L<-v|/"--version, -v">>)

B<terminate-browsers> [B<L<--cmndline-pat|/"--cmndline-pat=s">>=I<L<re_from_str|Sah::Schema::re_from_str>>] [B<L<--debug|/"--debug">>|B<L<--log-level|/"--log-level=s">>=I<level>|B<L<--quiet|/"--quiet">>|B<L<--trace|/"--trace">>|B<L<--verbose|/"--verb...

=head1 OPTIONS

C<*> marks required options.

=head2 Main options

=over

=item B<--signal>=I<s>, B<-s>

script/unpause-browsers  view on Meta::CPAN

=head1 VERSION

This document describes version 0.019 of unpause-browsers (from Perl distribution App-BrowserUtils), released on 2023-10-28.

=head1 SYNOPSIS

B<unpause-browsers> B<L<--help|/"--help, -h, -?">> (or B<L<-h|/"--help, -h, -?">>, B<L<-?|/"--help, -h, -?">>)

B<unpause-browsers> B<L<--version|/"--version, -v">> (or B<L<-v|/"--version, -v">>)

B<unpause-browsers> [B<L<--cmndline-pat|/"--cmndline-pat=s">>=I<L<re_from_str|Sah::Schema::re_from_str>>] [B<L<--debug|/"--debug">>|B<L<--log-level|/"--log-level=s">>=I<level>|B<L<--quiet|/"--quiet">>|B<L<--trace|/"--trace">>|B<L<--verbose|/"--verbos...

=head1 DESCRIPTION

See also the C<pause_browsers> and the C<pause_and_unpause_browsers> routines.

=head1 OPTIONS

C<*> marks required options.

=head2 Main options



( run in 1.097 second using v1.01-cache-2.11-cpan-39bf76dae61 )