-
Notifications
You must be signed in to change notification settings - Fork 285
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Two separate services (one internal and one not) can be confusing #409
Comments
I don’t know much about how Services are implemented, but I wonder why “Get Current Selection (Internal)” needed to be exposed as a Service to begin with. Do Services have visibility of the system’s state that an application can’t get on its own maybe? Anyway, I completely agree. There should be one chunk of code that handles this for the Service, ⌘G, Current Selection, Finder Selection, etc. |
I would add that CMD-Escape should be default for this unified service, seeing as you can't set Escape to any hot-key in Lion. This would always give the option of "resetting to default" to get CMD-Escape. |
I’ll add this here, in the hopes that we can fix it at the same time. Often, when “grabbing” files into Quicksilver, you end up with the parent folder of the selection. This seems to happen more with the Current Selection proxy and ⌘G/⌥⌘G, and not with the service(s), but like I said, hopefully this code can be consolidated. |
See also: #485 |
@neurolepsy Are you OK with me re-assigning myself to the issue? If you've got any work in progress let me know and I can take it from there. I posted this in a closed issue, but it's probably more applicable here: For the developers So I've started looking into this, since the ⌘⎋ shortcut doesn't work on the Mac at work. Interestingly enough, this is not the fault of QS, but the fault of the keyboard (?!?). The ⌘⎋ just doesn't seem to work AT ALL. I've installed key codes and when I press ⌘⎋ it doesn't register. All other shortcuts do. This is on 10.7.4, new Mac Mini with an Apple keyboard The intersesting thing, however, is that when QS simulates the ⌘⎋ keystrokes using carbon (in QSGlobalSelectionProvider.m Seeing as there seems to be this huge limitation with ⌘⎋ not actually registering as a keyboard shortcut, here's what I propose:
Once we're down to one service, I'll start working on the few bugs with the 'current selection' proxy :) |
@pjrobertson Go for it, I never got around to doing anything about this issue. |
OK.
Is there a reason we should discourage people from using it like any other service (with things like "Internal" and "Private" in the name)? They obviously just use it anyway. :-)
You know there’s already a trigger by default called "Command Window with Selection", right? :-) And it doesn't just show the "Current Selection" proxy object. It actually resolves the selection into something. There have always been little problems with one method or the other. As I said (on IRC), it used to be that one method couldn't get multiple files from Finder, but the other would grab the current URL instead of the selected text in a browser. This could be solved by using both (with the trigger scoped to applications where it was the best choice) until scopes broke in 10.5. Testing out the trigger in various scenarios, it does appear to work pretty consistently. Some minor issues:
But if we can solve that second problem, the trigger could be the way of the future. :-) UpdateIt might be getting the previous selection, not the parent folder, so maybe it's a caching issue. |
Yes. We don't want people thinking they can use it and customise the
I do know ;-) On 26 September 2012 19:46, Rob McBroom notifications@github.com wrote:
|
OK, that's a good point. But it's OK to use, just not to change the shortcut. I suppose "Get Current Selection (Don't Change the Shortcut)" is out? ;-) |
I'll let you do the localising :P On 26 September 2012 20:58, Rob McBroom notifications@github.com wrote:
|
We should try and create a single service, that is clever enough to detect if the service was called by Quicksilver (when CMD+G is pressed or the 'current selection' proxy is used) or if it was called by the user (using the global hotkey or App->Services->Send to Quicksilver.)
I'm not currently aware on the differences between the code for the two services, but it could easily be integrated into a single service with a simple
if ... else ...
statementIn implementing this, we'd need to make sure we do not mess with the user's shortcut key for the 'send to quicksilver' service. This would probably mean making the
invokeSercive
method in QSGlobalSelectionProvider.m dynamically set the keys to press depending on the user's choice.Or set two hotkeys if this is possible.
The text was updated successfully, but these errors were encountered: