Skip to content
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

Browse object history fixes #573

Merged
merged 6 commits into from Apr 11, 2012
Merged

Conversation

pjrobertson
Copy link
Member

@pjrobertson pjrobertson commented Nov 13, 2011

Previously, I though ⌘[ was only meant to be used for going to the 'last' object (hence the name of the branch) but it turns out ⌘[ and ⌘] are supposed to allow you to travel back/forward through your last (20, or could be 50?) objects.

The commits here now fix this.
Definitely a REALLY handy feature - if you want to go back to that object you were using 2 minutes ago just hit ⌘[ a few times :D

pjrobertson added 2 commits Nov 12, 2011
You can now browse properly forward/back with ⌘[ and  ⌘]
Also - don't add objects to the history if they're already the 1st object
(case when this happens is when you right arrow into an object)
@skurfer
Copy link
Member

@skurfer skurfer commented Nov 14, 2011

It has always bugged me that this didn’t really work. I know @neurolepsy made some changes that helped earlier this year, but it was still problematic (and would never go more than one object back).

I’ll take a look tomorrow morning. One thing that bothered me even when it was “working”: It would take you to the last object that was in the first pane, not the last object you did something with. So fictional example, if you typed TX quickly and the initial T brought up TextEdit, while TX brought up TextMate, the previous object would be TextEdit even though you never did anything with it. Did you fix that? :-)

@pjrobertson
Copy link
Member Author

@pjrobertson pjrobertson commented Nov 14, 2011

I considered changing the history so that it only included the last objects
acted on - that's what I thought it should be like, but I decided against
this.
Since you can go back 10+ times in history, I didn't think it'd be much of
a problem keeping the old behaviour in.

It means that if you're browsing with QS you can go back to wherever you
were previously. Give it a try and you'll see that, now that it actually
works, the it probably won't bug you as much :)

P.S. I probably shouldn't have issued a pull request for this. I guess we
need to focus most attention on getting 63 out the door before we start
looking at other things

On 14 November 2011 04:36, Rob McBroom <
reply@reply.github.com

wrote:

It has always bugged me that this didnt really work. I know @neurolepsy
made some changes that helped earlier this year, but it was still
problematic (and would never go more than one object back).

Ill take a look tomorrow morning. One thing that bothered me even when it
was working: It would take you to the last object that was in the first
pane, not the last object you did something with. So fictional example, if
you typed TX quickly and the initial T brought up TextEdit, while TX
brought up TextMate, the previous object would be TextEdit even though you
never did anything with it. Did you fix that? :-)


Reply to this email directly or view it on GitHub:
#573 (comment)

@HenningJ
Copy link
Contributor

@HenningJ HenningJ commented Nov 14, 2011

P.S. I probably shouldn't have issued a pull request for this. I guess we need to focus most attention on getting 63 out the door before we start looking at other things

I agree :-)

@skurfer
Copy link
Member

@skurfer skurfer commented Nov 14, 2011

Since you can go back 10+ times in history, I didn't think it'd be much of a problem keeping the old behaviour in.

Well, that’s true. If I can go back more than 1 item, maybe it won’t be as annoying. I’ll try it in practice before I complain about it.

@HenningJ
Copy link
Contributor

@HenningJ HenningJ commented Nov 14, 2011

I haven't tried this, I'm just wondering:
What happens with this when using text mode or the calculator? Is each character an object on its own? Or is the finished text the only object in the history?

@pjrobertson
Copy link
Member Author

@pjrobertson pjrobertson commented Nov 14, 2011

What happens with this when using text mode or the calculator? Is each
character an object on its own? Or is the finished text the only object in
the history?

I haven't considered text mode. I'll give it a play after bisecting the
master :) It'd be simple enough to do

if(previous history item was text mode with almost the same characters as
this one)
remove the old one and add this new one

On 14 November 2011 15:21, Henning Jungkurth <
reply@reply.github.com

