FREN

#FF00AA


29 jan. 2006

More Quicksilver goodness: screen corners

@apple@

I experimented with adding Technorati tag feeds to my aggregator, and look what I found: Quicksilver Tips & Tricks introduces another new(ish?) (not really new at all) feature I haven’t discovered.

Turns out the developer, in his quest for domination of the Mac mouse (because keyboards are secured now), has also added a “Mouse Triggers” plug-in that allows you to trigger any kind of Quicksilver action or menu to a number of mouse operations (not gestures — I think there’s got to be a gestures plug-in somewhere, but I don’t care for those, as surprising as it may be for a Wacom tablet user).

The Constellation plug-in (which installs radial menus into Quicksilver, as I showed and explained thoroughly a few weeks back) comes with a mouse trigger included:

Drag a file (or several) to the bottom-right corner of the screen and you get a Constellation menu listing possible e-mail recipients. Select one, your files are ready to be sent.

But I hardly find that convenient, though — as much as I love radial menus, I never really got to use them in Quicksilver because the whole point of a radial menu is muscle memory, i.e. options should always be at the same place, and unless you’re always sending files to the same people there’s no way you can involve muscle memory in the process of dropping files onto a contact — especially if you have more contacts than you configured Constellation to display at once, in which case you have to use the keyboard, or click the tiny arrow, to switch “pages”.

I think mouse triggers become really interesting when you don’t enable the Constellation plug-in. (At least not until it’s improved enough to be really usable. Particularly, taking keyboard input like the regular Quicksilver interface.)

Here comes the same functionality, only associated with the default interface rather than Constellation:

Drop a file onto your screen corner, and you get the regular, efficient Quicksilver interface to select your recipient. Or recipients — select one, press the comma key, select another, and so on. Just works great.

Note: to disable Constellation for those triggers, you seem to need to disable Constellation for all triggers (surely it will be available as a per-trigger option soon) by changing the “Missing Object Selector” handler (the “Show Radial Menu” actions will still be available, and you’ll be able to use them in other triggers if you need them):

The coolest part is, since you’re using the regular Quicksilver interface, you can associate complex, interactive actions to drag-and-drop. Now when I drop a file onto my bottom-left screen corner, I get a prompt to select where I want to copy them. I can type the destination or navigate to it, and there it goes. (This is why the Constellation plug-in needs to accept keyboard input, even though it’s primarily mouse-oriented. If you define a “Copy to…” trigger but leave it to be handled by the Constellation menus, they will show up completely empty and useless.)

Because the options to define mouse triggers are pretty extensive, I was able to define a second trigger, for the same screen corner, that moves the file instead of copying them when Shift is pressed. (I’m not sure it should be Shift, though, but I couldn’t remember which modifier moves files instead of copying them, when dragging from a volume to another. I guess it’ll make more sense to change that to Command-drop for copying and regular drop for moving.)

The problem is, defining those triggers is a bit complicated right now (you can see on the screenshot above that I mistakenly defined a “Move to ~/Public” action instead of “Move to…”, and I haven’t managed to fix it yet1), because the interface doesn’t really allow them (it’s only show a very limited set of available actions for the “Mouse Trigger Dragged Object”, with nothing much useful beside “Email to…”), so you’ll have to hack the right actions in. (Oh, and it’s not documented, of course. Did I say none of this is documented? I had to dig through the Blacktree forums, in the thread dedicated to Constellation, to find out all about this.)

Since you can’t get the “Copy to…” action (or whichever you want to apply to the dragged objects) to appear, you’ll have to copy and paste it. That is, when creating your trigger, instead of “Mouse Trigger Dragged Object” right away, choose a file or folder (e.g., “Home”); press Tab to switch to the action field, and select “Copy to…” (or anything you want); press Command-C to copy; shift-tab to get back to object selection and select “Mouse Trigger Dragged Object” this time; tab back to action and hit Command-V to paste your action. Now it should be all right. Quick, save your trigger before you press the wrong key and lose it.

(Of course, you can also define lots of other mouse triggers — not necessarily associated to screen corners or borders, since clicks of whichever buttons, with or without modifier keys, can also be associated to actions — which, having nothing to do with drag-and-drop, will be as easy to define as regular hotkey triggers. This was just a particularly convoluted example, but it’s also one of the screen corner uses that make most sense.)

Looks like I can disable CornerClick now. (I never really got to use it anyway.)

 

Note: if you can’t get it to work, try starting from the setup I defined in my guide to Constellation (you’ll need proxy objects in particular for “Mouse Trigger Dragged Object” to be available).

 

P.S. I forgot to explain: I usually hate screen corner shortcuts (such as those Exposé offers to configure), because in general use I’m always throwing my mouse pointer all over the place (when you’re sitting down at your computer it’s typically faster to send the pointer into a corner than try and find it on screen — and I already did that before I had a 20-inch iMac); that’s the why the Quicksilver mouse triggers I find most interesting are the drag-and-drop ones. There’s no risk of accidentally triggering those.

 

1 Thanks to the Quicksilver developer’s quick reply in the forums, I could remove the third pane’s contents in the trigger definition dialog by pressing Command-X.

Want to know when I post new content to my blog? It's a simple as registering for free to an RSS aggregator (Feedly, NewsBlur, Inoreader, …) and adding www.ff00aa.com to your feeds (or www.garoo.net if you want to subscribe to all my topics). We don't need newsletters, and we don't need Twitter; RSS still exists.

Legal information: This blog is hosted par OVH, 2 rue Kellermann, 59100 Roubaix, France, www.ovhcloud.com.

Personal data about this blog's readers are not used nor transmitted to third-parties. Comment authors can request their deletion by e-mail.

All contents © the author or quoted under fair use.