Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

Issues with Finder Selection (Proxies and Service) #485

Closed
lgarron opened this Issue Sep 21, 2011 · 10 comments

Comments

Projects
None yet
5 participants
Contributor

lgarron commented Sep 21, 2011

As far as I know, there are three default ways to send the Finder selection to Quicksilver.

  • Using the "Send to Quicksilver" service (i.e. setting the shortcut in System Preferences > Keyboard > Keyboard Shortcuts)
  • Using the "Current Selection" proxy object with a QS trigger.
  • Using the "Finder Selection" proxy object with a QS trigger.

I am currently on OSX Lion, and the "Finder Selection" proxy object has become unreliable. See http://groups.google.com/group/blacktree-quicksilver/browse_thread/thread/12b4be1175b88e72 for AdamAL's description of the issue for him.
(I personally find that [trigger > Dismiss QS > trigger again] works, but that's slower and more cumbersome – especially since the problem doesn't always arise.)

I have switched to using the service, but the following things now do not work properly:

  • "Send to Quicksilver" doesn't work on the folder of the Finder window
    itself - only on a selected file/folder if it is selected in it.
  • I have Quicksilver in my Dock, and when I "Send to Quicksilver" the
    application focus changes from Finder to Quicksilver. Annoying if I selected
    the wrong file by accident, because I have to Alt-Tab instead of just
    dismissing Quicksilver as usual.
  • The first QS field is selected by default instead of the second. This is
    only an issue out of a matter of habit, but I've gotten used to typing my
    action immediately.
  • This doesn't fix triggers that use the "Current Selection" or "Finder
    Selection" proxies. I have a few of these for opening files in specific
    applications quickly.
  • Cmd-Alt-G still seems to be buggy (not sure by how much).

There may be a lot of settings at play (OS, QS, and personal settings), but it would be nice if there were a simple way to get the current Finder selection. The Finder Selection proxy worked well until it started grabbing the wrong selection sometimes in Lion.

Owner

skurfer commented Sep 21, 2011

This is related to #409, but has enough unique info that it’s not a duplicate, so I’ll keep it open.

Owner

skurfer commented Feb 23, 2012

Some other things I’ve noticed about “Finder Selection” recently:

  • If you have something on the Desktop selected, that will be chosen instead of the selection from the front window.
  • If the window containing the selection isn’t the active window, you get the parent folder instead of the selected file(s).

FWIW the Finder Selection seems to work reliably after I unchecked "Pull selection from front application instead of Finder" under "Extras" in the Preferences.

Orion751 commented Apr 1, 2012

I would like to see this functionality combined with "Current Document" when nothing is selected in the frontmost app.

EDIT: I'd also add "Current Application" when "Current Document" is not possible to use. So QS would check in the order of selection-document-app.

Contributor

lgarron commented Jul 27, 2012

I just realized that the Cmd-X trick I just learned from Skurfer (is this documented anywhere?) works well with the Finder Selection. However, when I want to correct my selection, the caching Patrick mentioned on the list gets in the way.

Is there a good workaround for this, e.g. lowering it to 0.5 seconds, or clearing the cache once per QS invocation?

OH! I just realized that the caching is responsible for a related bug I've been encountering: Triggers using Finder selection.
I have a trigger for "Open Finder Selection in Sublime Text". Sometimes the most efficient thing would be to select one item in the Finder, then go back and select another. But if I do this fast enough, QS will keep opening the old one.

So, a "Finder Selection" trigger with an empty action seems like exactly the way I think this should work, except for the "long" caching.
If I wanted to look into a workaround for the caching, where should I start looking? Is there a good way to modify or override proxy resolution behaviour?

EDIT: Found the proxy interval magic number: QSProxyObject.m#L74
EDIT 2: Recompiled with interval = 0.5f. It's waaaay better. I feel like I've gained some sanity.

Owner

skurfer commented Jul 27, 2012

I wonder if we should have a fairly low default (like 0.5), then for those proxies where that could be problematic, we could add a key to their definition in Info.plist to override it with a higher value.

Owner

pjrobertson commented Oct 9, 2012

  1. Please see issue #510 for Finder selection bugginess. Unfortunately there is nothing we can do to fix this issue, it is a problem on Apple's side. Reporting a bug to them might help speed up the process of them fixing it.
  2. Your issue regarding the service activating Quicksilver when using the service unfortunately cannot be changed either.
  3. This should be fixed now, and is controlled by the 'focus action when displaying results' preference in the command preferences
  4. We are working on merging the service and proxies so as to make things more consistent and easier, see #409 for info on that.
  5. What is the expected behaviour of ⌘⌥G? Is it supposed to be a shortcut for 'Finder Selection'? Perhaps it would be a good idea to merge the finder and current selection proxies, to reduce the amount of confusion between the two.

Thanks for all the info

Owner

skurfer commented Oct 9, 2012

Mentioned in IRC, but ⌥⌘G is "Grab 'n' Drop". It's a shortcut for "move the Finder Selection here". Hitting it should result in the interface showing [Finder Selection] ⇥ Move to… ⇥ [Quicksilver Selection], at which point you can hit ↩ to confirm.

Owner

pjrobertson commented Dec 16, 2012

So the fix to #409 has gone part of the way to fixing the problems, but nothing mentioned in this issue. The only point that seems relevant now is point 4 (and possible 5).
Should we have some kind of 'checking' so that when the service is used, if no selection os found, and the front window is Finder, then we use 'Finder Selection'

So the workflow would be:

                                            /---------------> Yes: Cool. We're done :)
⌘⎋ Current Selection ---------- > Result Returned?
                                            \
                                          �   \---------------> No ---------> Is Finder frontmost?
                                                                            |
            �                                                                |
                                                                            |
                                                                         /     \
                                                                       /         \
                                Try 'Finder Selection' <------------- Yes         No ----> Oh dear, we're stuffed

Like the completely pointless ASCII art? :)

Owner

skurfer commented Jan 29, 2013

A lot of this was addressed by #1295. See the comments there. Basically, the trigger and service now have the same shortcut by default (and the trigger will take precedence). The trigger will attempt to run the service (unless there's a specific provider, as there is with Finder).

#510 pretty well covers the Finder bug (which we can do little about)
#1351 is dedicated to discussing the issues with losing focus

@skurfer skurfer closed this Jan 29, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment