DesktopWorkspace

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN


SPECIFICATION VERSION
    1

VERSION
    This document describes version 1.0.0 of DesktopWorkspace (from Perl
    distribution DesktopWorkspace), released on 2026-03-29.

DESCRIPTION
    This document specifies a way to describe windows and applications to
    set up for a workspace on the desktop.

SPECIFICATION STATUS
    The series 1.x is still unstable. 2.x is expected to be the first series
    to be stable.

GLOSSARY
  DesktopWorkspace specification
    A specification of what windows, applications, URLs in browser tabs
    should be present in a workspace on the desktop.

  DesktopWorkspace specification module
    A Perl module under "DesktopWorkspace::" namespace (or some other
    namespace specified, e.g. "CPANID::DesktopWorkspace::",
    "Some::App::DesktopWorkspace::") that follows at least the
    DesktopWorkspaceRole::Spec::Basic role.

    Some example module names:

    *   PERLANCAR::DesktopWorkspace::Coding

        Specifies items to be opened in the desktop workspace for coding,
        e.g. which Konsole terminal tabs to open, which IDE to open.

    *   PERLANCAR::DesktopWorkspace::LLM

        Specifies PERLANCAR's standard sets of AI LLM websites usually
        opened.

    *   SHARYANTO::DesktopWorkspace::Writing

        Specifies items to be opened in the desktop workspace for writing
        stuffs, e.g. which dictionary, translation, and AI LLM websites to
        open, which directories to open in the file manager.

    *   SHARYANTO::DesktopWorkspace::Acme::RND

        Specifies items to be opened in the desktop workspace for Steven's
        R&D work for the company Acme, e.g. which LibreOffice Calc
        spreadsheets and Google spreadsheets to open, which directories to
        open in the file manager.

  Workspace item
    Either an application, a directory/file, or a URL.

SPECIFICATION
  Desktop workspace specification
    A desktop workspace specification is a DefHash structure that contains
    the following properties:

    *   items

        An array of "workspace item"s.

    *   new_browser_window

        Bool. When opening one or more URL's, use a new window.

README  view on Meta::CPAN


  Workspace item
    A DefHash structure that contain the following properties:

    *   url

        A URL to be opened in a browser.

    *   file

        Path to a file to be opened by an appropriate desktop application.

    *   dir

        Path to a directory to be opened by an appropriate desktop
        application (usually a file manager).

    *   app_path

        Path to a program to be run.

    *   firefox_container

        Str. When using Firefox to open the item, use this container.

    *   new_browser_window

        Bool. When opening the URL, use a new browser window.

    Exactly one of "url", "file", "dir", "app_path" must be specified.

NOTES
    Currently a single desktop workspace specification can only describe
    items for a single KDE activity. To setup multiple KDE activities, use a
    separate desktop workspace specification for each.

WISHLIST
    Open directories in konsole tabs.

    Open "screen" or "tmux" sessions, along with detailed specification on
    window size, etc.

HOMEPAGE
    Please visit the project's homepage at
    <https://metacpan.org/release/DesktopWorkspace>.

lib/DesktopWorkspace.pm  view on Meta::CPAN


1

=head1 VERSION

This document describes version 1.0.0 of DesktopWorkspace (from Perl distribution DesktopWorkspace), released on 2026-03-29.

=head1 DESCRIPTION

This document specifies a way to describe windows and applications to set up for
a workspace on the desktop.

=head1 SPECIFICATION STATUS

The series 1.x is still unstable. 2.x is expected to be the first series to be
stable.

=head1 GLOSSARY

=head2 DesktopWorkspace specification

A specification of what windows, applications, URLs in browser tabs should be
present in a workspace on the desktop.

=head2 DesktopWorkspace specification module

A Perl module under C<DesktopWorkspace::> namespace (or some other namespace
specified, e.g. C<CPANID::DesktopWorkspace::>, C<Some::App::DesktopWorkspace::>)
that follows at least the L<DesktopWorkspaceRole::Spec::Basic> role.

Some example module names:

=over

=item * PERLANCAR::DesktopWorkspace::Coding

Specifies items to be opened in the desktop workspace for coding, e.g. which
Konsole terminal tabs to open, which IDE to open.

=item * PERLANCAR::DesktopWorkspace::LLM

Specifies PERLANCAR's standard sets of AI LLM websites usually opened.

=item * SHARYANTO::DesktopWorkspace::Writing

Specifies items to be opened in the desktop workspace for writing stuffs, e.g.
which dictionary, translation, and AI LLM websites to open, which directories to
open in the file manager.

=item * SHARYANTO::DesktopWorkspace::Acme::RND

Specifies items to be opened in the desktop workspace for Steven's R&D work for
the company Acme, e.g. which LibreOffice Calc spreadsheets and Google
spreadsheets to open, which directories to open in the file manager.

=back

=head2 Workspace item

Either an application, a directory/file, or a URL.

=head1 SPECIFICATION

=head2 Desktop workspace specification

A desktop workspace specification is a L<DefHash> structure that contains the
following properties:

=over

=item * items

An array of L</workspace item>s.

=item * new_browser_window

lib/DesktopWorkspace.pm  view on Meta::CPAN

A L<DefHash> structure that contain the following properties:

=over

=item * url

A URL to be opened in a browser.

=item * file

Path to a file to be opened by an appropriate desktop application.

=item * dir

Path to a directory to be opened by an appropriate desktop application (usually
a file manager).

=item * app_path

Path to a program to be run.

=item * firefox_container

Str. When using Firefox to open the item, use this container.

=item * new_browser_window

Bool. When opening the URL, use a new browser window.

=back

Exactly one of C<url>, C<file>, C<dir>, C<app_path> must be specified.

=head1 NOTES

Currently a single desktop workspace specification can only describe items for a
single KDE activity. To setup multiple KDE activities, use a separate desktop
workspace specification for each.

=head1 WISHLIST

Open directories in konsole tabs.

Open C<screen> or C<tmux> sessions, along with detailed specification on window
size, etc.

=head1 HOMEPAGE

lib/DesktopWorkspace/Test/Spec/Basic.pm  view on Meta::CPAN

    my $self = shift;
    if (@_) {
        $self->{new_browser_window} = $_[0];
    } else {
        $self->{new_browse_window};
    }
}

1;

# ABSTRACT: A test desktop workspace

__END__

=pod

=encoding UTF-8

=head1 NAME

DesktopWorkspace::Test::Spec::Basic - A test desktop workspace

=head1 VERSION

This document describes version 1.0.0 of DesktopWorkspace::Test::Spec::Basic (from Perl distribution DesktopWorkspace), released on 2026-03-29.

=for Pod::Coverage ^(.+)$

=head1 HOMEPAGE

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



( run in 1.271 second using v1.01-cache-2.11-cpan-bbe5e583499 )