Closed JKrag closed 3 years ago
Love the idea, in fact this bugs me as well sometimes. In most cases, I want to open RepoZ and interact with a repository. Later - like 2 hours later - I want to interact with a completely different repository (case 3.) and the prior filter is a bit annoying. At this time I did not even know that I used the filter 3 hours earlier.
By the way, pressing [Esc] clears the filter, so that's better than [Shift]+[Ctrl]+[Left]. But having no text to clear would definitely be better.
I thought about this issue quite a few times and I would have come with a timeout approach ... I know this might sound a bit hacky but as a human, the thing that divides "multiple interactions with the same repository" and "interacting with multiple repositories" is likely just to be time. So I'd say we could reset the filtered text like ... 1? 2? 5? ... minutes from the time we entered a filter. I think this would work pretty good in most cases. Imagine you work with repository A and after quite some time you want to work with repository B ... opening RepoZ would require no thoughts about clearing text at all. If you work with different repositories in a short amout of time like let's say opening 4 *.sln files, you'd always know that you had defined a filter and that you have to reset it first.
What do you think?
I am not sure I really like the timeout approach. From a UX perspective it give rise to "unpredicted behaviour". Its fine if 4 hours have passed, but what if a shorter amount has passed since "I last used this a little while ago". Now again, I would have to look to the left and analyse the search box before knowing what behaviour to expect.
Another disadvantage is that it would remove support for a current use-case that I do like a lot. I have many repos on my machine (both work stuff and private/OSS stuff). But currently I am working on a project where (nearly) all the 5-10 relevant repos are named something with e.g. BTT.something (not actually BTT, but some other 3 letter acronym). So in most cases, I just have BTT permanently in the search box, and then just mouse or keyboard select the right repo. But once in a while I need to get hold of repos that are not prefixed BTT (owned by another team) and then I have to go through the process of deleting the text, then typing something else.
P.S. Thanks for the
I believe that for a tool like this, predictability is paramount. It should nearly be at a point where I can use it with closed eyes: Hit the C*-Alt-R shortcut, type some letters, down-arrow N times and press whatever action I need, and it should give me the same result every time (unless I have added another repo obviously).
Thanks for these insights, this was actually very helpful to me. You got some really good points here. In addition, pre-selecting the text is likely to be the easiest fix to implement as well π
By the way, this is how it works on macOS already π
I hadn't even noticed that this was already the behavior on Mac, as I haven't really been using RepoZ on my mac lately (working for a customer on windows at the moment). But that just made it an easier decision to align the two platforms I assume? ;-)
I will be looking forward to seeing this in the next release :-)
RepoZ 5.5 was just released which fixes this behavior.
I very much like that RepoZ remembers my previous search/filtering and shows this in the text box as I often do want to access the same projects, but I think it would be much nicer if this existing text in the search box was "selected" so that it is easy to overwrite with a different search. As I see it, there are three possible "scenarios" when I activate RepoZ. 1) I am happy with the current search text and just want to interact with one of the items found. 2) I want to append something to the existing text to refine my search 3) I want to find something completely different.
Case 1 is probably the most common case for many, but after that I think case 3 is probably much more frequent than case 2.
The way it is now, I am ready for case 2, but if I want case 3 (overwrite text), I have to use something like
<shift><ctrl><left-arrow>
. If the text were pre-selected, I would be ready for case 3 (overwrite), and if I wanted case 2 instead (append) then it is just a single<right arrow>
to remove the selection and keep typing.Another argument for this behaviour is that it becomes much more geared towards "reflex interaction" just like e.g. app launchers like Alfred or similar. As a user I just want to be able to press the repoz hot-key and start typing a few letters "without thinking". I don't want to have to actively look at a tiny search box in the corner of my big screen and consciously evaluate if I need to delete existing text first or not before typing. For most developers (and other RepoZ users I guess) occasionally retyping a few letters in a search is probably much much faster than the "stop to look and think" process.
Anyway, these are my thoughts. I would love to hear what you think about it @awaescher (and others of course).