wrote:

I haven't tried this, I'm just wondering:
What happens with this when using text mode or the calculator? Is each
character an object on its own? Or is the finished text the only object in
the history?


Reply to this email directly or view it on GitHub:
#573 (comment)

@skurfer
Copy link
Member

@skurfer skurfer commented Nov 14, 2011

It'd be simple enough to do

if(previous history item was text mode with almost the same characters as this one)
remove the old one and add this new one

Or even simpler, don’t store it in the history unless the user runs an action on it. ;-)

@HenningJ
Copy link
Contributor

@HenningJ HenningJ commented Nov 24, 2011

I just tested this and it's pretty cool.

The text thing is not a problem. It's only one object.

But of course it only works with an English keyboard setting. When I have my keyboard set to German, [ is produced by ⌥5, so the shortcut would be ⌘⌥5. And of course that doesn't work. :-/

@pjrobertson
Copy link
Member Author

@pjrobertson pjrobertson commented Jan 20, 2012

But of course it only works with an English keyboard setting. When I have my keyboard set to German, [ is produced by ⌥5, so the shortcut would be ⌘⌥5. And of course that doesn't work. :-/

Any ideas on what we could change the keyboard shortcuts to then? Would ⌘< and ⌘> work for your keyboard layout?
If not, maybe we should use ⌘- and ⌘+

Or, to fix this and all the age old problems people are having, we should just switch to an English keyboard when QS is activated... :)

@skurfer
Copy link
Member

@skurfer skurfer commented Jan 20, 2012

I’ll try it in practice before I complain about it.

Mostly I just think “What? When did I ever have that up?”. And I feel like I have a vague idea how many objects back something will be if I intentionally looked for it. Seems like it would make things easier to find.

Can we add a checkbox to the preferences that makes it only add an object to the history when you “use” it? :-)

@pjrobertson
Copy link
Member Author

@pjrobertson pjrobertson commented Jan 20, 2012

Can we add a checkbox to the preferences that makes it only add an object to the history when you “use” it? :-)

...I'm not going to :)
I honestly think that this 'feature' will save people so much time. I didn't describe a very good example earlier on.

Here's a better one:

I'm typing to search in the 1st pane to find address book. I accidentally mis-type (typo) 'adf' instead of 'add'. Instead of having to go back and type everything all over again, I just hit 'back' once then start from where I left off.

This is a really simple example that probably isn't that useful anyway, but I often find myself accidentally doing something that means I 'lose' the folder I've browsed to in the 1st pane - e.g. QS window deactivating, typos, etc. If I've spent 'ages' browsing through Quicksilver, I don't want all my work to go to waste because of a single slip up. It's kind of like an 'Undo' feature.

@pjrobertson
Copy link
Member Author

@pjrobertson pjrobertson commented Jan 20, 2012

P.S. just wondering Rob if what I'm saying makes sense. Just another thing to elaborate on.

If I search for 'a d d' you DON'T get 3 objects added to the history, one for 'a', on for 'ad' and one for 'add'. It's only for objects acted upon or ones that you have browsed through with the arrow keys

@skurfer
Copy link
Member

@skurfer skurfer commented Jan 20, 2012

