view release on metacpan or search on metacpan
$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
view release on metacpan or search on metacpan
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
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
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
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
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
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
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
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
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
view release on metacpan or search on metacpan
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
$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'
#
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
view release on metacpan or search on metacpan
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
$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'
#
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
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
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
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
view release on metacpan or search on metacpan
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
view release on metacpan or search on metacpan
MANIFEST.SKIP view on Meta::CPAN
^\.emacs\.desktop.*
^TAGS$
.*~$
\#.*\#
\.\#.*
\.git.*
view all matches for this distribution
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
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
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
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
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
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
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
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
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
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
view release on metacpan or search on metacpan
lang_en/conceptnet-commonsense-is-1.prot view on Meta::CPAN
A banjo is a stringed instrumetnt
Australian managers is concerned with immediate practical matters
The maid is airing the sleeping room
Taxes is something
Leather is a good material to manufacture jackets
PageMaker is a desktop publishing application
Dr Boughton is a full-time academic at ANU
Charmaine Honey is an active member of both Tuggeranong and Belconnen Open Art Programs
Horse riding is an Olympic sport
Ice hockey is a violent game
A volcano is a type of mountain
view all matches for this distribution
view release on metacpan or search on metacpan
lib/FusionInventory/Agent/Task/Inventory/Linux/Drives.pm view on Meta::CPAN
my $devices = [];
my $device = {};
while (my $line = <$handle>) {
chomp $line;
if ($line =~ m{^udi = '/org/freedesktop/Hal/devices/(volume|block).*}) {
$device = {};
next;
}
next unless defined $device;
view all matches for this distribution
view release on metacpan or search on metacpan
SYNOPSIS
FvwmPiazza
DESCRIPTION
This Fvwm module tiles windows in different ways; each "way" is called a
layout. Layouts are applied on a per-desktop basis.
Layouts
Layouts can be set in two ways: as a default layout, or on the fly.
A default layout is set in the config with a "LayoutN" directive.
*FvwmPiazza: Layout0 Full
The above means that the default layout for desktop 0 is "Full".
To set a layout on the fly, you must send a message to the module; this
is most easily done by setting a hotkey command for it.
Key f A CM SendToModule FvwmPiazza Full
This will set the layout for the current desktop to "Full" when
Alt-Ctrl-f is hit.
Layout Types
All layouts have a "max_win" argument, which is the maximum number of
windows visible in that layout. For different types of layouts, this set
view all matches for this distribution