App-ClipboardUtils

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

        - [cli clipadd] Add option --fragments.


0.011   2025-06-15  Released-By: PERLANCAR; Urgency: medium

        - [cli clipadd] Add option --command-line (-c).


0.010   2025-05-29  Released-By: PERLANCAR; Urgency: medium

        - [ux] Add utility: tee-clipboard-content (cliptee, ct), which is a
          shortcut for 'add-clipboard-content --tee'.


0.009   2025-01-27  Released-By: PERLANCAR; Urgency: medium

        - [ux] Add even shorter aliases: ca (for add-clipboard-content) & cg
          (for get-clipboard-content).

        [cli add-clipboard-content]

        - Add option --tee (-t).


0.008   2024-08-30  Released-By: PERLANCAR; Urgency: medium

        - Add option --split-by (-s).


0.007   2023-04-13  Released-By: PERLANCAR; Urgency: medium

        - [build] Update to Clipboard::Any 0.011 to reflect to the generated
          POD of CLI's.

        - Add utility: get-clipboard-history-item (from Clipboard::Any
          0.009).


0.006   2022-12-08  Released-By: PERLANCAR; Urgency: medium

        - No functional changes.

        - [build] Rebuild with Clipboard::Any 0.008 to update docs.


0.005   2022-10-25  Released-By: PERLANCAR; Urgency: medium

        - [ux] Add shorter alias clipadd (for add-clipboard-content) and
          clipget (for get-clipboard-content).


0.004   2022-10-25  Released-By: PERLANCAR; Urgency: medium

        - Bump prereq Clipboard::Any=0.004 ([ux] add-clipboard-content gets
          content from stdin if argument not specified).


0.003   2022-10-09  Released-By: PERLANCAR; Urgency: medium

        - Add CLIs: add-clipboard-content, clear-clipboard-content.


0.002   2021-07-15  Released-By: PERLANCAR; Urgency: low

        - No functional changes.

        - [build] Rebuild with Clipboard::Any 0.002 to show --clipboard-manager
          option.


0.001   2021-07-15  Released-By: PERLANCAR

        - First release.

MANIFEST  view on Meta::CPAN

Changes
LICENSE
MANIFEST
META.json
META.yml
Makefile.PL
README
dist.ini
lib/App/ClipboardUtils.pm
lib/App/ClipboardUtils/Manual/HowTo/ClipaddCookbook.pod
script/add-clipboard-content
script/ca
script/cg
script/clear-clipboard-content
script/clear-clipboard-history
script/clipadd
script/clipget
script/cliptee
script/ct
script/detect-clipboard-manager
script/get-clipboard-content
script/get-clipboard-history-item
script/list-clipboard-history
script/tee-clipboard-content
t/00-compile.t
t/author-critic.t
t/author-pod-coverage.t
t/author-pod-syntax.t
t/release-rinci.t
weaver.ini

META.json  view on Meta::CPAN