Hmm. I’ll do some more testing. But I just brought up a remote host named t-corp-webap-01 (using ‘twe’) and when I hit ⌘[, it shows me Twitter.app, which I haven’t done anything with all day (it is the first result for ‘tw’ though, which I don’t think is a coincidence).

@skurfer
Copy link
Member

@skurfer skurfer commented Jan 20, 2012

Just noticed you had two posts there…

This is a really simple example that probably isn't that useful anyway, but I often find myself accidentally doing something that means I 'lose' the folder I've browsed to in the 1st pane - e.g. QS window deactivating, typos, etc. If I've spent 'ages' browsing through Quicksilver, I don't want all my work to go to waste because of a single slip up. It's kind of like an 'Undo' feature.

Yes, that happens to me all the time when browsing folders, so that’s a good example. But I would count arrowing into something as “using” it. Also, this is my fault for having “Switch to text mode if no match is found”. Without that, couldn’t you just go back with the left arrow? Or wait a second and start typing again, knowing that as long as you don’t dismiss the interface, the matching will continue to happen in the current “folder”?

pjrobertson added 4 commits Feb 2, 2012
That means: browsed into/out of, had an action run on them or been the last object in the 1st pane when it's lost focused (either through a tab or a window close)
@pjrobertson
Copy link
Member Author

@pjrobertson pjrobertson commented Mar 30, 2012

Alright Rob, you got me on this. I've altered it so that only objects you act on get added to the catalog. I've included another fix in the last commit:

Having the 'recent objects' catalog entry enabled means you currently get duplicated of items in your catalog. To reproduce:

  • enable 'recent objects' catalog entry
  • browse into some objects (e.g. desktop) in your catalog so they're added to the 'recent objects' catalog
  • refresh the 'recent objects' catalog entry in the prefs
  • search for the same items (e.g. desktop) and you'll notice the object appears twice.

This ensures that the actual object itself is added to the history, meaning that if the object's already in the catalog, the global catalog NSSet does it's business and only keeps one version around (the catalog NSSet quite rightly counts the actual object and a ranked version of the object as different things)

@skurfer
Copy link
Member

@skurfer skurfer commented Mar 30, 2012

Alright Rob, you got me on this. I've altered it so that only objects you act on get added to the catalog.

Great! Can’t wait to try it. What changed your mind?

This ensures that the actual object itself is added to the history, meaning that if the object's already in the catalog, the global catalog NSSet does it's business and only keeps one version around

That’s good news. I forget why I disabled Recent Objects, but that was probably it.

@pjrobertson
Copy link
Member Author

@pjrobertson pjrobertson commented Mar 30, 2012

What changed your mind?

The fact that you were right and searching for "a d d" added the objects
found for "a", "ad" and "add" to the history list. Annoying :)

On 30 March 2012 18:44, Rob McBroom <
reply@reply.github.com

wrote:

Alright Rob, you got me on this. I've altered it so that only objects
you act on get added to the catalog.

Great! Cant wait to try it. What changed your mind?

This ensures that the actual object itself is added to the history,
meaning that if the object's already in the catalog, the global catalog
NSSet does it's business and only keeps one version around

Thats good news. I forget why I disabled Recent Objects, but that was
probably it.


Reply to this email directly or view it on GitHub:
#573 (comment)

@skurfer
Copy link
Member

@skurfer skurfer commented Mar 30, 2012

The fact that you were right and searching for "a d d" added the objects found for "a", "ad" and "add" to the history list. Annoying :)

I’m glad. It needs more testing but my fist impression is: best thing ever! :-)

@skurfer
Copy link
Member

@skurfer skurfer commented Apr 11, 2012

I think I’m going to merge this anyway, because it’s so good, but I still see one case where not “using” something adds it to the history. I haven’t pinned down all of the cases exactly, but it seems that dismissing the results list, or dismissing the interface entirely will cause the object in the first pane to go into the history.

If you think that’s an easy fix, I’ll wait. Otherwise, I’ll merge (or you can).

@pjrobertson
Copy link
Member Author

@pjrobertson pjrobertson commented Apr 11, 2012

dismissing the interface entirely will cause the object in the first pane to go into the history.

