Result:
found more than 792 distributions - search limited to the first 2001 files matching your query ( run in 2.206 )


File-DesktopEntry

 view release on metacpan or  search on metacpan

lib/File/DesktopEntry.pm  view on Meta::CPAN

    die $@ if $@;
}

=head1 NAME

File::DesktopEntry - Object to handle .desktop files

=head1 SYNOPSIS

    use File::DesktopEntry;

lib/File/DesktopEntry.pm  view on Meta::CPAN

    print "Using ".$entry->Name." to open http://perl.org\n";
    $entry->run('http://perl.org');

=head1 DESCRIPTION

This module is designed to work with F<.desktop> files. The format of these files
is specified by the freedesktop "Desktop Entry" specification. This module can
parse these files but also knows how to run the applications defined by these
files.

For this module version 1.0 of the specification was used.

lib/File/DesktopEntry.pm  view on Meta::CPAN

    return $_[0]->get($AUTOLOAD);
}

=item C<lookup(NAME)>

Returns a filename for a desktop entry with desktop file id NAME.

=cut

sub lookup {
    my (undef, $name) = @_;
    $name .= '.desktop';
    my $file = data_files('applications', $name);
    if (! $file and $name =~ /-/) {
        # name contains "-" and was not found
        my @name = split /-/, $name;
        $file = data_files('applications', @name);

lib/File/DesktopEntry.pm  view on Meta::CPAN

    return join '|', reverse @locale;
}

=item C<wants_uris( )>

Returns true if the Exec string for this desktop entry specifies that the
application uses URIs instead of paths. This can be used to determine
whether an application uses a VFS library.

=item C<wants_list( )>

Returns true if the Exec string for this desktop entry specifies that the
application can handle multiple arguments at once.

=cut


sub wants_uris {
    my $self = shift;
    my $exec = $self->get('Exec');
    croak "No Exec string defined for desktop entry" unless length $exec;
    $exec =~ s/\%\%//g;
    return $exec =~ /\%U/i;
}

sub wants_list {
    my $self = shift;
    my $exec = $self->get('Exec');
    croak "No Exec string defined for desktop entry" unless length $exec;
    $exec =~ s/\%\%//g;
    return $exec !~ /\%[fud]/; # we default to %F if no /\%[FUD]/i is found
}

=item C<run(@FILES)>

lib/File/DesktopEntry.pm  view on Meta::CPAN

with arguments FILES as a background process. Returns the pid.

The child process fails when this is not a Desktop Entry of type Application
or if the Exec key is missing or invalid.

If the desktop entry specifies that the program needs to be executed in a
terminal the $TERMINAL environment variable is used. If this variable is not
set C<xterm -e> is used as default.

(On Windows this method returns a L<Win32::Process> object.)

lib/File/DesktopEntry.pm  view on Meta::CPAN

    }
}

=item C<parse_Exec(@FILES)>

Expands the Exec format in this desktop entry with. Returns a properly quoted
string in scalar context or a list of words in list context. Dies when the
Exec key is invalid.

It supports the following fields:

lib/File/DesktopEntry.pm  view on Meta::CPAN

    %F    multiple files
    %u    single url
    %U    multiple urls
    %i    Icon field prefixed by --icon
    %c    Name field, possibly translated
    %k    location of this .desktop file
    %%    literal '%'

If necessary this method tries to convert between paths and URLs but this
is not perfect.

lib/File/DesktopEntry.pm  view on Meta::CPAN

        else { croak "Can not write empty Desktop Entry file" }
    }

    # Check keys
    for (qw/Name Type/) {
        croak "Can not write a desktop file without a $_ field"
            unless defined $self->get($_);
    }
    $self->set(Version => '1.0', Encoding => 'UTF-8');

    # Check file writable

lib/File/DesktopEntry.pm  view on Meta::CPAN


