App-FirefoxMultiAccountContainersUtils
view release on metacpan or search on metacpan
lib/App/FirefoxMultiAccountContainersUtils.pm view on Meta::CPAN
schema => 'bool*',
},
urls => {
'x.name.is_plural' => 1,
'x.name.singular' => 'url',
schema => ['array*', of=>'str*'],
pos => 1,
slurpy => 1,
},
extra_firefox_options_before => {
summary => 'Additional options (arguments) to put before the URLs',
schema => ['array*', of=>'str*'],
cmdline_aliases => {'b'=>{}},
},
extra_firefox_options_after => {
summary => 'Additional options (arguments) to put after the URLs',
schema => ['array*', of=>'str*'],
cmdline_aliases => {'a'=>{}},
},
},
features => {
},
examples => [
{
summary => 'Open two URLs in a container called "mycontainer"',
argv => [qw|mycontainer www.example.com www.example.com/url2|],
test => 0,
'x.doc.show_result' => 0,
},
{
summary => 'If URL is not specified, will open a blank tab',
argv => [qw|mycontainer|],
test => 0,
'x.doc.show_result' => 0,
},
{
summary => 'Open URL in a new tab in a new window',
argv => [qw|mycontainer www.example.com -b --new-window|],
test => 0,
'x.doc.show_result' => 0,
description => <<'MARKDOWN',
This command passes the `--new-window` option to `firefox`.
MARKDOWN
},
],
links => [
{url=>'prog:open-browser'},
],
};
sub open_firefox_container {
require URI::Escape;
my %args = @_;
my $container = $args{container};
my @urls;
for my $url0 (@{ $args{urls} || ["about:blank"] }) {
my $url = "ext+container:";
$url .= "name=" . URI::Escape::uri_escape($container);
$url .= "&url=" . URI::Escape::uri_escape($url0);
push @urls, $url;
}
my @cmd = (
"firefox",
@{$args{extra_firefox_options_before} // []},
($args{new_window} ? ("--new-window") : ()),
@urls,
@{$args{extra_firefox_options_after} // []},
);
log_trace "Executing %s ...", \@cmd;
exec @cmd;
#[200]; # won't be reached
}
1;
# ABSTRACT: Utilities related to Firefox Multi-Account Containers add-on
__END__
=pod
=encoding UTF-8
=head1 NAME
App::FirefoxMultiAccountContainersUtils - Utilities related to Firefox Multi-Account Containers add-on
=head1 VERSION
This document describes version 0.019 of App::FirefoxMultiAccountContainersUtils (from Perl distribution App-FirefoxMultiAccountContainersUtils), released on 2026-03-25.
=head1 SYNOPSIS
=head1 DESCRIPTION
This distribution includes several utilities related to Firefox multi-account
containers addon:
=over
=item 1. L<firefox-container>
=item 2. L<firefox-mua-add-container>
=item 3. L<firefox-mua-dump-identities-json>
=item 4. L<firefox-mua-list-containers>
=item 5. L<firefox-mua-modify-containers>
=item 6. L<firefox-mua-sort-containers>
=item 7. L<open-firefox-container>
=back
About the add-on: L<https://addons.mozilla.org/en-US/firefox/addon/multi-account-containers/>.
( run in 0.343 second using v1.01-cache-2.11-cpan-e1769b4cff6 )