From what I remember, I actually kept that in as I thought there were cases when QS closes without you wishing (e.g. when another app gains focus - something I've been wanting to fix for a while). I think of it as a 'snapshot' of when QS was last active.

As for the dismissing results list problem, I'm not sure about that one. Seeing as this was 5 months ago, I've a bit 'over it', so I'm just going to go ahead and merge it... :)

Maybe one day I'll fix it good and proper again ;-)

pjrobertson added a commit that referenced this issue Apr 11, 2012
@pjrobertson pjrobertson merged commit f378e78 into quicksilver:master Apr 11, 2012
@fredperez
Copy link

@fredperez fredperez commented Apr 26, 2012

Hi guys,
I was wondering whether there was any way to use this history browsing on non-english keyboards. I have a french keyboard and I can get it to work as the [ and ] symbols are not directly on keys.

Thanks

@pjrobertson
Copy link
Member Author

@pjrobertson pjrobertson commented Apr 26, 2012

Hi there,

Just out of interest, what shortcuts can you use in Safari to browse
backwards and forwards through pages?
⌘← and ⌘→ should be two buttons, but are there any other ones?

On 26 April 2012 22:50, fredperez <
reply@reply.github.com

wrote:

Hi guys,
I was wondering whether there was any way to use this history browsing on
non-english keyboards. I have a french keyboard and I can get it to work as
the [ and ] symbols are not directly on keys.

Thanks


Reply to this email directly or view it on GitHub:
#573 (comment)

@pjrobertson
Copy link
Member Author

@pjrobertson pjrobertson commented Apr 26, 2012

As a temporary fix, if you open the following file located
at /Applications/Quicksilver.app/Contents/Frameworks/QSInterface.framework/Versions/A/Resources/DefaultBindings.qskeys
(it is inside your Quicksilver.app file) you will see that there are two
entries with the following keys:

@[

goBackward:

@]

goForward:

If you edit the @[ and @] then restart Quicksilver you will be able to
change the hotkeys. @ means the ⌘ button, ^ means the ⌃ (control) button,
and $ means the ⇧ (shift) button, so if you wanted, for example:

⌘⇧s (for say suivant) and ⌘⇧p (for say précédant) you could replase @[ and
@] with @$s and @$p

Of course, it is up to you. Watch out though, as your settings will be
overwritten each time Quicksilver is upgraded

On 26 April 2012 22:53, Patrick Robertson robertson.patrick@gmail.comwrote:

Hi there,

Just out of interest, what shortcuts can you use in Safari to browse
backwards and forwards through pages?
⌘← and ⌘→ should be two buttons, but are there any other ones?

On 26 April 2012 22:50, fredperez <
reply@reply.github.com

wrote:

Hi guys,
I was wondering whether there was any way to use this history browsing on
non-english keyboards. I have a french keyboard and I can get it to work as
the [ and ] symbols are not directly on keys.

Thanks

(contero

Reply to this email directly or view it on GitHub:
#573 (comment)

@fredperez
Copy link

@fredperez fredperez commented Apr 26, 2012

Thanks for your temporary workaround!
As for your first question, ⌘→ and ⌘← are indeed the right shortcuts for navigating in safari, but I use the 3-finger trackpad move to navigate in fact. Firefox displays ⌘[ and ⌘] but it is wrong with my keyboard (⌘→ and ⌘← work though).
For some software, the binding is not to the character, but to the position of the key on the keyboard, so that it does not depend too much on the keyboard you have. Is that possible to do this in QS? For example with a french keyboard, the history browsing would be done with ⌘^ and ⌘$.
By the way, is it possible to bind trackpad moves instead?

@1-61803
Copy link

@1-61803 1-61803 commented Apr 29, 2012

I also made use of this workaround, thanks!
I tried cmd+< for goBackward and cmd+> for goForward but it didn't work. How should I escape these characters or include left/right arrows in a plist?
In the meantime I decided to use iTunes shortcuts when getting info from tracks, cmd+p for Previous and cmd+n for Next.

@1-61803
Copy link

@1-61803 1-61803 commented Apr 29, 2012

I don't get why cmd+[ and cmd+] don't work in QS in my QWERTZ keyboard. Although I have to press cmd+alt+5 and cmd+alt+6 respectively they do work in other apps, for example in iTunes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants