Está en la página 1de 23

The Book of Words (2.

4)
FinderPop is a Universal Preference pane that extends OS X's contextual menus using a FinderPop Items
folder much as the Apple Menu Items folder used to do for the Apple menu. It has other features too:
Control-free popup in the Finder - handy for those with one-button mice.
a launcher that takes up zero screen real estate, merely a click on any blank area of menubar away,
a handy lesystem browser, allowing quick and easy access to les and disks in the Finder,
a Processes menu (Command-click a blank menubar area.)
fast access to 'Where's that dratted le I had on the Desktop?' (Shift-Click a blank menubar area.)
a comprehensive collection of vaguely beer-related aphorisms in the Aboutbox (and now also here.)
Also check out the online FinderPop Support Forum.
Mini Table Of Contents:
FinderPop Basics ; Invoking FinderPop ; Navigating FinderPop Menus ; FinderPop's Info
Window ; Hints & Tips ; FAQ me! ; Release Notes ;
The Basics
INSTALLATION
If the System Preferences application is running, quit it. Strange things can happen otherwise.
Double-click the FinderPop.prefpane icon. System Preferences will open and ask if you want to install
FinderPop for all users or just you. Choose, and MacOS X will install the Preference Pane.
If you have an Intel Mac or you're running 10.5 or later, FinderPop will ask you for the admin password in
order to set certain permissions on some FinderPop les. This is only done once at installation time.
USAGE
Open the FinderPop preference pane. Click on the Show FinderPop Items Folder button in the Items sub-
panel. Add aliases to your favourite applications, folders, documents, and whatnots to that folder. Now, every
time you control-click, you'll get a few more options...
To the right is my FinderPop
Items folder and the
corresponding FinderPop menu.
Simply put, FinderPop will try to
open whatever it is you select
from any of its menus. If there is
a Finder selection and you've
chosen an application from the