{
   "abstract" : "CLI utilities related to clipboard",
   "author" : [
      "perlancar <perlancar@cpan.org>"
   ],
   "dynamic_config" : 0,
   "generated_by" : "Dist::Zilla version 6.033, CPAN::Meta::Converter version 2.150010",
   "license" : [
      "perl_5"
   ],
   "meta-spec" : {
      "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",

META.json  view on Meta::CPAN

      }
   },
   "version" : "0.014",
   "x_Dist_Zilla" : {
      "perl" : {
         "version" : "5.040002"
      },
      "plugins" : [
         {
            "class" : "Dist::Zilla::Plugin::GenPericmdScript",
            "name" : "GenPericmdScript add-clipboard-content",
            "version" : "0.425"
         },
         {
            "class" : "Dist::Zilla::Plugin::GenPericmdScript",
            "name" : "GenPericmdScript ca",
            "version" : "0.425"
         },
         {
            "class" : "Dist::Zilla::Plugin::GenPericmdScript",
            "name" : "GenPericmdScript cg",

META.json  view on Meta::CPAN

            "name" : "GenPericmdScript clipget",
            "version" : "0.425"
         },
         {
            "class" : "Dist::Zilla::Plugin::GenPericmdScript",
            "name" : "GenPericmdScript cliptee",
            "version" : "0.425"
         },
         {
            "class" : "Dist::Zilla::Plugin::GenPericmdScript",
            "name" : "GenPericmdScript detect-clipboard-manager",
            "version" : "0.425"
         },
         {
            "class" : "Dist::Zilla::Plugin::GenPericmdScript",
            "name" : "GenPericmdScript clear-clipboard-history",
            "version" : "0.425"
         },
         {
            "class" : "Dist::Zilla::Plugin::GenPericmdScript",
            "name" : "GenPericmdScript clear-clipboard-content",
            "version" : "0.425"
         },
         {
            "class" : "Dist::Zilla::Plugin::GenPericmdScript",
            "name" : "GenPericmdScript get-clipboard-content",
            "version" : "0.425"
         },
         {
            "class" : "Dist::Zilla::Plugin::GenPericmdScript",
            "name" : "GenPericmdScript get-clipboard-history-item",
            "version" : "0.425"
         },
         {
            "class" : "Dist::Zilla::Plugin::GenPericmdScript",
            "name" : "GenPericmdScript list-clipboard-history",
            "version" : "0.425"
         },
         {
            "class" : "Dist::Zilla::Plugin::GenPericmdScript",
            "name" : "GenPericmdScript tee-clipboard-content",
            "version" : "0.425"
         },
         {
            "class" : "Dist::Zilla::Plugin::InsertExecsList",
            "name" : "InsertExecsList",
            "version" : "0.032"
         },
         {
            "class" : "Dist::Zilla::Plugin::PERLANCAR::CheckPendingRelease",
            "name" : "@Author::PERLANCAR/PERLANCAR::CheckPendingRelease",

META.yml  view on Meta::CPAN

---
abstract: 'CLI utilities related to clipboard'
author:
  - 'perlancar <perlancar@cpan.org>'
build_requires:
  File::Spec: '0'
  IO::Handle: '0'
  IPC::Open3: '0'
  Test::More: '0'
configure_requires:
  ExtUtils::MakeMaker: '0'
dynamic_config: 0

META.yml  view on Meta::CPAN

  bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=App-ClipboardUtils
  homepage: https://metacpan.org/release/App-ClipboardUtils
  repository: git://github.com/perlancar/perl-App-ClipboardUtils.git
version: '0.014'
x_Dist_Zilla:
  perl:
    version: '5.040002'
  plugins:
    -
      class: Dist::Zilla::Plugin::GenPericmdScript
      name: 'GenPericmdScript add-clipboard-content'
      version: '0.425'
    -
      class: Dist::Zilla::Plugin::GenPericmdScript
      name: 'GenPericmdScript ca'
      version: '0.425'
    -
      class: Dist::Zilla::Plugin::GenPericmdScript
      name: 'GenPericmdScript cg'
      version: '0.425'
    -

META.yml  view on Meta::CPAN

    -
      class: Dist::Zilla::Plugin::GenPericmdScript
      name: 'GenPericmdScript clipget'
      version: '0.425'
    -
      class: Dist::Zilla::Plugin::GenPericmdScript
      name: 'GenPericmdScript cliptee'
      version: '0.425'
    -
      class: Dist::Zilla::Plugin::GenPericmdScript
      name: 'GenPericmdScript detect-clipboard-manager'
      version: '0.425'
    -
      class: Dist::Zilla::Plugin::GenPericmdScript
      name: 'GenPericmdScript clear-clipboard-history'
      version: '0.425'
    -
      class: Dist::Zilla::Plugin::GenPericmdScript
      name: 'GenPericmdScript clear-clipboard-content'
      version: '0.425'
    -
      class: Dist::Zilla::Plugin::GenPericmdScript
      name: 'GenPericmdScript get-clipboard-content'
      version: '0.425'
    -
      class: Dist::Zilla::Plugin::GenPericmdScript
      name: 'GenPericmdScript get-clipboard-history-item'
      version: '0.425'
    -
      class: Dist::Zilla::Plugin::GenPericmdScript
      name: 'GenPericmdScript list-clipboard-history'
      version: '0.425'
    -
      class: Dist::Zilla::Plugin::GenPericmdScript
      name: 'GenPericmdScript tee-clipboard-content'
      version: '0.425'
    -
      class: Dist::Zilla::Plugin::InsertExecsList
      name: InsertExecsList
      version: '0.032'
    -
      class: Dist::Zilla::Plugin::PERLANCAR::CheckPendingRelease
      name: '@Author::PERLANCAR/PERLANCAR::CheckPendingRelease'
      version: '0.001'
    -

Makefile.PL  view on Meta::CPAN

# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v6.033.
use strict;
use warnings;



use ExtUtils::MakeMaker;

my %WriteMakefileArgs = (
  "ABSTRACT" => "CLI utilities related to clipboard",
  "AUTHOR" => "perlancar <perlancar\@cpan.org>",
  "CONFIGURE_REQUIRES" => {
    "ExtUtils::MakeMaker" => 0
  },
  "DISTNAME" => "App-ClipboardUtils",
  "EXE_FILES" => [
    "script/add-clipboard-content",
    "script/ca",
    "script/cg",
    "script/clear-clipboard-content",
    "script/clear-clipboard-history",
    "script/clipadd",
    "script/clipget",
    "script/cliptee",
    "script/ct",
    "script/detect-clipboard-manager",
    "script/get-clipboard-content",
    "script/get-clipboard-history-item",
    "script/list-clipboard-history",
    "script/tee-clipboard-content"
  ],
  "LICENSE" => "perl",
  "NAME" => "App::ClipboardUtils",
  "PREREQ_PM" => {
    "Clipboard::Any" => "0.012",
    "Clone::PP" => 0,
    "Data::Sah::Compiler::perl::TH::any" => "0.914",
    "Data::Sah::Compiler::perl::TH::bool" => "0.914",
    "Data::Sah::Compiler::perl::TH::int" => "0.914",
    "Data::Sah::Compiler::perl::TH::re" => "0.914",

README  view on Meta::CPAN

NAME
    App::ClipboardUtils - CLI utilities related to clipboard

VERSION
    This document describes version 0.014 of App::ClipboardUtils (from Perl
    distribution App-ClipboardUtils), released on 2025-10-16.

DESCRIPTION
    This distribution contains the following CLI utilities related to
    clipboard:

    1. add-clipboard-content
    2. ca
    3. cg
    4. clear-clipboard-content
    5. clear-clipboard-history
    6. clipadd
    7. clipget
    8. cliptee
    9. ct
    10. detect-clipboard-manager
    11. get-clipboard-content
    12. get-clipboard-history-item
    13. list-clipboard-history
    14. tee-clipboard-content

FUNCTIONS
  add_clipboard_content
    Usage:

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

    Add a new content to the clipboard.

    For "xclip": when adding content, the primary selection is set. The
    clipboard content is unchanged.

    This function is not exported.

    Arguments ('*' denotes required arguments):

    *   chomp_newline => *bool*

        Remove trailing newlines before adding item to clipboard.

    *   clipboard_manager => *str*

        Explicitly set clipboard manager to use.

        The default, when left undef, is to detect what clipboard manager is
        running.

    *   command_line => *str*

        For every line of input in *stdin*, execute a command, feed it the
        input line, and add the output to clipboard.

        Note that when you use this option, the "--content" argument is
        ignored. Input is taken from stdin. With "--tee", each output will
        be printed to stdout. After eof, the utility will return empty
        result.

        An example for using this option (safer is a utility from
        App::safer):

         % clipadd -c safer --tee

README  view on Meta::CPAN


        Command:

         % cat faq.txt | clipadd --fragments

        Read Text::Fragment for more details on text fragments.

    *   split_by => *str_or_re*

        Split content by specified string/regex, add the split content as
        multiple clipboard entries.

        Cannot be used together with "--fragments" or "--command-line"
        option.

        Note that if you supply a regex, you should not have any capture
        groups in the regex.

    *   tee => *true*

        Pass stdin to stdout.

README  view on Meta::CPAN

    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
    response ($status_code is not 2xx). Fourth element (%result_meta) is
    called result metadata and is optional, a hash that contains extra
    information, much like how HTTP response headers provide additional
    metadata.

    Return value: (any)

  tee_clipboard_content
    Usage:

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

    Shortcut for add-clipboard-content --tee.

    This function is not exported.

    Arguments ('*' denotes required arguments):

    *   chomp_newline => *bool*

        Remove trailing newlines before adding item to clipboard.

    *   clipboard_manager => *str*

        Explicitly set clipboard manager to use.

        The default, when left undef, is to detect what clipboard manager is
        running.

    *   content => *str*

        (No description)

    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

dist.ini  view on Meta::CPAN

;---------------------------------
author  = perlancar <perlancar@cpan.org>
copyright_holder = perlancar <perlancar@cpan.org>
license = Perl_5
;---------------------------------

version=0.014

name=App-ClipboardUtils

[GenPericmdScript/GenPericmdScript add-clipboard-content]
url=/App/ClipboardUtils/add_clipboard_content
read_config=0
read_env=0
enable_log=1

[GenPericmdScript/GenPericmdScript ca]
summary=Even shorter alias for add-clipboard-content and clipadd
url=/App/ClipboardUtils/add_clipboard_content
name=ca
read_config=0
read_env=0
enable_log=1

[GenPericmdScript/GenPericmdScript cg]
summary=Even shorter alias for get-clipboard-content and clipget
url=/Clipboard/Any/get_clipboard_content
name=cg
read_config=0
read_env=0
enable_log=1

[GenPericmdScript/GenPericmdScript ct]
summary=Even shorter alias for tee-clipboard-content and cliptee
url=/App/ClipboardUtils/tee_clipboard_content
name=ct
read_config=0
read_env=0
enable_log=1

[GenPericmdScript/GenPericmdScript clipadd]
summary=Shorter alias for add-clipboard-content
url=/App/ClipboardUtils/add_clipboard_content
name=clipadd
read_config=0
read_env=0
enable_log=1

[GenPericmdScript/GenPericmdScript clipget]
summary=Shorter alias for get-clipboard-content
url=/Clipboard/Any/get_clipboard_content
name=clipget
read_config=0
read_env=0
enable_log=1

[GenPericmdScript/GenPericmdScript cliptee]
summary=Shorter alias for tee-clipboard-content
url=/App/ClipboardUtils/tee_clipboard_content
name=cliptee
read_config=0
read_env=0
enable_log=1

[GenPericmdScript/GenPericmdScript detect-clipboard-manager]
url=/Clipboard/Any/detect_clipboard_manager
read_config=0
read_env=0
enable_log=1

[GenPericmdScript/GenPericmdScript clear-clipboard-history]
url=/Clipboard/Any/clear_clipboard_history
read_config=0
read_env=0
enable_log=1

[GenPericmdScript/GenPericmdScript clear-clipboard-content]
url=/Clipboard/Any/clear_clipboard_content
read_config=0
read_env=0
enable_log=1

[GenPericmdScript/GenPericmdScript get-clipboard-content]
url=/Clipboard/Any/get_clipboard_content
read_config=0
read_env=0
enable_log=1

[GenPericmdScript/GenPericmdScript get-clipboard-history-item]
url=/Clipboard/Any/get_clipboard_history_item
read_config=0
read_env=0
enable_log=1

[GenPericmdScript/GenPericmdScript list-clipboard-history]
url=/Clipboard/Any/list_clipboard_history
read_config=0
read_env=0
enable_log=1

[GenPericmdScript/GenPericmdScript tee-clipboard-content]
url=/App/ClipboardUtils/tee_clipboard_content
read_config=0
read_env=0
enable_log=1

[InsertExecsList]

[@Author::PERLANCAR]
:version=0.610

[Prereqs]

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

our $DATE = '2025-10-16'; # DATE
our $DIST = 'App-ClipboardUtils'; # DIST
our $VERSION = '0.014'; # VERSION

use Clipboard::Any ();
use Clone::PP qw(clone);

our %SPEC;

{
    $SPEC{add_clipboard_content} = clone $Clipboard::Any::SPEC{add_clipboard_content};

    # because we also have --command and do our own while(<>) { ... }
    delete $SPEC{add_clipboard_content}{args}{content}{cmdline_src};

    $SPEC{add_clipboard_content}{args}{split_by} = {
        summary => 'Split content by specified string/regex, add the split content as multiple clipboard entries',
        schema => ['str_or_re*'],
        description => <<'MARKDOWN',

Cannot be used together with `--fragments` or `--command-line` option.

Note that if you supply a regex, you should not have any capture groups in the
regex.

MARKDOWN
        cmdline_aliases => {s=>{}},
    };

    $SPEC{add_clipboard_content}{args}{fragments} = {
        summary => 'Only add text fragments inside content',
        schema => ['bool*'],
        description => <<'MARKDOWN',

Cannot be used together with `--split-by` or `--command-line` option.

Example content:

    FAQS
    ====

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

Command:

    % cat faq.txt | clipadd --fragments

Read <pm:Text::Fragment> for more details on text fragments.

MARKDOWN
        #cmdline_aliases => {f=>{}},
    };

    $SPEC{add_clipboard_content}{args}{tee} = {
        summary => 'Pass stdin to stdout',
        schema => ['true*'],
        description => <<'MARKDOWN',

MARKDOWN
        cmdline_aliases => {t=>{}},
    };

    $SPEC{add_clipboard_content}{args}{command_line} = {
        summary => 'For every line of input in *stdin*, execute a command, feed it the input line, and add the output to clipboard',
        schema => ['str*'],
        description => <<'MARKDOWN',

Note that when you use this option, the `--content` argument is ignored. Input
is taken from stdin. With `--tee`, each output will be printed to stdout. After
eof, the utility will return empty result.

An example for using this option (<prog:safer> is a utility from <pm:App::safer>):

    % clipadd -c safer --tee
    Foo Bar, Co., Ltd.
    foo-bar-co-ltd
    BaZZ, Co., Ltd.
    bazz-co-ltd
    _

MARKDOWN
        cmdline_aliases => {c=>{}},
    };

    $SPEC{add_clipboard_content}{args_rels}{"choose_one&"} = [
        [qw/command_line split_by fragments/],
    ];
}

sub add_clipboard_content {
    my %args = @_;
    my $split_by = delete $args{split_by};
    my $tee = delete $args{tee};
    my $command_line = $args{command_line};

    if (defined $command_line) {

        require IPC::System::Options;

        while (defined(my $input_line = <>)) {

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

                my @split_parts = split /($split_by)/, $content;
                log_trace "split_by=%s, split_contents=%s", $split_by, \@split_parts;

                my $i = 0;
                while (my ($part, $separator) = splice @split_parts, 0, 2) {
                    if ($tee) {
                        print $part;
                        print $separator if defined $separator;
                    }

                    # do not add empty part to clipboard
                    if (length $part) {
                        my $res = Clipboard::Any::add_clipboard_content(
                            %args, content => $part,
                        );
                        return $res unless $res->[0] == 200;
                    }
                }
            } else {
                print $stdout if $tee;
                my $res = Clipboard::Any::add_clipboard_content(%args, content => $stdout);
                return $res unless $res->[0] == 200;
            }
        } # while input
        return [200, "OK"];

    } else {

        my $content = $args{content};
        $content = do { local $/; scalar <> } unless defined $content;
        $args{content} = $content;

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

            log_trace "split_by=%s, split_contents=%s", $split_by, \@split_parts;

            my $res = [204, "OK (no content)"];
            my $i = 0;
            while (my ($part, $separator) = splice @split_parts, 0, 2) {
                if ($tee) {
                    print $part;
                    print $separator if defined $separator;
                }

                # do not add empty part to clipboard
                if (length $part) {
                    $res = Clipboard::Any::add_clipboard_content(
                        %args, content => $part,
                    ); # currently we use the last add_clipboard_content status
                }
            }
            $res->[3]{'func.parts'} = @split_parts;
            $res;
        } elsif ($args{fragments}) {
            require Text::Fragment;
            my $lfres = Text::Fragment::list_fragments(text => $content, label => "clipadd");
            return [500, "Can't list fragments in content: $lfres->[0] - $lfres->[1]"]
                unless $lfres->[0] == 200;
            my @parts = map { $_->{payload} } sort { $a->{id} <=> $b->{id} } @{ $lfres->[2] };

            my $res = [204, "OK (no content)"];
            for my $part (@parts) {
                if ($tee) {
                    print $part;
                }

                # do not add empty part to clipboard
                if (length $part) {
                    $res = Clipboard::Any::add_clipboard_content(
                        %args, content => $part,
                    ); # currently we use the last add_clipboard_content status
                }
            }
            $res->[3]{'func.parts'} = @parts;
            $res;
        } else {
            print $content if $tee;
            Clipboard::Any::add_clipboard_content(%args);
        }

    } # if command_line
}

$SPEC{tee_clipboard_content} = clone $Clipboard::Any::SPEC{add_clipboard_content};
$SPEC{tee_clipboard_content}{summary} = 'Shortcut for add-clipboard-content --tee';
$SPEC{tee_clipboard_content}{description} = '';
delete $SPEC{tee_clipboard_content}{args}{tee};
sub tee_clipboard_content {
    add_clipboard_content(@_, tee => 1);
}

1;
# ABSTRACT: CLI utilities related to clipboard

__END__

=pod

=encoding UTF-8

=head1 NAME

App::ClipboardUtils - CLI utilities related to clipboard

=head1 VERSION

This document describes version 0.014 of App::ClipboardUtils (from Perl distribution App-ClipboardUtils), released on 2025-10-16.

=head1 DESCRIPTION

This distribution contains the following CLI utilities related to clipboard:

=over

=item 1. L<add-clipboard-content>

=item 2. L<ca>

=item 3. L<cg>

=item 4. L<clear-clipboard-content>

=item 5. L<clear-clipboard-history>

=item 6. L<clipadd>

=item 7. L<clipget>

=item 8. L<cliptee>

=item 9. L<ct>

=item 10. L<detect-clipboard-manager>

=item 11. L<get-clipboard-content>

=item 12. L<get-clipboard-history-item>

=item 13. L<list-clipboard-history>

=item 14. L<tee-clipboard-content>

=back

=head1 FUNCTIONS


=head2 add_clipboard_content

Usage:

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

Add a new content to the clipboard.

For C<xclip>: when adding content, the primary selection is set. The clipboard
content is unchanged.

This function is not exported.

Arguments ('*' denotes required arguments):

=over 4

=item * B<chomp_newline> => I<bool>

Remove trailing newlines before adding item to clipboard.

=item * B<clipboard_manager> => I<str>

Explicitly set clipboard manager to use.

The default, when left undef, is to detect what clipboard manager is running.

=item * B<command_line> => I<str>

For every line of input in *stdin*, execute a command, feed it the input line, and add the output to clipboard.

Note that when you use this option, the C<--content> argument is ignored. Input
is taken from stdin. With C<--tee>, each output will be printed to stdout. After
eof, the utility will return empty result.

An example for using this option (L<safer> is a utility from L<App::safer>):

 % clipadd -c safer --tee
 Foo Bar, Co., Ltd.
 foo-bar-co-ltd

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

 A: Another half-assed answer.

Command:

 % cat faq.txt | clipadd --fragments

Read L<Text::Fragment> for more details on text fragments.

=item * B<split_by> => I<str_or_re>

Split content by specified stringE<sol>regex, add the split content as multiple clipboard entries.

Cannot be used together with C<--fragments> or C<--command-line> option.

Note that if you supply a regex, you should not have any capture groups in the
regex.

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

Pass stdin to stdout.

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

(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 response ($status_code is not 2xx). Fourth
element (%result_meta) is called result metadata and is optional, a hash
that contains extra information, much like how HTTP response headers provide additional metadata.

Return value:  (any)



=head2 tee_clipboard_content

Usage:

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

Shortcut for add-clipboard-content --tee.

This function is not exported.

Arguments ('*' denotes required arguments):

=over 4

=item * B<chomp_newline> => I<bool>

Remove trailing newlines before adding item to clipboard.

=item * B<clipboard_manager> => I<str>

Explicitly set clipboard manager to use.

The default, when left undef, is to detect what clipboard manager is running.

=item * B<content> => I<str>

(No description)


=back

Returns an enveloped result (an array).

lib/App/ClipboardUtils/Manual/HowTo/ClipaddCookbook.pod  view on Meta::CPAN

=head1 NAME

App::ClipboardUtils::Manual::HowTo::ClipaddCookbook - Cookbook for clipadd

=head1 VERSION

This document describes version 0.014 of App::ClipboardUtils::Manual::HowTo::ClipaddCookbook (from Perl distribution App-ClipboardUtils), released on 2025-10-16.

=head1 DESCRIPTION

L<clipadd> lets you add items to the clipboard. It is
clipboard-manager-agnostic, supporting backends like B<xclip> and B<Klipper>. It
also has some convenient features which will be demonstrated in this document.

=head1 RECIPES

=head2 Adding ouput from command-line, one line at a time

 % clipadd -c COMMAND
 % clipadd -c COMMAND -t ; # to see the output on stdout as well

This is convenient because it lets you feed input to a command interactively and
immediately get the output as clipboard content.

For example, using with L<safer>:

 % clipadd -c safer -t
 Foo Bar, Inc.
 foo-bar-inc

I can paste company names and get a slug name to use in file manager to create
directory, etc.

lib/App/ClipboardUtils/Manual/HowTo/ClipaddCookbook.pod  view on Meta::CPAN

 Question 2
 Answer 2
 ---
 Question 3
 Answer 3

then you can setup keyboard shortcuts like C<Ctrl-Alt-Up> and C<Ctrl-Alt-Down>
in B<Klipper> to quickly access those FAQ entries to provide quick answers in
chats.

=head2 Adding text fragments from a text file as clipboard contents

 % clipadd --fragments < FILENAME

This is a variation from the previous recipe. Using fragments allows you to only
add certain entries and in custom order. Example content of text file:

 FAQS
 ====

 Question 1

lib/App/ClipboardUtils/Manual/HowTo/ClipaddCookbook.pod  view on Meta::CPAN

=head1 HOMEPAGE

Please visit the project's homepage at L<https://metacpan.org/release/App-ClipboardUtils>.

=head1 SOURCE

Source repository is at L<https://github.com/perlancar/perl-App-ClipboardUtils>.

=head1 SEE ALSO

L<clipadd> (a.k.a. L<add-clipboard-content>, a.k.a. L<ca>).

=head1 AUTHOR

perlancar <perlancar@cpan.org>

=head1 CONTRIBUTING


To contribute, you can send patches by email/via RT, or send pull requests on
GitHub.

script/add-clipboard-content  view on Meta::CPAN

#!perl

# Note: This script is a CLI for Riap function /App/ClipboardUtils/add_clipboard_content
# and generated automatically using Perinci::CmdLine::Gen version 0.502

use 5.010001;
use strict;
use warnings;
use Log::ger;

use Perinci::CmdLine::Any;

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2025-10-16'; # DATE
our $DIST = 'App-ClipboardUtils'; # DIST
our $VERSION = '0.014'; # VERSION

my $cmdline = Perinci::CmdLine::Any->new(
    url => "/App/ClipboardUtils/add_clipboard_content",
    program_name => "add-clipboard-content",
    log => 1,
    read_config => 0,
    read_env => 0,
);

$cmdline->run;

# ABSTRACT: Add a new content to the clipboard
# PODNAME: add-clipboard-content

__END__

=pod

=encoding UTF-8

=head1 NAME

add-clipboard-content - Add a new content to the clipboard

=head1 VERSION

This document describes version 0.014 of add-clipboard-content (from Perl distribution App-ClipboardUtils), released on 2025-10-16.

=head1 SYNOPSIS

B<add-clipboard-content> B<L<--help|/"--help, -h, -?">> (or B<L<-h|/"--help, -h, -?">>, B<L<-?|/"--help, -h, -?">>)

B<add-clipboard-content> B<L<--version|/"--version, -v">> (or B<L<-v|/"--version, -v">>)

B<add-clipboard-content> [B<L<--chomp-newline|/"--chomp-newline, -l">>|B<L<-l|/"--chomp-newline, -l">>|B<L<--no-chomp-newline|/"--chomp-newline, -l">>|B<L<--nochomp-newline|/"--chomp-newline, -l">>] [B<L<--clipboard-manager|/"--clipboard-manager=s, -...



See examples in the L</EXAMPLES> section.

=head1 DESCRIPTION

For C<xclip>: when adding content, the primary selection is set. The clipboard
content is unchanged.

=head1 OPTIONS

C<*> marks required options.

=head2 Main options

=over

=item B<--chomp-newline>, B<-l>

Remove trailing newlines before adding item to clipboard.

=item B<--clipboard-manager>=I<s>, B<-m>

Explicitly set clipboard manager to use.

Valid values:

 ["klipper","parcellite","clipit","xclip"]

The default, when left undef, is to detect what clipboard manager is running.


=item B<--command-line>=I<s>, B<-c>

For every line of input in *stdin*, execute a command, feed it the input line, and add the output to clipboard.

Note that when you use this option, the C<--content> argument is ignored. Input
is taken from stdin. With C<--tee>, each output will be printed to stdout. After
eof, the utility will return empty result.

An example for using this option (L<safer> is a utility from L<App::safer>):

 % clipadd -c safer --tee
 Foo Bar, Co., Ltd.
 foo-bar-co-ltd

script/add-clipboard-content  view on Meta::CPAN


Command:

 % cat faq.txt | clipadd --fragments

Read L<Text::Fragment> for more details on text fragments.


=item B<--split-by>=I<s>, B<-s>

Split content by specified string/regex, add the split content as multiple clipboard entries.

Cannot be used together with C<--fragments> or C<--command-line> option.

Note that if you supply a regex, you should not have any capture groups in the
regex.


=item B<--tee>, B<-t>

Pass stdin to stdout.

script/add-clipboard-content  view on Meta::CPAN


=head1 COMPLETION

This script has shell tab completion capability with support for several
shells.

=head2 bash

To activate bash completion for this script, put:

 complete -C add-clipboard-content add-clipboard-content

in your bash startup (e.g. F<~/.bashrc>). Your next shell session will then
recognize tab completion for the command. Or, you can also directly execute the
line above in your shell to activate immediately.

It is recommended, however, that you install modules using L<cpanm-shcompgen>
which can activate shell completion for scripts immediately.

=head2 tcsh

To activate tcsh completion for this script, put:

 complete add-clipboard-content 'p/*/`add-clipboard-content`/'

in your tcsh startup (e.g. F<~/.tcshrc>). Your next shell session will then
recognize tab completion for the command. Or, you can also directly execute the
line above in your shell to activate immediately.

It is also recommended to install L<shcompgen> (see above).

=head2 other shells

For fish and zsh, install L<shcompgen> as described above.

=head1 EXAMPLES

=head2 Munge text (remove duplicate spaces) in clipboard

 % clipget | perl -lpe's/ {2,}/ /g' | add-clipboard-content

=head1 HOMEPAGE

Please visit the project's homepage at L<https://metacpan.org/release/App-ClipboardUtils>.

=head1 SOURCE

Source repository is at L<https://github.com/perlancar/perl-App-ClipboardUtils>.

=head1 AUTHOR

script/ca  view on Meta::CPAN

#!perl

# Note: This script is a CLI for Riap function /App/ClipboardUtils/add_clipboard_content
# and generated automatically using Perinci::CmdLine::Gen version 0.502

use 5.010001;
use strict;
use warnings;
use Log::ger;

use Perinci::CmdLine::Any;

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2025-10-16'; # DATE
our $DIST = 'App-ClipboardUtils'; # DIST
our $VERSION = '0.014'; # VERSION

my $cmdline = Perinci::CmdLine::Any->new(
    url => "/App/ClipboardUtils/add_clipboard_content",
    program_name => "ca",
    log => 1,
    read_config => 0,
    read_env => 0,
);

$cmdline->run;

# ABSTRACT: Even shorter alias for add-clipboard-content and clipadd
# PODNAME: ca

__END__

=pod

=encoding UTF-8

=head1 NAME

ca - Even shorter alias for add-clipboard-content and clipadd

=head1 VERSION

This document describes version 0.014 of ca (from Perl distribution App-ClipboardUtils), released on 2025-10-16.

=head1 SYNOPSIS

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

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

B<ca> [B<L<--chomp-newline|/"--chomp-newline, -l">>|B<L<-l|/"--chomp-newline, -l">>|B<L<--no-chomp-newline|/"--chomp-newline, -l">>|B<L<--nochomp-newline|/"--chomp-newline, -l">>] [B<L<--clipboard-manager|/"--clipboard-manager=s, -m">>=I<str>|B<L<-m|...



See examples in the L</EXAMPLES> section.

=head1 DESCRIPTION

For C<xclip>: when adding content, the primary selection is set. The clipboard
content is unchanged.

=head1 OPTIONS

C<*> marks required options.

=head2 Main options

=over

=item B<--chomp-newline>, B<-l>

Remove trailing newlines before adding item to clipboard.

=item B<--clipboard-manager>=I<s>, B<-m>

Explicitly set clipboard manager to use.

Valid values:

 ["klipper","parcellite","clipit","xclip"]

The default, when left undef, is to detect what clipboard manager is running.


=item B<--command-line>=I<s>, B<-c>

For every line of input in *stdin*, execute a command, feed it the input line, and add the output to clipboard.

Note that when you use this option, the C<--content> argument is ignored. Input
is taken from stdin. With C<--tee>, each output will be printed to stdout. After
eof, the utility will return empty result.

An example for using this option (L<safer> is a utility from L<App::safer>):

 % clipadd -c safer --tee
 Foo Bar, Co., Ltd.
 foo-bar-co-ltd

script/ca  view on Meta::CPAN


Command:

 % cat faq.txt | clipadd --fragments

Read L<Text::Fragment> for more details on text fragments.


=item B<--split-by>=I<s>, B<-s>

Split content by specified string/regex, add the split content as multiple clipboard entries.

Cannot be used together with C<--fragments> or C<--command-line> option.

Note that if you supply a regex, you should not have any capture groups in the
regex.


=item B<--tee>, B<-t>

Pass stdin to stdout.

script/ca  view on Meta::CPAN

line above in your shell to activate immediately.

It is also recommended to install L<shcompgen> (see above).

=head2 other shells

For fish and zsh, install L<shcompgen> as described above.

=head1 EXAMPLES

=head2 Munge text (remove duplicate spaces) in clipboard

 % clipget | perl -lpe's/ {2,}/ /g' | ca

=head1 HOMEPAGE

Please visit the project's homepage at L<https://metacpan.org/release/App-ClipboardUtils>.

=head1 SOURCE

Source repository is at L<https://github.com/perlancar/perl-App-ClipboardUtils>.

script/cg  view on Meta::CPAN

#!perl

# Note: This script is a CLI for Riap function /Clipboard/Any/get_clipboard_content
# and generated automatically using Perinci::CmdLine::Gen version 0.502

use 5.010001;
use strict;
use warnings;
use Log::ger;

use Perinci::CmdLine::Any;

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2025-10-16'; # DATE
our $DIST = 'App-ClipboardUtils'; # DIST
our $VERSION = '0.014'; # VERSION

my $cmdline = Perinci::CmdLine::Any->new(
    url => "/Clipboard/Any/get_clipboard_content",
    program_name => "cg",
    log => 1,
    read_config => 0,
    read_env => 0,
);

$cmdline->run;

# ABSTRACT: Even shorter alias for get-clipboard-content and clipget
# PODNAME: cg

__END__

=pod

=encoding UTF-8

=head1 NAME

cg - Even shorter alias for get-clipboard-content and clipget

=head1 VERSION

This document describes version 0.014 of cg (from Perl distribution App-ClipboardUtils), released on 2025-10-16.

=head1 SYNOPSIS

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

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

B<cg> [B<L<--clipboard-manager|/"--clipboard-manager=s, -m">>=I<str>|B<L<-m|/"--clipboard-manager=s, -m">>=I<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|/...



See examples in the L</EXAMPLES> section.

=head1 DESCRIPTION

Caveats for klipper: Non-text item is not retrievable by getClipboardContents().
If the current item is e.g. an image, then the next text item from history will
be returned instead, or empty string if none exists.

=head1 OPTIONS

C<*> marks required options.

=head2 Main options

=over

=item B<--clipboard-manager>=I<s>, B<-m>

Explicitly set clipboard manager to use.

Valid values:

 ["klipper","parcellite","clipit","xclip"]

The default, when left undef, is to detect what clipboard manager is running.


=back

=head2 Logging options

=over

=item B<--debug>

script/cg  view on Meta::CPAN

line above in your shell to activate immediately.

It is also recommended to install L<shcompgen> (see above).

=head2 other shells

For fish and zsh, install L<shcompgen> as described above.

=head1 EXAMPLES

=head2 Munge text (remove duplicate spaces) in clipboard

 % cg | perl -lpe's/ {2,}/ /g' | clipadd

=head1 HOMEPAGE

Please visit the project's homepage at L<https://metacpan.org/release/App-ClipboardUtils>.

=head1 SOURCE

Source repository is at L<https://github.com/perlancar/perl-App-ClipboardUtils>.

script/clear-clipboard-content  view on Meta::CPAN

#!perl

# Note: This script is a CLI for Riap function /Clipboard/Any/clear_clipboard_content
# and generated automatically using Perinci::CmdLine::Gen version 0.502

use 5.010001;
use strict;
use warnings;
use Log::ger;

use Perinci::CmdLine::Any;

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2025-10-16'; # DATE
our $DIST = 'App-ClipboardUtils'; # DIST
our $VERSION = '0.014'; # VERSION

my $cmdline = Perinci::CmdLine::Any->new(
    url => "/Clipboard/Any/clear_clipboard_content",
    program_name => "clear-clipboard-content",
    log => 1,
    read_config => 0,
    read_env => 0,
);

$cmdline->run;

# ABSTRACT: Delete current clipboard content
# PODNAME: clear-clipboard-content

__END__

=pod

=encoding UTF-8

=head1 NAME

clear-clipboard-content - Delete current clipboard content

=head1 VERSION

This document describes version 0.014 of clear-clipboard-content (from Perl distribution App-ClipboardUtils), released on 2025-10-16.

=head1 SYNOPSIS

B<clear-clipboard-content> B<L<--help|/"--help, -h, -?">> (or B<L<-h|/"--help, -h, -?">>, B<L<-?|/"--help, -h, -?">>)

B<clear-clipboard-content> B<L<--version|/"--version, -v">> (or B<L<-v|/"--version, -v">>)

B<clear-clipboard-content> [B<L<--clipboard-manager|/"--clipboard-manager=s, -m">>=I<str>|B<L<-m|/"--clipboard-manager=s, -m">>=I<str>] [B<L<--debug|/"--debug">>|B<L<--log-level|/"--log-level=s">>=I<level>|B<L<--quiet|/"--quiet">>|B<L<--trace|/"--tra...

=head1 DESCRIPTION

=head1 OPTIONS

C<*> marks required options.

=head2 Main options

=over

=item B<--clipboard-manager>=I<s>, B<-m>

Explicitly set clipboard manager to use.

Valid values:

 ["klipper","parcellite","clipit","xclip"]

The default, when left undef, is to detect what clipboard manager is running.


=back

=head2 Logging options

=over

=item B<--debug>

script/clear-clipboard-content  view on Meta::CPAN


=head1 COMPLETION

This script has shell tab completion capability with support for several
shells.

=head2 bash

To activate bash completion for this script, put:

 complete -C clear-clipboard-content clear-clipboard-content

in your bash startup (e.g. F<~/.bashrc>). Your next shell session will then
recognize tab completion for the command. Or, you can also directly execute the
line above in your shell to activate immediately.

It is recommended, however, that you install modules using L<cpanm-shcompgen>
which can activate shell completion for scripts immediately.

=head2 tcsh

To activate tcsh completion for this script, put:

 complete clear-clipboard-content 'p/*/`clear-clipboard-content`/'

in your tcsh startup (e.g. F<~/.tcshrc>). Your next shell session will then
recognize tab completion for the command. Or, you can also directly execute the
line above in your shell to activate immediately.

It is also recommended to install L<shcompgen> (see above).

=head2 other shells

For fish and zsh, install L<shcompgen> as described above.

script/clear-clipboard-history  view on Meta::CPAN

#!perl

# Note: This script is a CLI for Riap function /Clipboard/Any/clear_clipboard_history
# and generated automatically using Perinci::CmdLine::Gen version 0.502

use 5.010001;
use strict;
use warnings;
use Log::ger;

use Perinci::CmdLine::Any;

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2025-10-16'; # DATE
our $DIST = 'App-ClipboardUtils'; # DIST
our $VERSION = '0.014'; # VERSION

my $cmdline = Perinci::CmdLine::Any->new(
    url => "/Clipboard/Any/clear_clipboard_history",
    program_name => "clear-clipboard-history",
    log => 1,
    read_config => 0,
    read_env => 0,
);

$cmdline->run;

# ABSTRACT: Delete all clipboard items
# PODNAME: clear-clipboard-history

__END__

=pod

=encoding UTF-8

=head1 NAME

clear-clipboard-history - Delete all clipboard items

=head1 VERSION

This document describes version 0.014 of clear-clipboard-history (from Perl distribution App-ClipboardUtils), released on 2025-10-16.

=head1 SYNOPSIS

B<clear-clipboard-history> B<L<--help|/"--help, -h, -?">> (or B<L<-h|/"--help, -h, -?">>, B<L<-?|/"--help, -h, -?">>)

B<clear-clipboard-history> B<L<--version|/"--version, -v">> (or B<L<-v|/"--version, -v">>)

B<clear-clipboard-history> [B<L<--clipboard-manager|/"--clipboard-manager=s, -m">>=I<str>|B<L<-m|/"--clipboard-manager=s, -m">>=I<str>] [B<L<--debug|/"--debug">>|B<L<--log-level|/"--log-level=s">>=I<level>|B<L<--quiet|/"--quiet">>|B<L<--trace|/"--tra...

=head1 DESCRIPTION

=head1 OPTIONS

C<*> marks required options.

=head2 Main options

=over

=item B<--clipboard-manager>=I<s>, B<-m>

Explicitly set clipboard manager to use.

Valid values:

 ["klipper","parcellite","clipit","xclip"]

The default, when left undef, is to detect what clipboard manager is running.


=back

=head2 Logging options

=over

=item B<--debug>

script/clear-clipboard-history  view on Meta::CPAN


=head1 COMPLETION

This script has shell tab completion capability with support for several
shells.

=head2 bash

To activate bash completion for this script, put:

 complete -C clear-clipboard-history clear-clipboard-history

in your bash startup (e.g. F<~/.bashrc>). Your next shell session will then
recognize tab completion for the command. Or, you can also directly execute the
line above in your shell to activate immediately.

It is recommended, however, that you install modules using L<cpanm-shcompgen>
which can activate shell completion for scripts immediately.

=head2 tcsh

To activate tcsh completion for this script, put:

 complete clear-clipboard-history 'p/*/`clear-clipboard-history`/'

in your tcsh startup (e.g. F<~/.tcshrc>). Your next shell session will then
recognize tab completion for the command. Or, you can also directly execute the
line above in your shell to activate immediately.

It is also recommended to install L<shcompgen> (see above).

=head2 other shells

For fish and zsh, install L<shcompgen> as described above.

script/clipadd  view on Meta::CPAN

#!perl

# Note: This script is a CLI for Riap function /App/ClipboardUtils/add_clipboard_content
# and generated automatically using Perinci::CmdLine::Gen version 0.502

use 5.010001;
use strict;
use warnings;
use Log::ger;

use Perinci::CmdLine::Any;

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2025-10-16'; # DATE
our $DIST = 'App-ClipboardUtils'; # DIST
our $VERSION = '0.014'; # VERSION

my $cmdline = Perinci::CmdLine::Any->new(
    url => "/App/ClipboardUtils/add_clipboard_content",
    program_name => "clipadd",
    log => 1,
    read_config => 0,
    read_env => 0,
);

$cmdline->run;

# ABSTRACT: Shorter alias for add-clipboard-content
# PODNAME: clipadd

__END__

=pod

=encoding UTF-8

=head1 NAME

clipadd - Shorter alias for add-clipboard-content

=head1 VERSION

This document describes version 0.014 of clipadd (from Perl distribution App-ClipboardUtils), released on 2025-10-16.

=head1 SYNOPSIS

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

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

B<clipadd> [B<L<--chomp-newline|/"--chomp-newline, -l">>|B<L<-l|/"--chomp-newline, -l">>|B<L<--no-chomp-newline|/"--chomp-newline, -l">>|B<L<--nochomp-newline|/"--chomp-newline, -l">>] [B<L<--clipboard-manager|/"--clipboard-manager=s, -m">>=I<str>|B<...



See examples in the L</EXAMPLES> section.

=head1 DESCRIPTION

For C<xclip>: when adding content, the primary selection is set. The clipboard
content is unchanged.

=head1 OPTIONS

C<*> marks required options.

=head2 Main options

=over

=item B<--chomp-newline>, B<-l>

Remove trailing newlines before adding item to clipboard.

=item B<--clipboard-manager>=I<s>, B<-m>

Explicitly set clipboard manager to use.

Valid values:

 ["klipper","parcellite","clipit","xclip"]

The default, when left undef, is to detect what clipboard manager is running.


=item B<--command-line>=I<s>, B<-c>

For every line of input in *stdin*, execute a command, feed it the input line, and add the output to clipboard.

Note that when you use this option, the C<--content> argument is ignored. Input
is taken from stdin. With C<--tee>, each output will be printed to stdout. After
eof, the utility will return empty result.

An example for using this option (L<safer> is a utility from L<App::safer>):

 % clipadd -c safer --tee
 Foo Bar, Co., Ltd.
 foo-bar-co-ltd

script/clipadd  view on Meta::CPAN


Command:

 % cat faq.txt | clipadd --fragments

Read L<Text::Fragment> for more details on text fragments.


=item B<--split-by>=I<s>, B<-s>

Split content by specified string/regex, add the split content as multiple clipboard entries.

Cannot be used together with C<--fragments> or C<--command-line> option.

Note that if you supply a regex, you should not have any capture groups in the
regex.


=item B<--tee>, B<-t>

Pass stdin to stdout.

script/clipadd  view on Meta::CPAN

line above in your shell to activate immediately.

It is also recommended to install L<shcompgen> (see above).

=head2 other shells

For fish and zsh, install L<shcompgen> as described above.

=head1 EXAMPLES

=head2 Munge text (remove duplicate spaces) in clipboard

 % clipget | perl -lpe's/ {2,}/ /g' | clipadd

=head1 HOMEPAGE

Please visit the project's homepage at L<https://metacpan.org/release/App-ClipboardUtils>.

=head1 SOURCE

Source repository is at L<https://github.com/perlancar/perl-App-ClipboardUtils>.

script/clipget  view on Meta::CPAN

#!perl

# Note: This script is a CLI for Riap function /Clipboard/Any/get_clipboard_content
# and generated automatically using Perinci::CmdLine::Gen version 0.502

use 5.010001;
use strict;
use warnings;
use Log::ger;

use Perinci::CmdLine::Any;

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2025-10-16'; # DATE
our $DIST = 'App-ClipboardUtils'; # DIST
our $VERSION = '0.014'; # VERSION

my $cmdline = Perinci::CmdLine::Any->new(
    url => "/Clipboard/Any/get_clipboard_content",
    program_name => "clipget",
    log => 1,
    read_config => 0,
    read_env => 0,
);

$cmdline->run;

# ABSTRACT: Shorter alias for get-clipboard-content
# PODNAME: clipget

__END__

=pod

=encoding UTF-8

=head1 NAME

clipget - Shorter alias for get-clipboard-content

=head1 VERSION

This document describes version 0.014 of clipget (from Perl distribution App-ClipboardUtils), released on 2025-10-16.

=head1 SYNOPSIS

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

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

B<clipget> [B<L<--clipboard-manager|/"--clipboard-manager=s, -m">>=I<str>|B<L<-m|/"--clipboard-manager=s, -m">>=I<str>] [B<L<--debug|/"--debug">>|B<L<--log-level|/"--log-level=s">>=I<level>|B<L<--quiet|/"--quiet">>|B<L<--trace|/"--trace">>|B<L<--verb...



See examples in the L</EXAMPLES> section.

=head1 DESCRIPTION

Caveats for klipper: Non-text item is not retrievable by getClipboardContents().
If the current item is e.g. an image, then the next text item from history will
be returned instead, or empty string if none exists.

=head1 OPTIONS

C<*> marks required options.

=head2 Main options

=over

=item B<--clipboard-manager>=I<s>, B<-m>

Explicitly set clipboard manager to use.

Valid values:

 ["klipper","parcellite","clipit","xclip"]

The default, when left undef, is to detect what clipboard manager is running.


=back

=head2 Logging options

=over

=item B<--debug>

script/clipget  view on Meta::CPAN

line above in your shell to activate immediately.

It is also recommended to install L<shcompgen> (see above).

=head2 other shells

For fish and zsh, install L<shcompgen> as described above.

=head1 EXAMPLES

=head2 Munge text (remove duplicate spaces) in clipboard

 % clipget | perl -lpe's/ {2,}/ /g' | clipadd

=head1 HOMEPAGE

Please visit the project's homepage at L<https://metacpan.org/release/App-ClipboardUtils>.

=head1 SOURCE

Source repository is at L<https://github.com/perlancar/perl-App-ClipboardUtils>.

script/cliptee  view on Meta::CPAN

#!perl

# Note: This script is a CLI for Riap function /App/ClipboardUtils/tee_clipboard_content
# and generated automatically using Perinci::CmdLine::Gen version 0.502

use 5.010001;
use strict;
use warnings;
use Log::ger;

use Perinci::CmdLine::Any;

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2025-10-16'; # DATE
our $DIST = 'App-ClipboardUtils'; # DIST
our $VERSION = '0.014'; # VERSION

my $cmdline = Perinci::CmdLine::Any->new(
    url => "/App/ClipboardUtils/tee_clipboard_content",
    program_name => "cliptee",
    log => 1,
    read_config => 0,
    read_env => 0,
);

$cmdline->run;

# ABSTRACT: Shorter alias for tee-clipboard-content
# PODNAME: cliptee

__END__

=pod

=encoding UTF-8

=head1 NAME

cliptee - Shorter alias for tee-clipboard-content

=head1 VERSION

This document describes version 0.014 of cliptee (from Perl distribution App-ClipboardUtils), released on 2025-10-16.

=head1 SYNOPSIS

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

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

B<cliptee> [B<L<--chomp-newline|/"--chomp-newline, -l">>|B<L<-l|/"--chomp-newline, -l">>|B<L<--no-chomp-newline|/"--chomp-newline, -l">>|B<L<--nochomp-newline|/"--chomp-newline, -l">>] [B<L<--clipboard-manager|/"--clipboard-manager=s, -m">>=I<str>|B<...



See examples in the L</EXAMPLES> section.

=head1 OPTIONS

C<*> marks required options.

=head2 Main options

=over

=item B<--chomp-newline>, B<-l>

Remove trailing newlines before adding item to clipboard.

=item B<--clipboard-manager>=I<s>, B<-m>

Explicitly set clipboard manager to use.

Valid values:

 ["klipper","parcellite","clipit","xclip"]

The default, when left undef, is to detect what clipboard manager is running.


=item B<--content>=I<s>

(No description)


Can also be specified as the 1st command-line argument.

=back

script/cliptee  view on Meta::CPAN

line above in your shell to activate immediately.

It is also recommended to install L<shcompgen> (see above).

=head2 other shells

For fish and zsh, install L<shcompgen> as described above.

=head1 EXAMPLES

=head2 Munge text (remove duplicate spaces) in clipboard

 % clipget | perl -lpe's/ {2,}/ /g' | cliptee

=head1 HOMEPAGE

Please visit the project's homepage at L<https://metacpan.org/release/App-ClipboardUtils>.

=head1 SOURCE

Source repository is at L<https://github.com/perlancar/perl-App-ClipboardUtils>.

script/ct  view on Meta::CPAN

#!perl

# Note: This script is a CLI for Riap function /App/ClipboardUtils/tee_clipboard_content
# and generated automatically using Perinci::CmdLine::Gen version 0.502

use 5.010001;
use strict;
use warnings;
use Log::ger;

use Perinci::CmdLine::Any;

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2025-10-16'; # DATE
our $DIST = 'App-ClipboardUtils'; # DIST
our $VERSION = '0.014'; # VERSION

my $cmdline = Perinci::CmdLine::Any->new(
    url => "/App/ClipboardUtils/tee_clipboard_content",
    program_name => "ct",
    log => 1,
    read_config => 0,
    read_env => 0,
);

$cmdline->run;

# ABSTRACT: Even shorter alias for tee-clipboard-content and cliptee
# PODNAME: ct

__END__

=pod

=encoding UTF-8

=head1 NAME

ct - Even shorter alias for tee-clipboard-content and cliptee

=head1 VERSION

This document describes version 0.014 of ct (from Perl distribution App-ClipboardUtils), released on 2025-10-16.

=head1 SYNOPSIS

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

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

B<ct> [B<L<--chomp-newline|/"--chomp-newline, -l">>|B<L<-l|/"--chomp-newline, -l">>|B<L<--no-chomp-newline|/"--chomp-newline, -l">>|B<L<--nochomp-newline|/"--chomp-newline, -l">>] [B<L<--clipboard-manager|/"--clipboard-manager=s, -m">>=I<str>|B<L<-m|...



See examples in the L</EXAMPLES> section.

=head1 OPTIONS

C<*> marks required options.

=head2 Main options

=over

=item B<--chomp-newline>, B<-l>

Remove trailing newlines before adding item to clipboard.

=item B<--clipboard-manager>=I<s>, B<-m>

Explicitly set clipboard manager to use.

Valid values:

 ["klipper","parcellite","clipit","xclip"]

The default, when left undef, is to detect what clipboard manager is running.


=item B<--content>=I<s>

(No description)


Can also be specified as the 1st command-line argument.

=back

script/ct  view on Meta::CPAN

line above in your shell to activate immediately.

It is also recommended to install L<shcompgen> (see above).

=head2 other shells

For fish and zsh, install L<shcompgen> as described above.

=head1 EXAMPLES

=head2 Munge text (remove duplicate spaces) in clipboard

 % clipget | perl -lpe's/ {2,}/ /g' | ct

=head1 HOMEPAGE

Please visit the project's homepage at L<https://metacpan.org/release/App-ClipboardUtils>.

=head1 SOURCE

Source repository is at L<https://github.com/perlancar/perl-App-ClipboardUtils>.

script/detect-clipboard-manager  view on Meta::CPAN

#!perl

# Note: This script is a CLI for Riap function /Clipboard/Any/detect_clipboard_manager
# and generated automatically using Perinci::CmdLine::Gen version 0.502

use 5.010001;
use strict;
use warnings;
use Log::ger;

use Perinci::CmdLine::Any;

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2025-10-16'; # DATE
our $DIST = 'App-ClipboardUtils'; # DIST
our $VERSION = '0.014'; # VERSION

my $cmdline = Perinci::CmdLine::Any->new(
    url => "/Clipboard/Any/detect_clipboard_manager",
    program_name => "detect-clipboard-manager",
    log => 1,
    read_config => 0,
    read_env => 0,
);

$cmdline->run;

# ABSTRACT: Detect which clipboard manager program is currently running
# PODNAME: detect-clipboard-manager

__END__

=pod

=encoding UTF-8

=head1 NAME

detect-clipboard-manager - Detect which clipboard manager program is currently running

=head1 VERSION

This document describes version 0.014 of detect-clipboard-manager (from Perl distribution App-ClipboardUtils), released on 2025-10-16.

=head1 SYNOPSIS

B<detect-clipboard-manager> B<L<--help|/"--help, -h, -?">> (or B<L<-h|/"--help, -h, -?">>, B<L<-?|/"--help, -h, -?">>)

B<detect-clipboard-manager> B<L<--version|/"--version, -v">> (or B<L<-v|/"--version, -v">>)

B<detect-clipboard-manager> [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">>] [B<L<--detail|/"--detail, -l">>|B<L<-l|/"--detail, -l">>|B<L<--no-detail...

=head1 DESCRIPTION

Will return a string containing name of clipboard manager program, e.g.
C<klipper>. Will return undef if no known clipboard manager is detected.

=head1 OPTIONS

C<*> marks required options.

=head2 Main options

=over

=item B<--detail>, B<-l>

script/detect-clipboard-manager  view on Meta::CPAN


=head1 COMPLETION

This script has shell tab completion capability with support for several
shells.

=head2 bash

To activate bash completion for this script, put:

 complete -C detect-clipboard-manager detect-clipboard-manager

in your bash startup (e.g. F<~/.bashrc>). Your next shell session will then
recognize tab completion for the command. Or, you can also directly execute the
line above in your shell to activate immediately.

It is recommended, however, that you install modules using L<cpanm-shcompgen>
which can activate shell completion for scripts immediately.

=head2 tcsh

To activate tcsh completion for this script, put:

 complete detect-clipboard-manager 'p/*/`detect-clipboard-manager`/'

in your tcsh startup (e.g. F<~/.tcshrc>). Your next shell session will then
recognize tab completion for the command. Or, you can also directly execute the
line above in your shell to activate immediately.

It is also recommended to install L<shcompgen> (see above).

=head2 other shells

For fish and zsh, install L<shcompgen> as described above.

script/get-clipboard-content  view on Meta::CPAN

#!perl

# Note: This script is a CLI for Riap function /Clipboard/Any/get_clipboard_content
# and generated automatically using Perinci::CmdLine::Gen version 0.502

use 5.010001;
use strict;
use warnings;
use Log::ger;

use Perinci::CmdLine::Any;

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2025-10-16'; # DATE
our $DIST = 'App-ClipboardUtils'; # DIST
our $VERSION = '0.014'; # VERSION

my $cmdline = Perinci::CmdLine::Any->new(
    url => "/Clipboard/Any/get_clipboard_content",
    program_name => "get-clipboard-content",
    log => 1,
    read_config => 0,
    read_env => 0,
);

$cmdline->run;

# ABSTRACT: Get the clipboard content (most recent, history index [0])
# PODNAME: get-clipboard-content

__END__

=pod

=encoding UTF-8

=head1 NAME

get-clipboard-content - Get the clipboard content (most recent, history index [0])

=head1 VERSION

This document describes version 0.014 of get-clipboard-content (from Perl distribution App-ClipboardUtils), released on 2025-10-16.

=head1 SYNOPSIS

B<get-clipboard-content> B<L<--help|/"--help, -h, -?">> (or B<L<-h|/"--help, -h, -?">>, B<L<-?|/"--help, -h, -?">>)

B<get-clipboard-content> B<L<--version|/"--version, -v">> (or B<L<-v|/"--version, -v">>)

B<get-clipboard-content> [B<L<--clipboard-manager|/"--clipboard-manager=s, -m">>=I<str>|B<L<-m|/"--clipboard-manager=s, -m">>=I<str>] [B<L<--debug|/"--debug">>|B<L<--log-level|/"--log-level=s">>=I<level>|B<L<--quiet|/"--quiet">>|B<L<--trace|/"--trace...



See examples in the L</EXAMPLES> section.

=head1 DESCRIPTION

Caveats for klipper: Non-text item is not retrievable by getClipboardContents().
If the current item is e.g. an image, then the next text item from history will
be returned instead, or empty string if none exists.

=head1 OPTIONS

C<*> marks required options.

=head2 Main options

=over

=item B<--clipboard-manager>=I<s>, B<-m>

Explicitly set clipboard manager to use.

Valid values:

 ["klipper","parcellite","clipit","xclip"]

The default, when left undef, is to detect what clipboard manager is running.


=back

=head2 Logging options

=over

=item B<--debug>

script/get-clipboard-content  view on Meta::CPAN


=head1 COMPLETION

This script has shell tab completion capability with support for several
shells.

=head2 bash

To activate bash completion for this script, put:

 complete -C get-clipboard-content get-clipboard-content

in your bash startup (e.g. F<~/.bashrc>). Your next shell session will then
recognize tab completion for the command. Or, you can also directly execute the
line above in your shell to activate immediately.

It is recommended, however, that you install modules using L<cpanm-shcompgen>
which can activate shell completion for scripts immediately.

=head2 tcsh

To activate tcsh completion for this script, put:

 complete get-clipboard-content 'p/*/`get-clipboard-content`/'

in your tcsh startup (e.g. F<~/.tcshrc>). Your next shell session will then
recognize tab completion for the command. Or, you can also directly execute the
line above in your shell to activate immediately.

It is also recommended to install L<shcompgen> (see above).

=head2 other shells

For fish and zsh, install L<shcompgen> as described above.

=head1 EXAMPLES

=head2 Munge text (remove duplicate spaces) in clipboard

 % get-clipboard-content | perl -lpe's/ {2,}/ /g' | clipadd

=head1 HOMEPAGE

Please visit the project's homepage at L<https://metacpan.org/release/App-ClipboardUtils>.

=head1 SOURCE

Source repository is at L<https://github.com/perlancar/perl-App-ClipboardUtils>.

=head1 AUTHOR

script/get-clipboard-history-item  view on Meta::CPAN

#!perl

# Note: This script is a CLI for Riap function /Clipboard/Any/get_clipboard_history_item
# and generated automatically using Perinci::CmdLine::Gen version 0.502

use 5.010001;
use strict;
use warnings;
use Log::ger;

use Perinci::CmdLine::Any;

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2025-10-16'; # DATE
our $DIST = 'App-ClipboardUtils'; # DIST
our $VERSION = '0.014'; # VERSION

my $cmdline = Perinci::CmdLine::Any->new(
    url => "/Clipboard/Any/get_clipboard_history_item",
    program_name => "get-clipboard-history-item",
    log => 1,
    read_config => 0,
    read_env => 0,
);

$cmdline->run;

# ABSTRACT: Get a clipboard history item
# PODNAME: get-clipboard-history-item

__END__

=pod

=encoding UTF-8

=head1 NAME

get-clipboard-history-item - Get a clipboard history item

=head1 VERSION

This document describes version 0.014 of get-clipboard-history-item (from Perl distribution App-ClipboardUtils), released on 2025-10-16.

=head1 SYNOPSIS

B<get-clipboard-history-item> B<L<--help|/"--help, -h, -?">> (or B<L<-h|/"--help, -h, -?">>, B<L<-?|/"--help, -h, -?">>)

B<get-clipboard-history-item> B<L<--version|/"--version, -v">> (or B<L<-v|/"--version, -v">>)

B<get-clipboard-history-item> [B<L<--clipboard-manager|/"--clipboard-manager=s, -m">>=I<str>|B<L<-m|/"--clipboard-manager=s, -m">>=I<str>] [B<L<--debug|/"--debug">>|B<L<--log-level|/"--log-level=s">>=I<level>|B<L<--quiet|/"--quiet">>|B<L<--trace|/"--...

=head1 DESCRIPTION

=head1 OPTIONS

C<*> marks required options.

=head2 Main options

=over

=item B<--clipboard-manager>=I<s>, B<-m>

Explicitly set clipboard manager to use.

Valid values:

 ["klipper","parcellite","clipit","xclip"]

The default, when left undef, is to detect what clipboard manager is running.


=item B<--index>=I<s>

Index of item in history (0 means the current/latest, 1 the second latest, and so on).

If the index exceeds the number of items in history, empty string or undef will
be returned instead.


script/get-clipboard-history-item  view on Meta::CPAN


=head1 COMPLETION

This script has shell tab completion capability with support for several
shells.

=head2 bash

To activate bash completion for this script, put:

 complete -C get-clipboard-history-item get-clipboard-history-item

in your bash startup (e.g. F<~/.bashrc>). Your next shell session will then
recognize tab completion for the command. Or, you can also directly execute the
line above in your shell to activate immediately.

It is recommended, however, that you install modules using L<cpanm-shcompgen>
which can activate shell completion for scripts immediately.

=head2 tcsh

To activate tcsh completion for this script, put:

 complete get-clipboard-history-item 'p/*/`get-clipboard-history-item`/'

in your tcsh startup (e.g. F<~/.tcshrc>). Your next shell session will then
recognize tab completion for the command. Or, you can also directly execute the
line above in your shell to activate immediately.

It is also recommended to install L<shcompgen> (see above).

=head2 other shells

For fish and zsh, install L<shcompgen> as described above.

script/list-clipboard-history  view on Meta::CPAN

#!perl

# Note: This script is a CLI for Riap function /Clipboard/Any/list_clipboard_history
# and generated automatically using Perinci::CmdLine::Gen version 0.502

use 5.010001;
use strict;
use warnings;
use Log::ger;

use Perinci::CmdLine::Any;

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2025-10-16'; # DATE
our $DIST = 'App-ClipboardUtils'; # DIST
our $VERSION = '0.014'; # VERSION

my $cmdline = Perinci::CmdLine::Any->new(
    url => "/Clipboard/Any/list_clipboard_history",
    program_name => "list-clipboard-history",
    log => 1,
    read_config => 0,
    read_env => 0,
);

$cmdline->run;

# ABSTRACT: List the clipboard history
# PODNAME: list-clipboard-history

__END__

=pod

=encoding UTF-8

=head1 NAME

list-clipboard-history - List the clipboard history

=head1 VERSION

This document describes version 0.014 of list-clipboard-history (from Perl distribution App-ClipboardUtils), released on 2025-10-16.

=head1 SYNOPSIS

B<list-clipboard-history> B<L<--help|/"--help, -h, -?">> (or B<L<-h|/"--help, -h, -?">>, B<L<-?|/"--help, -h, -?">>)

B<list-clipboard-history> B<L<--version|/"--version, -v">> (or B<L<-v|/"--version, -v">>)

B<list-clipboard-history> [B<L<--clipboard-manager|/"--clipboard-manager=s, -m">>=I<str>|B<L<-m|/"--clipboard-manager=s, -m">>=I<str>] [B<L<--debug|/"--debug">>|B<L<--log-level|/"--log-level=s">>=I<level>|B<L<--quiet|/"--quiet">>|B<L<--trace|/"--trac...

=head1 DESCRIPTION

Caveats for klipper: 1) Klipper does not provide method to get the length of
history. So we retrieve history item one by one using getClipboardHistoryItem(i)
from i=0, i=1, and so on. And assume that if we get two consecutive empty
string, it means we reach the end of the clipboard history before the first
empty result.

2) Non-text items are not retrievable by getClipboardHistoryItem().

=head1 OPTIONS

C<*> marks required options.

=head2 Main options

=over

=item B<--clipboard-manager>=I<s>, B<-m>

Explicitly set clipboard manager to use.

Valid values:

 ["klipper","parcellite","clipit","xclip"]

The default, when left undef, is to detect what clipboard manager is running.


=back

=head2 Logging options

=over

=item B<--debug>

script/list-clipboard-history  view on Meta::CPAN


=head1 COMPLETION

This script has shell tab completion capability with support for several
shells.

=head2 bash

To activate bash completion for this script, put:

 complete -C list-clipboard-history list-clipboard-history

in your bash startup (e.g. F<~/.bashrc>). Your next shell session will then
recognize tab completion for the command. Or, you can also directly execute the
line above in your shell to activate immediately.

It is recommended, however, that you install modules using L<cpanm-shcompgen>
which can activate shell completion for scripts immediately.

=head2 tcsh

To activate tcsh completion for this script, put:

 complete list-clipboard-history 'p/*/`list-clipboard-history`/'

in your tcsh startup (e.g. F<~/.tcshrc>). Your next shell session will then
recognize tab completion for the command. Or, you can also directly execute the
line above in your shell to activate immediately.

It is also recommended to install L<shcompgen> (see above).

=head2 other shells

For fish and zsh, install L<shcompgen> as described above.

script/tee-clipboard-content  view on Meta::CPAN

#!perl

# Note: This script is a CLI for Riap function /App/ClipboardUtils/tee_clipboard_content
# and generated automatically using Perinci::CmdLine::Gen version 0.502

use 5.010001;
use strict;
use warnings;
use Log::ger;

use Perinci::CmdLine::Any;

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2025-10-16'; # DATE
our $DIST = 'App-ClipboardUtils'; # DIST
our $VERSION = '0.014'; # VERSION

my $cmdline = Perinci::CmdLine::Any->new(
    url => "/App/ClipboardUtils/tee_clipboard_content",
    program_name => "tee-clipboard-content",
    log => 1,
    read_config => 0,
    read_env => 0,
);

$cmdline->run;

# ABSTRACT: Shortcut for add-clipboard-content --tee
# PODNAME: tee-clipboard-content

__END__

=pod

=encoding UTF-8

=head1 NAME

tee-clipboard-content - Shortcut for add-clipboard-content --tee

=head1 VERSION

This document describes version 0.014 of tee-clipboard-content (from Perl distribution App-ClipboardUtils), released on 2025-10-16.

=head1 SYNOPSIS

B<tee-clipboard-content> B<L<--help|/"--help, -h, -?">> (or B<L<-h|/"--help, -h, -?">>, B<L<-?|/"--help, -h, -?">>)

B<tee-clipboard-content> B<L<--version|/"--version, -v">> (or B<L<-v|/"--version, -v">>)

B<tee-clipboard-content> [B<L<--chomp-newline|/"--chomp-newline, -l">>|B<L<-l|/"--chomp-newline, -l">>|B<L<--no-chomp-newline|/"--chomp-newline, -l">>|B<L<--nochomp-newline|/"--chomp-newline, -l">>] [B<L<--clipboard-manager|/"--clipboard-manager=s, -...



See examples in the L</EXAMPLES> section.

=head1 OPTIONS

C<*> marks required options.

=head2 Main options

=over

=item B<--chomp-newline>, B<-l>

Remove trailing newlines before adding item to clipboard.

=item B<--clipboard-manager>=I<s>, B<-m>

Explicitly set clipboard manager to use.

Valid values:

 ["klipper","parcellite","clipit","xclip"]

The default, when left undef, is to detect what clipboard manager is running.


=item B<--content>=I<s>

(No description)


Can also be specified as the 1st command-line argument.

=back

script/tee-clipboard-content  view on Meta::CPAN


=head1 COMPLETION

This script has shell tab completion capability with support for several
shells.

=head2 bash

To activate bash completion for this script, put:

 complete -C tee-clipboard-content tee-clipboard-content

in your bash startup (e.g. F<~/.bashrc>). Your next shell session will then
recognize tab completion for the command. Or, you can also directly execute the
line above in your shell to activate immediately.

It is recommended, however, that you install modules using L<cpanm-shcompgen>
which can activate shell completion for scripts immediately.

=head2 tcsh

To activate tcsh completion for this script, put:

 complete tee-clipboard-content 'p/*/`tee-clipboard-content`/'

in your tcsh startup (e.g. F<~/.tcshrc>). Your next shell session will then
recognize tab completion for the command. Or, you can also directly execute the
line above in your shell to activate immediately.

It is also recommended to install L<shcompgen> (see above).

=head2 other shells

For fish and zsh, install L<shcompgen> as described above.

=head1 EXAMPLES

=head2 Munge text (remove duplicate spaces) in clipboard

 % clipget | perl -lpe's/ {2,}/ /g' | tee-clipboard-content

=head1 HOMEPAGE

Please visit the project's homepage at L<https://metacpan.org/release/App-ClipboardUtils>.

=head1 SOURCE

Source repository is at L<https://github.com/perlancar/perl-App-ClipboardUtils>.

=head1 AUTHOR

t/00-compile.t  view on Meta::CPAN


use Test::More;

plan tests => 15 + ($ENV{AUTHOR_TESTING} ? 1 : 0);

my @module_files = (
    'App/ClipboardUtils.pm'
);

my @scripts = (
    'script/add-clipboard-content',
    'script/ca',
    'script/cg',
    'script/clear-clipboard-content',
    'script/clear-clipboard-history',
    'script/clipadd',
    'script/clipget',
    'script/cliptee',
    'script/ct',
    'script/detect-clipboard-manager',
    'script/get-clipboard-content',
    'script/get-clipboard-history-item',
    'script/list-clipboard-history',
    'script/tee-clipboard-content'
);

# no fake home requested

my @switches = (
    -d 'blib' ? '-Mblib' : '-Ilib',
);

use File::Spec;
use IPC::Open3;

t/author-critic.t  view on Meta::CPAN

}


use strict;
use warnings;

# this test was generated with Dist::Zilla::Plugin::Test::Perl::Critic::Subset 3.001.006

use Test::Perl::Critic (-profile => "") x!! -e "";

my $filenames = ['lib/App/ClipboardUtils.pm','lib/App/ClipboardUtils/Manual/HowTo/ClipaddCookbook.pod','script/add-clipboard-content','script/ca','script/cg','script/clear-clipboard-content','script/clear-clipboard-history','script/clipadd','script/c...
unless ($filenames && @$filenames) {
    $filenames = -d "blib" ? ["blib"] : ["lib"];
}

all_critic_ok(@$filenames);



( run in 2.532 seconds using v1.01-cache-2.11-cpan-df04353d9ac )