sub _data_home_file {
    # create new file name in XDG_DATA_HOME from name
    my $self = shift;
    my @parts = split /-/, $$self{name};
    $parts[-1] .= '.desktop';
    my $dir = data_home('applications', @parts[0 .. $#parts-1]);
    unless (-d $dir) { # create dir if it doesn't exist
        require File::Path;
        File::Path::mkpath($dir);
    }

lib/File/DesktopEntry.pm  view on Meta::CPAN

This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.

=head1 SEE ALSO

L<http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html>

L<File::BaseDir> and L<File::MimeInfo::Applications>

L<X11::FreeDesktop::DesktopEntry>

 view all matches for this distribution


File-Extension

 view release on metacpan or  search on metacpan

lib/File/Extension.pm  view on Meta::CPAN

    '2mg'          => 'Apple IIGS Disk Image',
    '2sf'          => 'Nintendo DS Sound File',
    '2sflib'       => 'Nintendo DS Audio Library File',
    '323'          => 'H.323 Internet Telephony File',
    '32x'          => 'Sega 32X ROM',
    '360'          => '360desktop Panorama File',
    '386'          => 'Windows Virtual Device Driver',
    '3d'           => 'Stereo CAD-3D Image File',
    '3d2'          => 'Stereo CAD-3D 2.0 Image File',
    '3d4'          => 'Stereo CAD-3D 2.0 Image File',
    '3da'          => '3D Assembly File',

lib/File/Extension.pm  view on Meta::CPAN

    'des'          => 'QuickBooks Forms Template',
    'desc'         => 'Battlefield 2 Map Description File',
    'design'       => 'Microsoft Expression Design Drawing',
    'desklink'     => 'Desktop Shortcut',
    'deskthemepac' => ' \'Windows 8 Desktop Theme Pack File',
    'desktop'      => 'Desktop Entry File',
    'det'          => 'Sage ACT! 5 Email Message',
    'dev'          => 'Dev-C++ Project File',
    'developerpro' => 'I\'LE  Xcode Developer Profile',
    'develve'      => 'Develve Data File',
    'deviceids'    => 'Device Identification FIle',

 view all matches for this distribution


File-Find-Rule-DMIDecode

 view release on metacpan or  search on metacpan

DMIDecode.pm  view on Meta::CPAN


dmidecode text file is output of dmidecode tool, which prints information about
DMI.

DMI (Desktop Management Interface) generates a standard framework for managing
and tracking components in a desktop, notebook or server computer, by
abstracting these components from the software that manages them.
See L<DMI on Wikipedia|https://en.wikipedia.org/wiki/Desktop_Management_Interface>.

=head1 SUBROUTINES

 view all matches for this distribution


File-Fu

 view release on metacpan or  search on metacpan

todo  view on Meta::CPAN

    $file->dirname->map([wav => 'flac'], 0);
    $file->dirname->map([qw(wav flac)], 0);
    ($file &= λ{s/wav/flac/})->dirname &= λ{s/wav/flac/};
    $file->map(λ{s/\.wav$/flac/})->dirname->map(λ{s/wav/flac/}, 0);
x $dir + 'foo/bar' problem
o freedesktop
  o home
  o mimeinfo
  o basedir
o resolve() symlink chase-down

 view all matches for this distribution


File-HomeDir-PathClass

 view release on metacpan or  search on metacpan

t/method.t  view on Meta::CPAN

use File::HomeDir ();
use File::HomeDir::PathClass;
use Path::Class;
use Test::More;

my @subs = qw{ my_home my_desktop my_documents my_music };
plan tests => scalar(@subs) * 2;

foreach my $sub ( @subs ) {
    no strict 'refs';
    my $dir   = File::HomeDir::PathClass->$sub;

 view all matches for this distribution


File-HomeDir

 view release on metacpan or  search on metacpan

lib/File/HomeDir.pm  view on Meta::CPAN

    require Exporter;
    @EXPORT    = qw{home};
    @EXPORT_OK = qw{
      home
      my_home
      my_desktop
      my_documents
      my_music
      my_pictures
      my_videos
      my_data
      my_dist_config
      my_dist_data
      users_home
      users_desktop
      users_documents
      users_music
      users_pictures
      users_videos
      users_data

lib/File/HomeDir.pm  view on Meta::CPAN

    # Legacy Mac OS
    $IMPLEMENTED_BY = 'File::HomeDir::MacOS9';
}
elsif (File::Which::which('xdg-user-dir'))
{
    # freedesktop unixes
    $IMPLEMENTED_BY = 'File::HomeDir::FreeDesktop';
}
else
{
    # Default to Unix semantics

lib/File/HomeDir.pm  view on Meta::CPAN

sub my_home
{
    $IMPLEMENTED_BY->my_home;
}

sub my_desktop
{
    $IMPLEMENTED_BY->can('my_desktop')
      ? $IMPLEMENTED_BY->my_desktop
      : Carp::croak("The my_desktop method is not implemented on this platform");
}

sub my_documents
{
    $IMPLEMENTED_BY->can('my_documents')

lib/File/HomeDir.pm  view on Meta::CPAN

    $IMPLEMENTED_BY->can('users_home')
      ? $IMPLEMENTED_BY->users_home($_[-1])
      : Carp::croak("The users_home method is not implemented on this platform");
}

sub users_desktop
{
    $IMPLEMENTED_BY->can('users_desktop')
      ? $IMPLEMENTED_BY->users_desktop($_[-1])
      : Carp::croak("The users_desktop method is not implemented on this platform");
}

sub users_documents
{
    $IMPLEMENTED_BY->can('users_documents')

lib/File/HomeDir.pm  view on Meta::CPAN


  use File::HomeDir;
  
  # Modern Interface (Current User)
  $home     = File::HomeDir->my_home;
  $desktop  = File::HomeDir->my_desktop;
  $docs     = File::HomeDir->my_documents;
  $music    = File::HomeDir->my_music;
  $pics     = File::HomeDir->my_pictures;
  $videos   = File::HomeDir->my_videos;
  $data     = File::HomeDir->my_data;
  $dist     = File::HomeDir->my_dist_data('File-HomeDir');
  $dist     = File::HomeDir->my_dist_config('File-HomeDir');
  
  # Modern Interface (Other Users)
  $home    = File::HomeDir->users_home('foo');
  $desktop = File::HomeDir->users_desktop('foo');
  $docs    = File::HomeDir->users_documents('foo');
  $music   = File::HomeDir->users_music('foo');
  $pics    = File::HomeDir->users_pictures('foo');
  $video   = File::HomeDir->users_videos('foo');
  $data    = File::HomeDir->users_data('foo');

lib/File/HomeDir.pm  view on Meta::CPAN


=head2 Platform Neutrality

In the Unix world, many different types of data can be mixed together
in your home directory (although on some Unix platforms this is no longer
the case, particularly for "desktop"-oriented platforms).

On some non-Unix platforms, separate directories are allocated for
different types of data and have been for a long time.

When writing applications on top of B<File::HomeDir>, you should thus

lib/File/HomeDir.pm  view on Meta::CPAN

finding resources for the current user, and the C<users_method> (read as
"user's method") series for finding resources for arbitrary users.

This split is necessary, as on most platforms it is B<much> easier to find
information about the current user compared to other users, and indeed
on a number you cannot find out information such as C<users_desktop> at
all, due to security restrictions.

All methods will double check (using a C<-d> test) that a directory
actually exists before returning it, so you may trust in the values
that are returned (subject to the usual caveats of race conditions of

lib/File/HomeDir.pm  view on Meta::CPAN

This is also the case for all of the other "my" methods.

Returns the directory path as a string, C<undef> if the current user
does not have a home directory, or dies on error.

=head2 my_desktop

The C<my_desktop> method takes no arguments and returns the "desktop"
directory for the current user.

Due to the diversity and complexity of implementations required to deal with
implementing the required functionality fully and completely, the
C<my_desktop> method may or may not be implemented on each platform.

That said, I am extremely interested in code to implement C<my_desktop> on
Unix, as long as it is capable of dealing (as the Windows implementation
does) with internationalization. It should also avoid false positive
results by making sure it only returns the appropriate directories for the
appropriate platforms.

Returns the directory path as a string, C<undef> if the current user
does not have a desktop directory, or dies on error.

=head2 my_documents

The C<my_documents> method takes no arguments and returns the directory (for
the current user) where the user's documents are stored.

lib/File/HomeDir.pm  view on Meta::CPAN

The C<my_music> method takes no arguments and returns the directory
where the current user's music is stored.

No bias is made to any particular music type or music program, rather the
concept of a directory to hold the user's music is made at the level of the
underlying operating system or (at least) desktop environment.

Returns the directory path as a string, C<undef> if the current user
does not have a suitable directory, or dies on error.

=head2 my_pictures

lib/File/HomeDir.pm  view on Meta::CPAN

The C<my_pictures> method takes no arguments and returns the directory
where the current user's pictures are stored.

No bias is made to any particular picture type or picture program, rather the
concept of a directory to hold the user's pictures is made at the level of the
underlying operating system or (at least) desktop environment.

Returns the directory path as a string, C<undef> if the current user
does not have a suitable directory, or dies on error.

=head2 my_videos

lib/File/HomeDir.pm  view on Meta::CPAN

The C<my_videos> method takes no arguments and returns the directory
where the current user's videos are stored.

No bias is made to any particular video type or video program, rather the
concept of a directory to hold the user's videos is made at the level of the
underlying operating system or (at least) desktop environment.

Returns the directory path as a string, C<undef> if the current user
does not have a suitable directory, or dies on error.

=head2 my_data

lib/File/HomeDir.pm  view on Meta::CPAN

  $data = File::HomeDir->users_data('foo');

Returns the directory path as a string, C<undef> if that user
does not have a data directory, or dies on error.

=head2 users_desktop

  $docs = File::HomeDir->users_desktop('foo');

Returns the directory path as a string, C<undef> if that user
does not have a desktop directory, or dies on error.

=head2 users_music

  $docs = File::HomeDir->users_music('foo');

 view all matches for this distribution


File-KeePass-Agent

 view release on metacpan or  search on metacpan

lib/File/KeePass/Agent/unix.pm  view on Meta::CPAN

sub _copy_to_clipboard {
    my ($self, $data) = @_;
    if (my $klip = eval {
        require Net::DBus;
        my $bus = Net::DBus->find;
        my $obj = $bus->get_service("org.freedesktop.DBus")->get_object("/org/freedesktop/DBus");
        my %h = map {$_ => 1} @{ $obj->ListNames };
        die "No klipper service found" unless $h{'org.kde.klipper'};
        return $bus->get_service('org.kde.klipper')->get_object('/klipper');
    }) {
        $klip->setClipboardContents($data);

 view all matches for this distribution


File-LibMagic

 view release on metacpan or  search on metacpan

lib/File/LibMagic.pm  view on Meta::CPAN

=head1 RELATED MODULES

Andreas created File::LibMagic because he wanted to use libmagic (from
file 4.x) L<File::MMagic> only worked with file 3.x.

L<File::MimeInfo::Magic> uses the magic file from freedesktop.org which is
encoded in XML, and is thus not the fastest approach. See
L<https://mail.gnome.org/archives/nautilus-list/2003-December/msg00260.html>
for a discussion of this issue.

L<File::Type> uses a relatively small magic file, which is directly hacked

 view all matches for this distribution


File-Locate-Iterator

 view release on metacpan or  search on metacpan

xtools/my-deb.sh  view on Meta::CPAN


#------------------------------------------------------------------------------
# lintian .deb and source

lintian -I -i \
  --suppress-tags new-package-should-close-itp-bug,desktop-entry-contains-encoding-key,command-in-menu-file-and-desktop-file,emacsen-common-without-dh-elpa,bugs-field-does-not-refer-to-debian-infrastructure \
  ${DEBNAME}_${VERSION}*_$DPKG_ARCH.deb

lintian -I -i \
  --suppress-tags maintainer-upload-has-incorrect-version-number,changelog-should-mention-nmu,empty-debian-diff,debian-rules-uses-deprecated-makefile,testsuite-autopkgtest-missing *.dsc

 view all matches for this distribution


File-MimeInfo-Simple

 view release on metacpan or  search on metacpan

lib/File/MimeInfo/Simple.pm  view on Meta::CPAN

dcm: application/dicom
dcr: image/x-kodak-dcr
dds: image/x-dds
deb: application/x-deb
der: application/x-x509-ca-cert
desktop: application/x-desktop
dfac: application/vnd.dreamfactory
dgn: image/x-vnd.dgn
dia: application/x-dia-diagram
diff: text/x-patch
divx: video/x-msvideo

lib/File/MimeInfo/Simple.pm  view on Meta::CPAN

k25: image/x-kodak-k25
kar: audio/midi
karbon: application/x-karbon
kcm: application/vnd.nervana
kdc: image/x-kodak-kdc
kdelnk: application/x-desktop
kfo: application/x-kformula
kia: application/vnd.kidspiration
kil: application/x-killustrator
kino: application/smil
kne: application/vnd.Kinar

lib/File/MimeInfo/Simple.pm  view on Meta::CPAN

kwd: application/x-kword
kwt: application/x-kword
l16: audio/L16
la: application/x-shared-library-la
latex: text/x-tex
lbd: application/vnd.llamagraphics.life-balance.desktop
lbe: application/vnd.llamagraphics.life-balance.exchange+xml
ldif: text/x-ldif
les: application/vnd.hhe.lesson-player
lha: application/x-lha
lhs: text/x-literate-haskell

 view all matches for this distribution


File-MimeInfo

 view release on metacpan or  search on metacpan

lib/File/MimeInfo.pm  view on Meta::CPAN

        : ( reverse data_files('mime/globs')        );
    if (@globfiles) {
        $_has_mimeinfo_database = 1;
    } else {
        carp "WARNING: You don't seem to have a mime-info database. " .
             "The shared-mime-info package is available from http://freedesktop.org/";
    }
    my @done;
    for my $file (@globfiles) {
        next if grep {$file eq $_} @done;
        _hash_globs($file);

lib/File/MimeInfo.pm  view on Meta::CPAN

  my $mime_type2 = mimetype('test.png');

=head1 DESCRIPTION

This module can be used to determine the mime type of a file. It
tries to implement the freedesktop specification for a shared
MIME database.

For this module shared-mime-info-spec 0.13 was used.

This package only uses the globs file. No real magic checking is

lib/File/MimeInfo.pm  view on Meta::CPAN


=head1 DIAGNOSTICS

This module throws an exception when it can't find any data files, when it can't
open a data file it found for reading or when a subroutine doesn't get enough arguments.
In the first case you either don't have the freedesktop mime info database installed,
or your environment variables point to the wrong places,
in the second case you have the database installed, but it is broken
(the mime info database should logically be world readable).

=head1 TODO

lib/File/MimeInfo.pm  view on Meta::CPAN

in a straightforward manner only utf8 is supported (because the spec recommends this).

This module does not yet check extended attributes for a mimetype.
Patches for this are very welcome.

This module uses the FreeDesktop.org shared mime info database. On your desktop
linux this is typically pre-installed so it's not a problem. On your server
you can install the shared-mime-info package via apt or dnf or apk or whatnot.

To install on macOS, you can install it like this:

lib/File/MimeInfo.pm  view on Meta::CPAN


=item related CPAN modules

L<File::MMagic>

=item freedesktop specifications used

L<http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec>,
L<http://www.freedesktop.org/wiki/Specifications/basedir-spec>,
L<http://www.freedesktop.org/wiki/Specifications/desktop-entry-spec>

=item freedesktop mime database

L<http://www.freedesktop.org/wiki/Software/shared-mime-info>

=back

=cut

 view all matches for this distribution


File-Trash-FreeDesktop

 view release on metacpan or  search on metacpan

lib/File/Trash/FreeDesktop.pm  view on Meta::CPAN


    my ($class, %opts) = @_;

    my $home = File::HomeDir::FreeDesktop->my_home
        or die "Can't get homedir, ".
            "probably not a freedesktop-compliant environment?";
    $opts{_home} = l_abs_path($home);

    bless \%opts, $class;
}

lib/File/Trash/FreeDesktop.pm  view on Meta::CPAN

 $trash->empty;

=head1 DESCRIPTION

This module lets you trash/erase/restore files, also list the contents of trash
directories. This module follows the freedesktop.org trash specification [1],
with some notes/caveats:

=over

=item * For home trash, $HOME/.local/share/Trash is used instead of $HOME/.Trash

lib/File/Trash/FreeDesktop.pm  view on Meta::CPAN


=head1 SEE ALSO

=head2 Specification

L<https://freedesktop.org/wiki/Specifications/trash-spec>

=head2 CLI utilities

=over

 view all matches for this distribution


File-Trash-Undoable

 view release on metacpan or  search on metacpan

lib/File/Trash/Undoable.pm  view on Meta::CPAN


A command-line utility, part of the GNOME project.

=item * B<trash-cli>, https://github.com/andreafrancia/trash-cli

A Python-based command-line application. Also follows freedesktop.org trash
specification.

=item * B<rmv>, http://code.google.com/p/rmv/

A bash script. Features undo ("rollback"). At the time of this writing, does not

 view all matches for this distribution


File-Unpack

 view release on metacpan or  search on metacpan

Unpack.pm  view on Meta::CPAN

Determines the MIME type (and optionally additional information) of a file.
The file can be specified by filename, by a provided buffer or an opened file descriptor.
For the latter two cases, specifying a filename is optional, and used only for diagnostics.

C<mime> uses libmagic by Christos Zoulas exposed via File::LibMagic and also uses
the shared-mime-info database from freedesktop.org exposed via
File::MimeInfo::Magic, if available.  Either one is sufficient, but having both
is better. LibMagic sometimes says 'text/x-pascal', although we have a F<.desktop>
file, or says 'text/plain', but has contradicting details in its description.

C<File::MimeInfo::Magic::magic> is consulted where the libmagic output is dubious. E.g. when 
the desciption says something interesting like 'Debian binary package (format 2.0)' but the 
mimetype says 'application/octet-stream'. The combination of both libraries gives us 

Unpack.pm  view on Meta::CPAN

      $r[0] = "text/x-application-xml";
    }

  if ($mime1 =~ m{^text/x-(?:pascal|fortran)$})
    {
      # xterm.desktop
      # ['text/x-pascal; charset=utf-8','UTF-8 Unicode Pascal program text']
      # 'application/x-desktop'
      #
      # Times-Roman.afm
      # ['text/x-fortran; charset=us-ascii','ASCII font metrics']
      # 'application/x-font-afm'
      #

Unpack.pm  view on Meta::CPAN


Uses both magic information and file suffixes to determine the mimetype. Its
magic() function is used in a few cases, where File::LibMagic fails.  E.g. as
of June 2010, libmagic does not recognize 'image/x-targa'.
File::MimeInfo::Magic may be slower, but it features the shared-mime-info
database from freedesktop.org .  Recommended if you use C<mime>.

=item String::ShellQuote 

Used to call external MIME helpers. Required.

 view all matches for this distribution


File-Unpack2

 view release on metacpan or  search on metacpan

Unpack2.pm  view on Meta::CPAN

Determines the MIME type (and optionally additional information) of a file.
The file can be specified by filename, by a provided buffer or an opened file descriptor.
For the latter two cases, specifying a filename is optional, and used only for diagnostics.

C<mime> uses libmagic by Christos Zoulas exposed via File::LibMagic and also uses
the shared-mime-info database from freedesktop.org exposed via
File::MimeInfo::Magic, if available.  Either one is sufficient, but having both
is better. LibMagic sometimes says 'text/x-pascal', although we have a F<.desktop>
file, or says 'text/plain', but has contradicting details in its description.

C<File::MimeInfo::Magic::magic> is consulted where the libmagic output is dubious. E.g. when 
the desciption says something interesting like 'Debian binary package (format 2.0)' but the 
mimetype says 'application/octet-stream'. The combination of both libraries gives us 

Unpack2.pm  view on Meta::CPAN

      $r[0] = "text/x-application-xml";
    }

  if ($mime1 =~ m{^text/x-(?:pascal|fortran)$})
    {
      # xterm.desktop
      # ['text/x-pascal; charset=utf-8','UTF-8 Unicode Pascal program text']
      # 'application/x-desktop'
      #
      # Times-Roman.afm
      # ['text/x-fortran; charset=us-ascii','ASCII font metrics']
      # 'application/x-font-afm'
      #

Unpack2.pm  view on Meta::CPAN


Uses both magic information and file suffixes to determine the mimetype. Its
magic() function is used in a few cases, where File::LibMagic fails.  E.g. as
of June 2010, libmagic does not recognize 'image/x-targa'.
File::MimeInfo::Magic may be slower, but it features the shared-mime-info
database from freedesktop.org .  Recommended if you use C<mime>.

=item String::ShellQuote 

Used to call external MIME helpers. Required.

 view all matches for this distribution


File-Util-Tempdir

 view release on metacpan or  search on metacpan

lib/File/Util/Tempdir.pm  view on Meta::CPAN

L<File::HomeDir>, a cross-platform way to get user's home directory and a few
other related directories.

L<File::Temp> to create a temporary directory.

L<https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html>
for the specification of C<XDG_RUNTIME_DIR>.

=head1 AUTHOR

perlancar <perlancar@cpan.org>

 view all matches for this distribution


File-Write-Rotate

 view release on metacpan or  search on metacpan

lib/File/Write/Rotate.pm  view on Meta::CPAN


Mainly (significant) performance overhead. At (almost) every C<write()>, FWR
needs to check file sizes and/or dates for rotation. Under default configuration
(where C<lock_mode> is C<write>), it also performs locking on each C<write()> to
make it safe to use with multiple processes. Below is a casual benchmark to give
a sense of the overhead, tested on my Core i5-2400 3.1GHz desktop:

Writing lines in the size of ~ 200 bytes, raw writing to disk (SSD) has the
speed of around 3.4mil/s, while using FWR it goes down to around ~13k/s. Using
C<lock_mode> C<none> or C<exclusive>, the speed is ~52k/s.

 view all matches for this distribution


File-XDG

 view release on metacpan or  search on metacpan

lib/File/XDG.pm  view on Meta::CPAN

environment variable is either not set or empty, its default value as defined
by the specification is used instead. Returns a path class object.

=head1 SEE ALSO

L<XDG Base Directory specification, version 0.7|http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html>

=head1 CAVEATS

This module intentionally and out of necessity does not follow the spec on the following platforms:

 view all matches for this distribution


FileMetadata

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN


The FileMetadata framework can be used to develop applications to solve several
problems.

1. Search: The framework can bes used to write search application for any
collection of files. These may be files on a web site or in a desktop
environment

2. Content Management/Deleivery: Metadata is a key component of content
management. The Enjine Project Website is managed and delivered using an
application that relies heavily on FileMetadata.

 view all matches for this distribution



Filter-gunzip

 view release on metacpan or  search on metacpan

xtools/my-deb.sh  view on Meta::CPAN


#------------------------------------------------------------------------------
# lintian .deb and source

lintian -I -i \
  --suppress-tags new-package-should-close-itp-bug,desktop-entry-contains-encoding-key,command-in-menu-file-and-desktop-file,emacsen-common-without-dh-elpa,bugs-field-does-not-refer-to-debian-infrastructure \
  ${DEBNAME}_${VERSION}*_$DPKG_ARCH.deb

lintian -I -i \
  --suppress-tags maintainer-upload-has-incorrect-version-number,changelog-should-mention-nmu,empty-debian-diff,debian-rules-uses-deprecated-makefile,testsuite-autopkgtest-missing *.dsc

 view all matches for this distribution


Finance-CompanyNames

 view release on metacpan or  search on metacpan

CompanyNames/TextSupport.pm  view on Meta::CPAN

desker deskers
deskill deskilled
deskjet deskjets
deskside desksides
deskstation deskstations
desktop desktops
desolate desolation
desorb desorbant desorbants desorbed desorbent desorbents desorber desorbing desorbs
desorbometer desorbometers
desorpted desorption desorptions desorptive
despair despaired despairing

CompanyNames/TextSupport.pm  view on Meta::CPAN

desiring
desirous
desist
desk
desks
desktop
desolate
desolately
desolation
desolations
despair

 view all matches for this distribution


Finance-Quote-Grab

 view release on metacpan or  search on metacpan

xtools/my-deb.sh  view on Meta::CPAN


#------------------------------------------------------------------------------
# lintian .deb and source

lintian -I -i \
  --suppress-tags new-package-should-close-itp-bug,desktop-entry-contains-encoding-key,command-in-menu-file-and-desktop-file,emacsen-common-without-dh-elpa,bugs-field-does-not-refer-to-debian-infrastructure \
  $DEBFILE

lintian -I -i \
  --suppress-tags maintainer-upload-has-incorrect-version-number,changelog-should-mention-nmu,empty-debian-diff,debian-rules-uses-deprecated-makefile,testsuite-autopkgtest-missing *.dsc

 view all matches for this distribution


Firefox-Marionette

 view release on metacpan or  search on metacpan

lib/Firefox/Marionette.pm  view on Meta::CPAN


=item * path to a top level file (such as L<manifest.json|https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#manifest.json>) in a directory containing L<firefox extension source code|https://developer.moz...

=back

and an optional true/false second parameter to indicate if the xpi file should be a L<temporary extension|https://extensionworkshop.com/documentation/develop/temporary-installation-in-firefox/> (just for the existence of this browser instance).  Unsi...

    use Firefox::Marionette();

    my $firefox = Firefox::Marionette->new();

lib/Firefox/Marionette.pm  view on Meta::CPAN


=item * kiosk - start the browser in L<kiosk|https://support.mozilla.org/en-US/kb/firefox-enterprise-kiosk-mode> mode.

=item * mime_types - any MIME types that Firefox will encounter during this session.  MIME types that are not specified will result in a hung browser (the File Download popup will appear).

=item * nightly - only allow a L<nightly release|https://www.mozilla.org/en-US/firefox/channel/desktop/#nightly> to be launched.  This defaults to "0" (off).

=item * port - if the "host" parameter is also set, use L<ssh|https://man.openbsd.org/ssh.1> to create and automate firefox via the specified port.  See L<REMOTE AUTOMATION OF FIREFOX VIA SSH|/REMOTE-AUTOMATION-OF-FIREFOX-VIA-SSH> and L<NETWORK ARCHI...

=item * page_load - a shortcut to allow directly providing the L<page_load|Firefox::Marionette::Timeouts#page_load> timeout, instead of needing to use timeouts from the capabilities parameter.  Overrides all longer ways.

lib/Firefox/Marionette.pm  view on Meta::CPAN


=item * user - if the "host" parameter is also set, use L<ssh|https://man.openbsd.org/ssh.1> to create and automate firefox with the specified user.  See L<REMOTE AUTOMATION OF FIREFOX VIA SSH|/REMOTE-AUTOMATION-OF-FIREFOX-VIA-SSH> and L<NETWORK ARCH...

=item * via - specifies a L<proxy jump box|https://man.openbsd.org/ssh_config#ProxyJump> to be used to connect to a remote host.  See the host parameter.

=item * visible - should firefox be visible on the desktop.  This defaults to "0".  When moving from a X11 platform to another X11 platform, you can set visible to 'local' to enable L<X11 forwarding|https://man.openbsd.org/ssh#X>.  See L<X11 FORWARDI...

=item * waterfox - only allow a binary that looks like a L<waterfox version|https://www.waterfox.net/> to be launched.

=item * webauthn - a boolean parameter to determine whether or not to L<add a webauthn authenticator|/add_webauthn_authenticator> after the connection is established.  The default is to add a webauthn authenticator for Firefox after version 118.

lib/Firefox/Marionette.pm  view on Meta::CPAN


creates a new WebDriver session.  It is expected that the caller performs the necessary checks on the requested capabilities to be WebDriver conforming.  The WebDriver service offered by Marionette does not match or negotiate capabilities beyond type...

=head2 nightly

returns true if the L<current version|/browser_version> of firefox is a L<nightly release|https://www.mozilla.org/en-US/firefox/channel/desktop/#nightly> (does the minor version number end with an 'a1'?)

=head2 paper_sizes 

returns a list of all the recognised names for paper sizes, such as A4 or LEGAL.

lib/Firefox/Marionette.pm  view on Meta::CPAN


returns a hash of known Windows product names (such as 'Mozilla Firefox') with priority orders.  The lower the priority will determine the order that this module will check for the existence of this product.  Only of interest when sub-classing.

=head2 window_handle

returns the L<current window's handle|Firefox::Marionette::WebWindow>. On desktop this typically corresponds to the currently selected tab.  returns an opaque server-assigned identifier to this window that uniquely identifies it within this Marionett...

    use Firefox::Marionette();

    my $firefox = Firefox::Marionette->new();
    my $original_window = $firefox->window_handle();

lib/Firefox/Marionette.pm  view on Meta::CPAN

        die "That was unexpected!!! What happened?";
    }

=head2 window_handles

returns a list of top-level L<browsing contexts|Firefox::Marionette::WebWindow>. On desktop this typically corresponds to the set of open tabs for browser windows, or the window itself for non-browser chrome windows.  Each window handle is assigned b...

    use Firefox::Marionette();
    use 5.010;

    my $firefox = Firefox::Marionette->new();

lib/Firefox/Marionette.pm  view on Meta::CPAN


=item 1. The C<addons> parameter to the L<new|/new> method must be set.  This will disable L<-safe-mode|http://kb.mozillazine.org/Command_line_arguments#List_of_command_line_arguments_.28incomplete.29>

=item 2. The visible parameter to the L<new|/new> method must be set.  This is due to L<an existing bug in Firefox|https://bugzilla.mozilla.org/show_bug.cgi?id=1375585>.

=item 3. It can be tricky getting L<WebGL|https://en.wikipedia.org/wiki/WebGL> to work with a L<Xvfb|https://en.wikipedia.org/wiki/Xvfb> instance.  L<glxinfo|https://dri.freedesktop.org/wiki/glxinfo/> can be useful to help debug issues in this case. ...

=back

With all those conditions being met, L<WebGL|https://en.wikipedia.org/wiki/WebGL> can be enabled like so;

lib/Firefox/Marionette.pm  view on Meta::CPAN


At the very least, under these circumstances, it would be a good idea to be aware that there's an L<ongoing arms race|https://en.wikipedia.org/wiki/Web_scraping#Methods_to_prevent_web_scraping>, and potential L<legal issues|https://en.wikipedia.org/w...

=head1 X11 FORWARDING WITH FIREFOX

L<X11 Forwarding|https://man.openbsd.org/ssh#X> allows you to launch a L<remote firefox via ssh|/REMOTE-AUTOMATION-OF-FIREFOX-VIA-SSH> and have it visually appear in your local X11 desktop.  This can be accomplished with the following code;

    use Firefox::Marionette();

    my $firefox = Firefox::Marionette->new(
                                             host    => 'remote-x11.example.org',

lib/Firefox/Marionette.pm  view on Meta::CPAN


Feedback is welcome on any odd X11 workarounds that might be required for different platforms.

=head1 UBUNTU AND FIREFOX DELIVERED VIA SNAP

L<Ubuntu 22.04 LTS|https://ubuntu.com/blog/ubuntu-22-04-lts-whats-new-linux-desktop> is packaging firefox as a L<snap|https://ubuntu.com/blog/whats-in-a-snap>.  This breaks the way that this module expects to be able to run, specifically, being able ...

Because of this design decision, attempting to run a snap version of firefox will simply result in firefox hanging, unable to read it's custom profile directory and hence unable to read the marionette port configuration entry.

Which would be workable except that; there does not appear to be _any_ way to detect that a snap firefox will run (/usr/bin/firefox is a bash shell which eventually runs the snap firefox), so there is no way to know (heuristics aside) if a normal fir...

 view all matches for this distribution


Flickr-API

 view release on metacpan or  search on metacpan

examples/flickr_flickr_authentication.pl  view on Meta::CPAN

storable format.


=head1 PROGRAM FLOW

Following the flow laid out in L<https://www.flickr.com/services/api/auth.howto.desktop.html> more or less.

=cut

=head2 Flickr Steps 1&2, Obtain and configure an api_key

 view all matches for this distribution


Flower

 view release on metacpan or  search on metacpan

public/assets/css/ionicons.min.css  view on Meta::CPAN


  Android-style icons originally built by Google’s
  Material Design Icons: https://github.com/google/material-design-icons
  used under CC BY http://creativecommons.org/licenses/by/4.0/
  Modified icons to fit ionicon’s grid from original.
*/@font-face{font-family:"Ionicons";src:url("../fonts/ionicons.eot?v=2.0.0");src:url("../fonts/ionicons.eot?v=2.0.0#iefix") format("embedded-opentype"),url("../fonts/ionicons.ttf?v=2.0.0") format("truetype"),url("../fonts/ionicons.woff?v=2.0.0") form...

 view all matches for this distribution


Footprintless

 view release on metacpan or  search on metacpan

t/data/base/conf/web.xml  view on Meta::CPAN

        <extension>latex</extension>
        <mime-type>application/x-latex</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>lbd</extension>
        <mime-type>application/vnd.llamagraphics.life-balance.desktop</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>lbe</extension>
        <mime-type>application/vnd.llamagraphics.life-balance.exchange+xml</mime-type>
    </mime-mapping>

 view all matches for this distribution


Form-Processor

 view release on metacpan or  search on metacpan

share/passwords.txt  view on Meta::CPAN

Drunk
dragonfly
doodles
donna1
dicker
desktop
debra
dealer
dasha
darkelf
cumm

share/passwords.txt  view on Meta::CPAN

DETROIT
detnews
DESTINY
destination
desperate
desktop1
desklamp
desiree1
desertfo
desadov
dern

 view all matches for this distribution


Form-Sensible

 view release on metacpan or  search on metacpan

lib/Form/Sensible/Overview.pod  view on Meta::CPAN

for the information is abstracted from the code that uses the
information.  This allows you to change the details of what
the interface looks like without adjusting your code.  It also allows
you to completely change your interface mechanism without rewriting your
code.  You can, for example, swap out your in-browser HTML based forms with a
desktop-GUI by simply replacing the L<Renderer|Form::Sensible::Renderer>*
(or, more accurately, you will be able to in the not-too-distant future.)

=head1 OVERVIEW

As we mentioned, Form::Sensible abstracts the method of querying the user

 view all matches for this distribution


FreeDesktop-Icons

 view release on metacpan or  search on metacpan

lib/FreeDesktop/Icons.pm  view on Meta::CPAN


=head1 DESCRIPTION

This module gives access to icon libraries on your system. It more
ore less conforms to the Free Desktop specifications here:
L<https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html>

Furthermore it allows you to add your own icon folders through the B<rawpath> method.

We have made provisions to make it work on Windows as well.

 view all matches for this distribution


( run in 2.206 seconds using v1.01-cache-2.11-cpan-7fcb06a456a )