FinderPop menu, FP will ask the
app you chose from the menu to
open the Finder selection. For
example: you want the ability to
Stuff the Finder Selection? Add
an alias to "DropStuff" to the
"FinderPop Items Folder", select
your les in the Finder, Control-
click on the last le in your
selection, choose "DropStuff"
from the resulting FinderPop
submenu, and Bob's your
mother's brother.
Items generally appear in
FinderPop Menus in alphabetical
order. You can control this
ordering process by inserting an
ordering prex before the item's
name in the Finder. This ordering
prex consists of three characters
at the start of an item's name,
where the third character is a
right parenthesis ')' and neither
of the rst two characters is a left
parenthesis. This prex text will
not appear in the menu.
Note that you can choose among
various standard orderings in the
"Sort Items in FP Menus" popup
in the Appearance tab: for
example, order by modication
date, order alphabetically, or an
ordering where applications
appear rst, then folders, then
other documents (with alphabetic
ordering in each of those sub-
groups.) Note also that this
setting overrides any sort order
you may have specied with the
ordering prexes mentioned
above.
Sort order can also be specied
on a per-directory basis by means
of a .fp-info le in that
directory. See below for details.
Any item inside the FinderPop
Items Folder whose name ends in
'-***' (that's minus-star-star-star)
is considered to be a menu
dividing line, following the
convention set by James Walker's
OtherMenu. This also happens
for items ending in '----' (minus-
minus-minus-minus.)
Extending the OtherMenu convention somewhat, any folder -- or alias to one -- whose name ends in '---X' (minus-pling-pling-capital-
ecks) will not be expanded (i.e., there will be no submenu hanging off it.) The name displayed in the menu will not have the '---X'
sufx, so the FinderPop menu is aesthetically pleasing (even if, like so much else, the underlying organisation isn't.) If the folder's
name ends in '---x' (minus-pling-pling-lowercase-ecks) then, in addition to not being expanded, no folder icon will appear. Back in the
days when I was receptive to all sorts of mad ideas for FinderPop, I put that no-icon thing in for someone who claimed that FinderPop
was "fundamentally awed" without it.
Any item ending in '---a' will have a submenu with all the apps under the Applications folder (ie, including
those in the Utilties folder.) Note that the menu item takes its name from this item - so if your item is 'Every
App---a', then the menu item will be Every App and will have the special 'all-apps' submenu hanging off it.
The item itself can be a le, folder, or alias; if its name ends in '---a', FinderPop always displays this special
all-apps menu, ignoring any contents if the item was a folder.
Any item ending in '---d' will have a Desktop submenu just like the Desktop submenu you get if you check
the Add Desktop Submenu in the FinderPop prefPane. Doing it like this means you can place your Desktop
submenu where-ever you want in the FinderPop hierarchy rather than at a xed location using the checkbox.
Similarly, any item ending in '---p' will have a Processes submenu hanging off it. For example, having an
item named 'Running---p' will result in a menu item named Running whose submenu lists the currently
running apps. As usual with the FinderPop Process menu, if you hold down Control when mousing into the
menu, it will include background-only processes.
Any item ending in '---n' will have a submenu listing all installed Preference Panes hanging off it. For
example, having an item named 'Prefs---n' will result in a FinderPop menu item named Prefs whose
submenu lists all installed preference panes.
Any item ending in '---R' will have a submenu listing the Finder's Recent Items hanging off it. For example,
having an item named 'Finder Recent---R' will result in a FinderPop menu item named Finder Recent
whose submenu lists the accessible items in the Finder's Go menu's Recent submenu.
Folders whose names end in '---C' are treated specially. They are Template or Copy folders. They will
appear in FinderPop menus only in the Finder and only if you control-clicked on a blank area of a Finder
window or the Desktop (ie, when there is nothing selected.) If you then select an item from the menu of this
"Copy" folder, the selected item will be COPIED to the window you control-clicked. This allows you to set
up a system of templates les or indeed folders which can be quickly placed where you want.
Items ending in 'crtr-!!!': if you know the 4-character creator code of an app, it is possible to customise the
FinderPop menu so certain items appear if you're popping up a contextual menu or clicking-in-unused-
menubar in that app or not. For example, the 4-character code for the Finder is 'fndr', and the 4-char code for
GraphicConverter is 'GKON'. Items whose names end in ''GKON-!!!' will appear in FinderPop menus only if
GraphicConverter is the current app. Similarly, items ending in '!GKON-!!!' (note the extra initial !) will
appear in FinderPop only if GraphicConverter is not the current app.
You can tell the 4-char code of an app using FinderPop by highlighting the app in a FinderPop menu and
pressing Command and Option - the info is in the line labelled 'Type/Crtr' - the type for apps is normally
'APPL' and the unique, per-application 4-character creator code is the next item.
There's a downside to this - not all apps come with a 4-character creator code. Maybe in a future version we
can use 'com.apple.Console' for example.
OK, we lied. The real creator code for the Finder is 'MACS' but that creator code is used for other System Software items too, so for the
Finder, FinderPop uses 'fndr'.
This app-specic feature can be combined with the new '---i' "inline-this-folder" feature. For example: A
folder called 'InlineTest ttxt-!!!---i' would have its contents inlined into the FinderPop menu only if
TextEdit was the frontmost app. If TextEdit is not the frontmost app, the folder contributes no items to the
FinderPop menu. (As you've probably gured out, the 4-character creator code of TextEdit it 'ttxt'.)
Items ending in '---f' will appear in FinderPop menus only if there is an item selected in the Finder. Items
ending in '---m' appear only if you're clicking an unused part of the menubar. For example, you could place
an alias to FinderPop Items inside the FinderPop Items folder itself, and name it 'FinderPop Items ---f' -
this means the item would appear only if you control-clicked a le/folder in the Finder, allowing you to
move/copy/alias the item directly into the FinderPop Items folder.
The opposite of the above - an item whose name ends in '---N' will appear in FinderPop menus only when
you control-click a blank portion of a Finder window or the Desktop, ie, there being no Finder selection. (The
'N' standing for "No Selection" -- and note that it must be a Capital 'N'.)
Items ending in '---t' will appear in FinderPop menus only if there was a textual contextual menu selection
passed to FinderPop. Generally this happens only with Carbon apps such as Microsoft Word. See the
FinderPopExtras folder for some examples of what FinderPop can do with this.
Note that the FinderPop '---_' item modiers are cumulative. For example, a folder named 'InlinedInMbar-
--i---m' inside your FinderPop Items folder will have its contents inlined into the FinderPop menu only if
you control-clicked in the menubar. Any other method of invoking FinderPop will result in the folder's
contents being skipped. Likewise, a folder named 'InlinedWithFinderSel---f---i' will have its contents inlined into the
FinderPop menu only if there was a Finder selection parameter to the _ContextualMenuSelect system call.
We freely admit that that the user interface for this really is fundamentally awed, but until we have the time
to improve this, I'm afraid we're stuck with it. Hey, you only have to do it once!
The FinderPop Preference pane's options should be fairly self-explanatory. :-) Help tags are available on most
items (just hover the mouse over the item to see the help text.)
Invoking FinderPop
Control-click or right-click somewhere - this brings up a Contextual
Menu as per normal; FinderPop attaches itself onto this menu by adding
the contents of the FinderPop Items folder, and optionally adding the
Processes and Desktop submenus. You can choose whether the contents of
the FinderPop Items folder are inlined directly into the contextual menu, or
whether they appear in a FinderPop submenu. If you have the Caps Lock key
pressed when the main FinderPop menu pops up, the state of "Inline FinderPop Items into
Main Contextual Menu" is toggled. Remember to turn the Caps Lock key back off!
If you have enabled Finder Control-free Popup Delay (Options panel), you
can click and hold in a Finder Window or the desktop and a contextual
menu will pop up on whatever it is you clicked on. You can also arrange to
have FinderPop pop up a Contents menu if you click-and-hold on a Folder.
Command-clicking-and-holding on the whitespace inside a Finder window
will also pop up a Contents menu, as of course will Command-Control-
clicking on either the whitespace or a folder.
Clicking an unused portion of the menubar will pop up a FinderPop menu (i.e., the contents of the
FinderPop Items folder plus optional extras.)
(You can also set that this only happens for a control-click (or right-click) in the menubar.)
Command-clicking the menubar will get you a Processes Menu.
Holding down the Control key too will include the normally invisible
background processes. From here you can switch to any process, or quit
them by pressing Control-Option-Command (the cursor will change to
), and clicking on the victim process in the menu.
If the app doesn't respond to the 'Quit' AppleEvent, you can really kill it
by holding down the Shift key in addition to Control-Option-Command
(though be warned - this blows the process away without saving opened
les, etc.)
Running apps that are hidden (via Command-H) appear in FinderPop's
Processes menu with their icons dimmed. Note that the other FinderPop
menu items (Desktop submenu etc.) are still available.
Shift-clicking the menubar will get you a Desktop Menu listing the
mounted volumes (disks) plus the contents of the Desktop Folder. (If the
Control key is pressed, only the disks will be shown. I'm sparing you the
150+ items on my desktop here - and if you think that's bad, you should
see my real desk! I am a rm believer in the First Available Surface ling
system.
Navigating the FinderPop Menus
As usual with menus in OS X, typing a character will select the rst menu item beginning with the character
typed, which can save quite a bit of mousing.
Be aware that the OS X Menu Manager appears to do some very time-consuming processing if you are in a
deep hierarchy and press any non-modier key. It is not unusual to get a beachball for a few seconds, but
don't worry, the menu manager will eventually come back to life. It appears to be scanning all menu items for
items beginning with the character you pressed. For this reason, the use of Cmd-Option-Shift modier keys
is preferred when invoking the various FinderPop features described below. Note: this bug appears to have
been xed in Leopard!
Additionally, by pressing various modier keys (Control, Command, Option and Shift) while traversing
FinderPop menus, you can modify FinderPop's actions. The list below outlines the facilities available if there
is no Finder selection while you're traversing any FinderPop-related submenu. You should notice the mouse
pointer changing as indicated.
Command (or 'r') -- Reveal In Finder or Show -- cursor looks like :
Shows the chosen menu item (process or FinderPop item) in the Finder. If you press 'r' (as opposed to
pressing Command), the action is immediate - the Finder displays the item. If you're pressing
Command, then you select the item from FinderPop's menus as normal - once you've chosen the item,
the Finder will display it.
With regard to the rst sentence in this section, if you want to select a menu item beginning with 'r', type Shift-'R', i.e., capital-
'R'.
Command-Option (or 'i') -- Get Info --
Displays an info-help-tag window for the currently
selected item in the FinderPop menu. If you press i
then this has immediate effect - the menu disappears
and the Finder displays the Get Info panel
corresponding to the currently highlighted item. If
you're pressing Cmd-Option and you want to see the
Finder Get Info panel, you have to click to choose an
item. Before you click, though, FinderPop displays the
help tag window for the currently highlighted item -
and you can move the mouse to other items; the help
tag window will update as appropriate.
Different text appears depending on whether the mouse
is currently over a plain le, a directory, an app, a
running process, or a disk (volume.) This can be quite
handy to see the creator and type of an unknown item:
just Command-Control-click a blank spot in the Finder
window in which the item lives, and from the ensuing
FinderPop Contents popup menu, press Command
and Option and mouse down to your item. Other info,
such as le sizes and permissions, also appears there.
Command-Shift-Option (or 'p') -- Preview --
Displays a preview-help-tag window for the currently selected FinderPop menu like the two examples
below.
This behaves like the Get Info cursor above. Note that it can take a while for a graphical preview to
appear if the le is big or on a slow disk!

Graphical previews are done for any QuickTime-supported multimedia (JPEGs, PDFs, MOVs etc); text
les are also previewed. MP3 les are scanned for embedded JPEGs. You can thank a sudden strike by the
Iberia ground crew in Barcelona airport for that one. (It meant my weekend in Amsterdam got canceled so I spent the time
working on this instead.) Shower-o-shaggers...
Control-Command-Option (or delete) -- Trash --
Displays a dialig asking if you'd ike to move the chosen FinderPop menu item to the trash (or "put
away" a disk if a disk is selected.) If you press Delete then this has immediate effect - the menu
disappears and the 'Do you want to move this item to the trash' dialog appears immediately. If you're
pressing Ctrl-Cmd-Option, you have to select the item by pressing the mouse button before the 'Move
to Trash?' dialog appears.
Note that if the item you chose to trash is an alias, only the alias will be moved to the trash.
Command-Control-Option (or delete) -- Quit or Kill--
When you're mousing over FinderPop's Processes menu, you can quit a process by choosing it after
pressing delete so the cursor goes into kill mode. You can also quit background-only apps. (To see
background-only apps, have the Control key pressed when you move the mouse onto the Processes
menu title, or press Control and Command while clicking a blank portion of the menubar.) Note that
running apps that are hidden via (Command-H) appear in FinderPop's Processes menu with their icons
dimmed.
If the Shift key is not pressed, then FinderPop will send a 'quit' AppleEvent to the process, giving it a
chance to quit in an orderly fashion by asking you if you want to save any modied documents, for
example. If Shift is down, FinderPop will kill the process via _KillProcess, which basically blows the
process away. Any unsaved work in that process will be lost, so caveat user!
g -- grab-and-drag the FinderPop item under the cursor, just like the old OS 9 FinderPop. The Grab
cursor looks like .
This has immediate effect - the instant you press 'g', the menu disappears and the item is available for
dragging.
q -- on Leopard, display a QuickLook panel of the selected FinderPop item. Similarly, this has
immediate effect - the instant you press 'q', the FinderPop menu disappears and the item is quicklook-
ed.
TAB -- Info Window --
(10.4 and later only!)
Pops up a oating info window on
whatever you select from the
FinderPop menu, looking like this
image.
It displays a little preview of
whatever it was you'd selected; plus
some basic info on the
le/folder/volume. If the item is a
picture or an MP3 le, various useful
bits of info are also presented, as in
the example. If the item is a le, the
preview sub-panel will display the
rst few lines of the le (if it's a text
le), or optionally a hex dump of the
rst hundred or so bytes in the le if
you option-double-click the Preview
area. If the item is a folder, a really
small representation of its contents
will appear there. (You can't yet
select items in that mini-contents-
representation.)
From this info-window, you can:
Click on the Trash icon or press Delete to move the item to the trash. You will not be asked to
conrm, so be careful!
Click the magnifying glass icon or pressing R will reveal the item in the Finder.
Click on the Info icon or pressing I will ask the Finder to display information about the item.
(Holding down Shift while clicking or typing will reveal the item in the Finder and get info on it.)
Press Escape or click the Dismiss button to dismiss the info window.
Press Return or Enter to open the item (double-clicking the preview also does this.)
Click the item's icon or preview area to open it. Command-clicking it will reveal it in the Finder.
Option-double-clicking the preview area toggles a hex dump of the rst 0x68 bytes of the le's
data fork (if the item is a le.)
You can also control-click the icon to bring up a new contextual menu for the item. (Click-and-
hold for control-free popup works too.)
Drag-and-drop of the icon works. As usual with drags on the Mac, dragging to the menubar and
letting go aborts a drag, you can Command-Tab to the Finder or another app while dragging. If
you're dragging to the Finder and want to Copy or Alias the item instead of moving it, use the
Option key modier to get the Finder to Copy, and the Command-Option modiers to get the
Finder to Alias.
Double-clicking the pathname string will copy the path string to the clipboard and dismiss the
dialog.
You can move the FinderPop Info Window by its titlebar or by dragging from any non-button
item.
Command-clicking the lename or pathname texts will pop up a Contents menu of the item's
parent folder.
This may eventually evolve into a shelf thingy, but at my rate of development... well, don't hold your
breath...
Sorry about the crappy icons, they're the best I could nd/cobble together on short notice. Hey... any
graphic artists reading this who'd like their names to appear in the FinderPop AboutBox? Submissions
gratefully received!
I'll add more features to this dialog if requested - suggestions welcome.
If there is a Finder selection, FinderPop automatically changes the cursor if it's over a menu item
representing a folder while traversing a FinderPop related menu. The cursor will change to a to signify that
the Finder selection will be copied to whatever directory you select. Note that if you do select a folder in this
case, FinderPop will always ask for conrmation:
(Generally, pressing the initial letter of a button has the same effect as pressing the button, thus pressing the m key corresponds to a
click on the Move button.) Press 'f' to choose a different destination folder.
If you are copying or moving an item to a folder in which there is already an item with the same name,
FinderPop will ask for conrmation of overwriting. If you choose not to overwrite, the entire copy/move is
not done: i.e., nothing is copied or moved.
The cursor will revert to the normal arrow cursor if copying would be impossible (for example, if the
destination disk is write-protected, or if you were attempting to move a folder into one of its offspring.) If you
manually force another cursor by pressing Command/Option/Shift/Control etc., then of course that forced
cursor takes precedence.
All these modier key chords are good piano practice, if nothing else.
Hints & Tips (or: "You know much that is hidden, O Tim.")
Command-Control-clicking in a Finder window (or the Desktop) will pop
up a Contents menu (i.e., the contents of the folder corresponding to the
window.) This can be very handy because it's sometimes easier to nd a
particular item in a sorted FinderPop menu than in a Finder window! If
you command-control-click (or command-click-and-hold) a Finder icon
corresponding to a folder, you'll also get a Contents popup menu. (There's
a checkbox in the FinderPop PrefPane's Options tab which allows you to
choose whether you want a plain Click-and-hold on a folder to popup a
Contents menu or a contextual menu.)
If you have the Shift key pressed when you're logging in (i.e., when your Startup Items are running),
FinderPop will not install. Just like OS9 :-)
If you have Control and CAPS LOCK pressed simultaneously when an app starts up, FinderPop won't
patch that app (so menubar-clicking etc will be unavailable.)
When switching processes by selecting something from the Processes menu, holding down the
Option key will bring only that process's frontmost window forward.
In the Move/Copy/Alias dialog, holding down the Command key when clicking any of the buttons (or
typing any of the shortcut characters) will perform the button's action and then reveal the Finder window
corresponding to the destination.
In the absence of a PrefPane element for this, you can choose your own background colour for the
FinderPop Info window by doing this in Terminal.app:
defaults write com.finderpop.finderpop infoBackground -data RRGGBBAA
where RR, GG, BB and AA are hex byte values representing the red, green, blue and alpha components
of the info window's background colour. For example,
defaults write com.finderpop.finderpop infoBackground -data 556677FA
gives RGB = {0x5555, 0x6666, 0x7777} and an alpha of 0xFA / 0xFF == 0.980.
If FinderPop's Use Finder Label Colors is enabled on 10.6/7/8, we now treat unlabelled items in FP
menus in the Finder as if they had an invisible label, so the FinderPop menu item texts all start at the
same horizontal offset. If you prefer the old way of showing labels, use
defaults write com.finderpop.finderpop cocoaLabelSpaces false
I will eventually get around to revamping the way FinderPop does menu labels in Cocoa, it's denitely
a bodge at the moment.
Exactly the same format can be used to colour the background of the "info-help-tag" and "preview-
help-tag" windows shown by FinderPop. This prefs variable is called helpTagBackground. A prefs
variable called helpTagForeground allows you to set the foreground colour (the alpha portion is
ignored.)
Additionally, you can control the size of the icon displayed in FinderPop's "info-help-tag" by
defaults write com.finderpop.finderpop helpTagIconSize -integer 128
The example would cause FinderPop to use 128-pixel icons in its "info-help-tag" windows the next
time an app is patched (these values are loaded once per app.) Setting the helpTagIconSize to 0
instructs FinderPop to not display icons in help tags.
If you have a multibutton mouse, it is possible to get FinderPop to popup a Contents menu by
clicking on a Finder folder with multiple buttons pressed simultaneously. Control-free-popup will need
to be enabled too.
defaults write com.finderpop.finderpop multiClickMaskForContents -integer 3
...would popup a contents menu if you clicked on a folder with both the left and right mouse buttons
down. (This won't work on a Mighty Mouse, unfortunately.)
As of 2.1pre11, Control-free popup now works by clicking-and-holding until the cursor turns into the
contextual menu cursor at which point you let go the mouse button, whereupon the contextual menu
appears. If you prefer the original FinderPop control-free mechanism where you had to hold down the
mouse button all the time, use the following command to re-enable the original method:
defaults write com.finderpop.finderpop originalControlFreePopupMethod true
If you want the older behaviour where pressing a 'real' key to do an action (eg, pressing 'i' for info)
did not immediately perform the action, but instead changed the cursor appropriately and waited until
you selected an item from the menu, you can use the following:
defaults write com.finderpop.finderpop immedActionOnKeyPress false
FinderPop normally includes the 'FinderPop Items' menu item even if the folder itself is empty. This
is so you can control-click items in the Finder and move or alias them into the FinderPop Items folder.
If you want to completely ignore an empty 'FinderPop Items' folder so that the menu item does not
appear, use:
defaults write com.finderpop.finderpop ignoreEmptyFPMenu true
If you select a Unix shell script le (for now, les whose name ends in '.sh') the script will be
executed. Any Finder selection is passed to the script as standard text arguments. For example, suppose
le foo.sh contained:
#!/bin/sh
echo "Hello, world"
echo $# args - and here they are:
echo " " $*
then selecting foo.sh via a FinderPop menu will run the shell script. If you had a bunch of les selected
in the Finder, then the script is passed those les as arguments. In this noddy example, you'd see the
output on Console.app.
See also the FinderPopExtras folder for examples of this extension mechanism, which can also use the
text selected by the user to do something.
If you just want to edit the script le rather than executing it, hold down the option key as you select the
script le from the FinderPop menu. Alternatively, if you never want to execute script les and always
want to edit them, you can say:
defaults write com.finderpop.finderpop runScriptFiles false
Likewise, if you select a compiled AppleScript le (i.e., a le ending in '.scpt'), FinderPop will
execute the script. Note however that FinderPop does not currently pass the selection to the
Applescript. Note also that FinderPop will not display any script results or errors.
If you'd like FinderPop to hide the .sh and .scpt extensions, do:
defaults write com.finderpop.finderpop tossDotScptExtension true
FinderPop hides the .app extension by default, you can cause these to be shown by:
defaults write com.finderpop.finderpop tossDotAppExtension false
FinderPop sorts the items in the Process menu by name, you can turn this off by:
defaults write com.finderpop.finderpop sortProcessMenu false
FinderPop will add an alias to itself (i.e the FinderPop Preference Pane) to the end of the Process
menu, you can turn this off by:
defaults write com.finderpop.finderpop addFinderPopToProcessMenu false
FinderPop will no longer print "FinderPop: Patching Application..." notices to the Console unless you
enable this with
defaults write com.finderpop.finderpop displayPatchNotices true
If you turn on Use Finder Label Colors in the Appearance tab, labelled items will appear in the
Finder label colours. By default, icons are also drawn in their label colour; if you'd prefer to have the
icons appear in their normal colours, use
defaults write com.finderpop.finderpop useLabelInfoForIcons false
If you don't want FinderPop to toggle inlining of FinderPop menus when CAPS LOCK is down, use:
defaults write com.finderpop.finderpop capsLockToggleInline false
It is possible to customise the appearance of FinderPop menus on a per-directory basis. FinderPop
checks for a le called .fp-info in each directory as it's creating the menu. This le can contain lines
of the following form:
sort-order-alpha
sort-order-mod-date
sort-order-apps
sort-order-folders
sort-order-label
labels-on
labels-off
font-face INTEGER
...which will change how the items in that folder appear in the menu, regardless of the "global"
FinderPop Preferences setting.
I plan to eventually add 'exclude=*.o'-style facilities.
There are a number of useful utilities supplied in the FinderPopExtras folder. Some of these operate
on Finder selections and thus will only be visible in a FinderPop menu if there a Finder selection.
Lock and Unlock set and reset the Finder lock of whatever Finder items you have selected. You
should see the Finder icon change to include a little "lock" badge if the item is locked.
Touch "touches" the item - i.e., sets the item's modication date to now.
Search in Google, Dene in Google and Search in Dictionary.com work only if the application
passes the textual contextual selection to FinderPop. Many do not, but most Carbon apps do -
including Microsoft Word. You're welcome, tensakun!
Note that currently I pass only the rst 1K or so of the textual selection to these shell scripts.
Formatting, punctuation etc. are stripped.
2.2.4b6 added a goofy scripting facility to run scripts or programs before generating the FinderPop
menu, allowing these scripts to add or remove items from the FinderPop Items folder (or indeed any
folder.) Basically any le whose name ends in ".fpsh" in the FinderPop Items folder (or one level
below it, ie in a folder inside the FinderPop Items folder) will be run before and after FinderPop runs;
the Finder selection is passed to the script, the script can examine the selection and add or remove items
to the FinderPop Items folder which will then appear (or not) in the FinderPop popup menus. This is
not likely to be useful to more than a handful of people... but it could be used to reintroduce a measure
of contextuality. I was looking at supporting old CM plugins but there are numerous problems with
64/32bitness.)
Here's one of my test scripts for this which just creates some folders which will appear in the FP menu -
and then deletes them, so don't move anything into them!
#!/bin/bash
# Any ".fpsh" file in the FinderPop Items folder or one level below it
# It will be run before FinderPop generates the menu from the FinderPop Items
# folder, and therefore allows you the opportunity to add or remove items to/
# from a FinderPop menu. These items could be other files or folders, but they
# could also be .sh shell script files which could actually do something!
#
# FinderPop will run the scripts multiple times, with the following parameter:
# $1
# -context This is a contextual menu popup. $2..$n contain the full
# paths of whatever it was you control-clicked in the Finder.
# -finish-context Called to tidy-up. You should remove the items you added.
#
# -menubar This is a click-in-blank-portion of menubar. $2 is not set.
# -finish-menubar Called to tidy-up. You should remove the items you added.
#
# On entry, the current directory is set to the directory of the .fpsh file.
#
# Note: there is nothing stopping you from making this file be a normal MACH-O
# executable instead of a bash script - argv / argc will be set up as standard.
#echo $*
if [ "$1" == "-context" ]; then # contextual selection is $2 $3 $4 $5 ...
mkdir -p funky1 funky2 funky3
elif [ "$1" == "-finish-context" ]; then # Tidy up FP Items *after* item was
selected
rm -fd funky1 funky2 funky3
elif [ "$1" == "-menubar" ]; then # menubar click ; no other args supplied
mkdir -p mbfunky1 mbfunky2 mbfunky3
elif [ "$1" == "-finish-menubar" ]; then # tidy up FP Items AFTER item was
selected
rm -fd mbfunky1 mbfunky2 mbfunky3
fi
Buy low, sell high. Don't be like me!
Speaking of which, I used to work for Apple on their gcc compiler team (and before that on their MPW compilers.) I left in
2002 suffering a classic case of burn-out, and promptly sold my shares for $19 each. They have since split two-for-one and
subsequently hit $640 in March 2012!
The good news, however, is that I no longer need an alarm clock - every morning at 7:30 I wake up screaming! :-)
FAQ me!
Does FinderPop patch my system?
FinderPop does not patch Mac OS X per se, instead it inserts a small fragment of code into the memory
space of individual Mac OS X applications as they are being launched. This code fragment adds the
various FinderPop features to contextual menus and clicks-in-unused-menubar-area.
FinderPop does not change any of your application or system les.
FinderPop has been tested by a gang of 40+ beta testers and has a support forum where I release beta
versions regularly. (see the FinderPop Support Forum page if you would like to try out the latest beta or
if you have problems with or suggestions for FinderPop.)
However, problems could still arise, such as instability in certain applications, etc. If you are
experiencing problems, simply turning off FinderPop in the Preference Pane will deactivate it. If you
are continually experiencing problems in a particular application, please tell me about it [
turly@nderpop.com ]; you can also tell FinderPop to avoid "patching" that application by adding it to
the the Excludes list in the FinderPop Preference Pane.
As of 2.1.2, FinderPop uses Unsanity's APELite to do the patching once we've injected ourselves into
an app on 10.4 and 10.5. This means that compatibility with FruitMenu et al is much improved!
FinderPop uses APE Lite -- Copyright 2002-2008, Unsanity LLC -- http://www.haxies.com/ape/sdk/
How do I uninstall FinderPop?
If you wish to completely uninstall FinderPop, open the FinderPop Preference Pane's Etc tab, and click
the Uninstall FinderPop button. If there's something bad about FinderPop that you don't like, please tell
me so I can try to x it! [ turly@nderpop.com ]
How should I report a bug?
If you think FinderPop made an application crash, please tell me about it! Mail me a description of
what you did leading up to the crash, and also a copy of the crash log, which can be found in
~/Library/Logs/CrashReporter/application-that-crashed.crash.log
Why do I sometimes see a submenu containing nothing but the words "Empty Folder"?
This can happen because FinderPop is lazy about deciding whether a folder item should have a
submenu. At the time it decides this, it only knows how many items are in the folder. It doesn't know
whether the current user has permissions to see all the items inside the folder, or if all items inside it are
invisible, for example. A future version of FP may x this.
Why do I get a spinning beachball when I press the 'p' key for 'Preview'? (or 'i' key for info, or...)
I think that this is down to the OS X Menu Manager's handling of keystrokes to move the menu
selection (ie, pressing 'a' should take you to the rst item in the menu beginning with 'a' or thereabouts.)
If you are browsing a deep hierarchy and press a key, the Menu Manager appears to do a linear search
of all currently visible items or something; it can take a few seconds before control reverts to the user.
You can work around this bug by using only the modier key chords - see above.
Release Notes
2.4.4, Sunday 8-July-2012 Tunguska
If FinderPop's Use Finder Label Colors is enabled on 10.6/7/8, we now treat unlabelled items in
FP menus in the Finder as if they had an invisible label, so the FinderPop menu item texts all start
at the same horizontal offset. If you prefer the old way of showing labels, use
defaults write com.finderpop.finderpop cocoaLabelSpaces false
I will eventually get around to revamping the way FinderPop does menu labels in Cocoa, it's
denitely a bodge at the moment.
2.4.3, Sunday 29-April-2012 Birthday Boy
Finally gured out how to get access to the 10.7 Finder Go menu's Recent folders so these can be
added to FinderPop -- add an empty folder to your FinderPop Items folder called Finder
Recent---R and the Recent folders from the Finder's Go menu will appear there. (Actually the
folder can be called anything you like so long as it ends in ---R. Now works for 10.6 and 10.7.
2.4.2, Sunday 22-April-2012 April Showers
I've been a bit remiss in lling out the bumf here for beta versions. See the FinderPop Version
Announcements section of the FinderPop Support Forum for details.
Meantime, compared to 2.4.1, 2.4.2 has:
Better Mountain Lion (10.8) compatibility, though there may still be issues.
[10.6 only, not 10.7 yet] Any item ending in '---R' will have a submenu listing the Finder's
Recent Items hanging off it. For example, having an item named 'Finder Recent---R' will result
in a FinderPop menu item named Finder Recent whose submenu lists the accessible items in the
Finder's Go menu's Recent submenu.
2.3.0.3 beta, Wednesday 8-December-2010 Two Short Planks
Somehow I managed to mix up the German and Italian localisations last time around... xed now
(hopefully.)
Increase max size of the '---a' all-applications-under-/Applications submenu to a max of 384
items.
A couple of minor code tidy-ups.
2.3.0.2 beta, Sunday 21-November-2010 Burning Metal
Improved German localisation, thanks Hajo Bass.
Improved Italian localsiation, thanks Nello Martuscelli and Mauro Ferreri.
2.3.0.1 beta, Sunday 20-June-2010 Burning Metal
Template "Copy" folders - folders whose names end in '---C' are treated specially. They are
Template or Copy folders. They will appear in FinderPop menus only in the Finder and only if
you control-clicked on a blank area of a Finder window or the Desktop (ie, when there is nothing
selected.) If you then select an item from the menu of this "Copy" folder, the selected item will be
COPIED to the window you control-clicked. This allows you to set up a system of templates les
or indeed folders which can be quickly placed where you want.
Switching to a process using FP's Processes submenu no longer adds that process to the 'Recent'
list.
2.3.0, Wednesday 19-May-2010 Burning Metal
Release Version! And there was much rejoicing.
2.2.5, Tuesday 9-March-2010 Ghosts on Water
Compatibility with Mac OS 10.6 Snow Leopard - beta versions having been available for months
at the FinderPop Support Forum.
Work around a PathFinder issue on Snow Leopard by treating PathFinder as just another app.
2.2.4.b8, Sunday 7-February-2010 Fruit ies like a banana
Compatibility with Mac OS 10.6 Snow Leopard - beta versions having been available for months
at the FinderPop Support Forum.
This is the rst cut at a 'universal' FinderPop for 10.4/10.5 and 10.6 systems, even though the
underlying 10.6 FinderPop mechanisms are completely different.
2.2.1, Saturday 8-August-2009 Beware of the bus!
A small number of minor tweaks and xes. Better compatibility with 10.5.7 and 10.5.8 Finders.
Fixed bug where you couldn't combine "inline-this-folder" with "only-in-menubar". (See this
forum post.)
Added some new FinderPop item naming tweaks - same as already existing ones but more
concise. Items ending in '---t' appear in the FinderPop menu only if there is a text selection (just
like the deprecated 'text-!!!', but shorter.) Similarly '---f' will cause the item to appear only if
you've control-clicked a Finder selection (deprecating 'fsel-!!!'. Likewise '---m', which causes
an item to appear only if you've clicked in a blank bit of menubar, deprecates the more verbose
'mbar-!!!'.
Note that the FinderPop '---_' item modiers are cumulative. For example, a folder named
'InlinedInMbar---i---m' inside your FinderPop Items folder will have its contents inlined into
the FinderPop menu only if you control-clicked in the menubar. Any other method of invoking
FinderPop will result in the folder's contents being skipped. Likewise, a folder named
'InlinedWithFinderSel---f---i' will have its contents inlined into the FinderPop menu only if there was a Finder
selection parameter to the _ContextualMenuSelect system call.
As suggested by that bug, an item whose name ends in '---N' will appear in FinderPop menus only
when you control-click a blank portion of a Finder window or the Desktop, ie, there being no Finder
selection. (The 'N' standing for "No Selection" -- and note that it must be a Capital 'N'.)
2.2.01b1, Wednesday 17-December-2008 Curmudgeons Unite!
If you don't want FinderPop to toggle inlining of FinderPop menus when CAPS LOCK is down,
use:
defaults write com.finderpop.finderpop capsLockToggleInline false
2.1.4, Wednesday 17-December-2008 Curmudgeons Unite!
Compatibility with 10.5.6 Finder
2.1.3b12, Sunday 7-December-2008 Phlogiston Overload
Added ability of FinderPop to send text contextual menu selections off to a shell script le. This
only works for the (mostly Carbon) apps that pass the textual selection to FinderPop. Also added
a new 'fsel'-style lename modier: if an item's name ends in text-!!!, it will be added to FP
menus only if the user has control-clicked some text in apps that support this.
Added a bunch of useful utilities in the FinderPopExtras folder. Some of these operate on
Finder selections and thus will only be visible in a FinderPop menu if there is a Finder selection.
Lock and Unlock set and reset the Finder lock of whatever Finder items you have selected.
You should see the Finder icon change to include a little "lock" badge if the item is locked.
Touch "touches" the item - i.e., sets the item's modication date to now.
Search in Google, Dene in Google and Search in Dictionary.com work only if the
application passes the textual contextual selection to FinderPop. Many do not, but most
Carbon apps do - including Microsoft Word. You're welcome, tensakun!
Note that currently I pass only the rst 1K or so of the textual selection to these shell
scripts. Formatting, punctuation etc. are stripped.
Tweak Finder label colours and positioning a bit following RonaldPR's feedback.
Option to allow Last items to appear in their own submenu.
Selecting "0" in the "Remember the last NNN items chosen" menu (Options prefpane) will clear
the list of remembered items.
Fixed some bozosity in the FinderPop build process.
Tweak patching algorithm so apps are patched 1.25 seconds after they start up - this xes
problems with LightZone and possibly other apps. Let me know if there are problems (there is a
defaults setting you can tweak for this: "delayPatchingTicks" - currently 75.)
Export some symbols so the app-being-patched can call FP routines to get some FP functionality
(and indeed entirely disable FP.) Interested parties should contact me for the API.
2.1.3b9, Thursday 2-October-2008 October-coloured weather
Now, by popular acclaim, support for Finder Label colours! You can also sort by Finder Labels in
the Appearance tab. If you turn on Use Finder Label Colors in the Appearance tab, labelled items
will appear in the Finder label colours. By default, icons are also drawn in their label colour; if
you'd prefer to have the icons appear in their normal colours, use
defaults write com.finderpop.finderpop useLabelInfoForIcons false
Fix a problem with some apps where I mistakenly ignored their contextual menu items in
preference to FinderPop's.
Add new checkbox for periodic checks for FinderPop updates in the "Etc" tab. Checks are done
twice a week.
Fix a problem when the "New Destination Folder" dialog was frontmost when the FinderPop Info
window was being displayed
2.1.3b8, Sunday 21-September-2008 Autumnal Equinox Edition
Add new button to the "Move/Copy/Alias" dialog allowing you to choose a different destination
folder. You can also create a new destination folder. Also revamped this dialog's UI somewhat so
it's more obvious what it is you're moving/copying/aliasing.
My Eclipse x in the previous version accidentally broke popup menu selection in some Cocoa
apps. Now properly xed.
This version is English-only as there are too many localisation changes required. I will be in
touch with the localisers to see if they can supply me with the updated localisations in time for
the next version.
2.1.3b7, Monday 11-August-2008 A Pint of Plain is your only man
If Inline FinderPop Items into Main Contextual Menu (in FinderPop's Appearance tab) is
enabled, FP will inline its items into all apps' contextual menus. You can limit this inlining to only
the Finder by clicking the new Only in Finder minicheckbox.
Fix a number of bugs in relation to selecting from contextual menus in Eclipse and some Cocoa
apps (eg, Safari - see http://fnarr.net/fp/viewtopic.php?t=91.
Alas this new checkbox is not yet localised beyond my pidgin French version; look for a
properly-localised version b8 when I get back from holidays.
2.1.3b6, Wednesday 11-June-2008 A Pint of Plain is your only man
For quick access to the FinderPop Preference Pane, FinderPop will add an alias to itself to the end
of the Process menu. You can disable this by:
defaults write com.finderpop.finderpop addFinderPopToProcessMenu false
FinderPop will no longer print "FinderPop: Patching Application..." notices to the Console unless
you enable this with
defaults write com.finderpop.finderpop displayPatchNotices true
Any item ending in '-!!n' will have a submenu listing all installed Preference Panes hanging off
it. For example, having an item named 'Prefs-!!n' will result in a menu item named Prefs whose
submenu lists all installed preference panes.
As before, items ending in ''fsel-!!!' will appear in FinderPop menus only if there is an item
selected in the Finder. Items ending in 'mbar-!!!' appear only if you're clicking an unused part of
the menubar. For example, you could place an alias to FinderPop Items inside the FinderPop
Items folder itself, and name it 'FinderPop Items fsel-!!!' - this means the item would appear
only if you control-clicked a le/folder in the Finder, allowing you to move/copy/alias the item
directly into the FinderPop Items folder.
Items ending in 'crtr-!!!': if you know the 4-character creator code of an app, it is possible to
customise the FinderPop menu so certain items appear if you're popping up a contextual menu or
clicking-in-unused-menubar in that app or not. For example, the 4-character code for the Finder is
'fndr', and the 4-char code for GraphicConverter is 'GKON'. Items whose names end in ''GKON-!!!'
will appear in FinderPop menus only if GraphicConverter is the current app. Similarly, items
ending in '!GKON-!!!' (note the extra initial !) will appear in FinderPop only if GraphicConverter
is not the current app.
You can tell the 4-char code of an app using FinderPop by highlighting the app in a FinderPop
menu and pressing Command and Option - the info is in the line labelled 'Type/Crtr' - the type for
apps is normally 'APPL' and the unique, per-application 4-character creator code is the next item.
There's a downside to this - not all apps come with a 4-character creator code. Maybe in the next
version we can use 'com.apple.Console' for example.
OK, we lied. The real creator code for the Finder is 'MACS' but that creator code is used for other System Software items
too, so for the Finder, FinderPop uses 'fndr'.
This app-specic feature can be combined with the new '---i' "inline-this-folder" feature. For
example: A folder called 'InlineTest ttxt-!!!-!!i' would have its contents inlined into the
FinderPop menu only if TextEdit was the frontmost app. If TextEdit is not the frontmost app, the
folder contributes no items to the FinderPop menu. (As you've probably gured out, the 4-
character creator code of TextEdit it 'ttxt'.)
To do: write a UI to handle all the above setup of FinderPop Items- I've been threatening to do
this since 1997... time to grok some more Cocoa!
Fix accidentally inverted sense of "Enhance Contextual Menus in other apps" checkbox (Active
panel.)
First pathetic attempt at automagic online update checking. Only works if you open FinderPop in
System Preferences. Will check up to 2 times per week, and offer to open the appropriate
download webpage if there's a newer version available.
2.1.3b5, 14-May-2008 A Pint of Plain is your only man
Initial attempt at per-directory customisation: the .fp-info le.
Make Processes menu sorting-by-name optional:
defaults write com.finderpop.finderpop sortProcessMenu false
If the Processes Menu isn't sorted by name, it's sorted by order of application launch time - least
recent rst, so for most people the Finder will be the rst item on the menu.
The FinderPop preference pane is now appended to the end of the Processes menu.
Fix a bug where I wasn't removing the -!!x "no submenu" trailer.
Any item ending in '-!!a' will have a submenu with all the apps under the Applications folder (ie,
including those in the Utilties folder.) Note that the menu item takes its name from this item - so
if your item is 'Every App-!!a', then the menu item will be Every App and will have the special
'all-apps' submenu hanging off it. The item itself can be a le, folder, or alias; if its name ends in
'-!!a' the contents of the item are ignored and FinderPop always displays this special all-apps
menu.
Any item ending in '-!!d' will have a Desktop submenu just like the Desktop submenu you get if
you check the Add Desktop Submenu in the FinderPop prefPane. Doing it like this means you can
place your Desktop submenu where-ever you want in the FinderPop hierarchy rather than at a
xed location using the checkbox.
Similarly, any item ending in '-!!p' will have a Processes submenu hanging off it. For example,
having an item named 'Running-!!a' will result in a menu item named Running whose submenu
lists the currently running apps. As usual with the FinderPop Process menu, if you hold down
Control when mousing into the menu, it will include background-only processes.
A reminder that merely renaming an item in the 'FinderPop Items' folder (or indeed any folder for
which FinderPop has a cached menu) will not cause FinderPop to rebuild the menu. You'll need
to change the modication time of the folder - I normally do this by creating a new folder and
then immediately deleting it via Command-Shift-N, Command-Delete.
2.1.3b4, 27-Apr-2008 A Pint of Plain is still your only man
FinderPop should now run on G3s again. Sorry about that.
Removed broken German localisation placeholder.
Increase the number of remembered Last items from 5 to 12.
The "FinderPop Items" folder can now be an alias to a folder.
Tweak the click-in-unused-menubar code once more - work around some oddities in the systen's
wake-from-sleep code.
If you select a Unix shell script le (for now, les whose name ends in '.sh') the script will be
executed. Any Finder selection is passed to the script as standard text arguments. For example,
suppose le foo.sh contained:
#!/bin/sh
echo "Hello, world"
echo $# args - and here they are:
echo " " $*
then selecting foo.sh via a FinderPop menu will run the shell script. If you had a bunch of les
selected in the Finder, then the script is passed those les as arguments. In this noddy example,
you'd see the output on Console.app.
If you just want to edit the script le rather than executing it, hold down the option key as you
select the script le from the FinderPop menu.
Likewise, if you select a compiled AppleScript le (i.e., a le ending in '.scpt'), FinderPop will
execute the script. Note however that FinderPop does not currently pass the selection to the
Applescript. Note also that FinderPop will not display any script results or errors.
If you'd like FinderPop to hide the .sh and .scpt extensions, do:
defaults write com.finderpop.finderpop tossDotScptExtension true
2.1.3b1 - b3, various dates were private debug builds released only to bug reporters.
2.1.2, 6-Mar-2008 A Pint of Plain is your only man
New Patching Mechanism! Finally solved the Unsanity incompatibilities by the simple expedient
of using their APELite patching mechanism. Thanks muchly to Rosyna Keller of Unsanity and
Nicholas Riley for introducing us. I have no idea why I didn't investigate this before. Soy tonto.
FinderPop uses APE Lite -- Copyright 2002-2008, Unsanity LLC --
http://www.haxies.com/ape/sdk/
Fix for FinderPop causing crashes in certain Cocoa apps.
Miscellaneous other xes, tweaks and tidyups.
Many localisations! Thanks to Corentin Cras-Meneur for Franais, Michael Berglund for
Swedish, Osamu Satoh for Japanese. Please let us know if there are any problems.
2.1 RELEASE, 28-Feb-2008 A Pint of Plain is your only man
Finally a release. And there was much rejoicing.
Err, that's it for now. More words coming soon!
Last modied by turly, Sunday 8-July-2012.
Made with vim, touched up with Bare Bones Software's ne TextWrangler!
turly@nderpop.com

También podría gustarte