Why not adopt me?
NAME
Mac::RecentDocuments -- add items to the MacOS Recent Documents menu
SYNOPSIS
use Mac::RecentDocuments qw(:ARGV);
# Adds all files in @ARGV to Recent Documents folder,
# and imports recent_documents and recent_document
foreach my $in (@ARGV) {
open(IN, "<$in") or die "Can't read-open $in: $!";
my $out = $in . '2';
die "But $out already exists!" if -e $out;
open(OUT, ">$out") or die "Can't write-open $out: $!";
...do whatever to $out...
recent_documents($out); # add to Recent Documents folder
}
DESCRIPTION
This module provides a function that adds specified files to the MacOS Apple Menu "Recent Documents" folder. You can use this module under non-MacOS environments, and it will compile, but it will do nothing.
FUNCTIONS
- recent_documents( ...files... )
-
This adds the given items to the Recent Documents folder, for each item that is a pathspec to an existing file. Relative (
":bar.txt"
) as well as absolute filespecs ("Lame Drive:stuff:bar.txt"
) should work equally well.The number of aliases that this creates in the Recent Documents folder is returned.
Under non-MacOS environments, this function does nothing at all, and always returns 0.
- recent_document( file )
-
This is just an alias to
recent_documents
- Mac::RecentDocuments::OK()
-
This function returns true iff you are running under MacOS, and if, at compile-time, Mac::RecentDocuments was able to find your Recent Documents folder, and verified that it was a writeable directory. In all other cases, this returns false.
IMPORTING, AND :ARGV
If you say
use Mac::RecentDocuments;
then this will by default import the functions recent_documents
and recent_document
.
This is equivalent to:
use Mac::RecentDocuments qw(:all);
If you want to use the module but import no functions, you can say:
use Mac::RecentDocuments ();
or
use Mac::RecentDocuments qw(:none);
This module also defines a use-option ":ARGV"
that causes Mac::RecentDocuments to also call recent_documents(@ARGV)
, at compile time. This should be rather useful with MacPerl droplets.
That is, this:
use Mac::RecentDocuments qw(:ARGV);
is basically equivalent to:
BEGIN {
use Mac::RecentDocuments;
Mac::RecentDocuments(@ARGV);
}
(The only difference is that if several instances of use Mac::RecentDocuments qw(:ARGV)
are seen in a given session, Mac::RecentDocuments(@ARGV)
is called only the first time.)
When "qw(:ARGV)" is the whole option list, it is interpreted as equivalent to "qw(:ARGV :all)". If you want the :ARGV
option without importing anything, explicitly specify the ":none"
option:
use Mac::RecentDocuments qw(:ARGV :none);
CAVEATS
The module is called Mac::RecentDocuments (no underscore), but the function is called recent_documents
(with underscore).
The module is called Mac::RecentDocuments, not Mac::RecentFiles.
THANKS
Thanks to Chris Nandor for the kRecentDocumentsFolderType
tips.
COPYRIGHT
Copyright (c) 2000 Sean M. Burke. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
Sean M. Burke sburke@cpan.org