This is a feature request.
instead of 4. there is a warning message like "could not find an entry with matching window title", which can only be dismissed with "OK".
git, which displays entries for github and gitlab, then use the arrow keys to select the one you want, then press enter to select & auto-type it.I like this proposal. I have several websites that I work on and have the same user/password to all of them. This way I can have the same credentials in the same entry.
@schiorean Alternatively you can consider using #370 that is merged in develop
Thanks will check it. When will #370 be released officially?
EDIT: I still think it's a good idea to have the possibility to choose if no entry found.
We don't have a release schedule for 2.2.0 yet.
I really think this feature is very important, since many websites have the GENIUS idea to name their login pages "Login" or "Sign-in". And there goes auto-type. Fantastic!
To keep things simple I would just show the select entry dialog as if it found an entry but without any entry and have a search field which provides the search text instead of window title.
So all code is same I would say except the search text comes from search field instead of window title.
I think I'm starting to like this, with an option in the settings the "Select Entry Dialog" will show every entry in the database with autotype enabled and letting user search and select an entry.
In some database there will be lot of entry with autotype enabled but the search feature can help.
any updates on this?
keeweb's desktop client already does this, would be great if it was added to keepassxc
Is this being worked on by anyone? If not, I would love to start on it this week.
Right now, I have the autotype dialog showing all entries if there are no matches, and I'm about to get started on the search functionality. I was wondering if it would be okay to also add the search to the regular autotype entry select dialog if it is tasteful and non-intrusive? That way, each case can use the same widget.
Also, would you be okay with a checkbox in the widget (for when its shown with the all entries mode) that says something like "Create autotype association for '${WINDOW_TITLE}' in selected entry"? Or, this could instead be a dialog: "Create autotype association for '${WINDOW_TITLE}' in ${ENTRY}? [Yes] [No]"
Yes please reduce variability. You can and should reuse the search widget and entry searcher
Any updates @kneitinger ?
@keckelt Coming along :slightly_smiling_face:
I have a basic mechanism working, but there are still a few tasks left for it, as well as cleaning up the solution.

Sorry for this work stalling out for a month, holidays followed by my workplace getting acquired led to an interesting and busy month. Picking this back up now :+1:
any good news @kneitinger ?
@zeteref It's going well! I just performance tested it on a 2000 entry database. Populating the window and searching were both perceptually instant :slightly_smiling_face:. Also, I've unconditionally added the search to the AutoTypeSelectDialog, so even if matches were found for your window, you can still search through them if you'd like.
@droidmonkey since you've worked quite extensively on the EntrySearcher, I have a question for you. Currently, the EntrySearcher does not search through auto type sequences, which makes total sense when searching in the database tab. I was wondering what your thoughts are on adding AutoTypeSequences as a Field that is _optionally_ searchable...
The use case I see for this is enabling very quick keyboard usage in the autotype select window. Imagine the case where you're trying to log in to Gmail... sometimes it asks for username/pw, sometimes username/pw/otp, sometimes just pw, and sometimes pw/otp.
Imagine for this window title, the matching entry/sequences are:
GMail - {USERNAME}{ENTER}{PASSWORD}{ENTER}
GMail - {PASSWORD}{ENTER}
GMail - {TOTP}{ENTER}
GMail asks for username (and obv password), then after that it decided it was feeling an OTP today. The user can very quickly do:
_(Assume the global autotype shortcut is Alt+K)_
U
S
E
Enter
Alt+K
O
T
P
Enter
without having to read the entries very carefully.
One way I can see this happening non-obtrusively is to have a default setting where existing searches avoid autotype sequences, with the setting being changed via an optional constructor param:
EntrySearcher(bool caseSensitive = false, bool searchAutoTypeSeqs = false);
How do you feel about that?
You can just add Auto-Type as a search field (eg, autotype:"sequence")
@kneitinger sounds great - and addition of searching through auto type sequences is making this feature even more usefull. Can't wait to test it!
Happy to hear that! Functionally, I'm quite happy with it, and now I'm working on usability/UX of it, mainly in the context of reasonable and useful keyboard interaction.
What I'm going for is:
It's close, but there are a couple of those cases that aren't _quite_ right yet.
seems reasonable.
I'm very curious as to the results - if you want and your changes are public i'll be happy to test it ;)
This is the only feature which keeps me from changing to keepassxc.
Any news @kneitinger?
This feature is easily overcome by just defining window associations with the entries. You can use wildcards to make matching more forgiving.
While this is true for the given use case above, what about auto-typing e.g. in the terminal? It is nice to have a filterable list coming up from where one can choose the right entry. Or other non-simple to distinguish windows.
Sure, I could put for every possible password which could become useful at some point a general wildcard, but that doesn't seem to be very flexible to me.
Alternatively you can raise the keepassxc window, Ctrl+F, search query, Ctrl+Shift+V to type into the terminal. There are alternatives before this is implemented.
Thanks, yes that would help. Nonetheless, I think a lightweight search/filter popup window from a global short cut would be a nice feature.
If @kneitinger would share his code I could have a look and see what needs to be done to get it integrated.
Sorry for the lack of communication folks!
I'll clean up and update what I have in my branch in the next couple of days and push it up. If I remember correctly, I left off with some GUI and keyboard input issues (e.g. enter/arrows/etc working intuitively) being all that remains. I'll check in in the coming days if I need help with figuring those out, but either way I'll link to my branch :heart:
When I was merging develop into my branch, I was getting a lot of conflicts around filters. Looked it up, and #2955 implements the points I mentioned having trouble with in my last message! It will be very easy to finish up the loose ends of this feature with that box implemented.
I uploaded my (now tiny!) code to accomplish this. It appears to work very well, but I would like to do some more manual testing. Additionally, I still have to update the TestAutoType::testGlobalAutoTypeTitleMatchDisabled() test (and possibly others), which is failing due to the behavior changes introduced :+1:
Thank you, @kneitinger, I'm excited for this feature! In my case, I mostly need this feature not only when there are zero results, but mostly when there are some but not the right one. Could this feature to search over global database be something that's available all the time? What do you think?
Agree with @hfr-hfr .
A setting to toggle this that feature on/off would be perfect not cause any troubles to whoever is used to the classic keepass/keepassxc. Something like "always manually select entry on auto-type".
@kneitinger any news?
This is the only reason I still use old school Keepass. Auto-type fails just often enough that it makes me question whether I should ever bother using it at all, so I end up just copy pasting from the table even if auto-type would have worked.
You should invest some time in cleaning up your window associations if you keep having problems. I never have a problem with Auto-Type since I set it up. Please read our documentation if you need help: https://keepassxc.org/docs/KeePassXC_UserGuide.html#_auto_type
@droidmonkey, just for the sake of this thread, can you assume that there exist people who don't want to fully rely on window titles? Every such person has several unique reasons they don't want to do that, and I'm one of those people.
There's a beautiful search window that you've mentioned in #4053. What stops you from adding another user-configurable global hotkey, which would bring up this search window with all entries inside, so user can filter an entry they want to use? Or, as the OP suggested, show it instead of a message box?
I can think about a workaround for that by assigning "*" as a window association to all entries in the database and it would work for this particular scenario, but it will fail in case some people still would want to use window association for some of their passwords.
One example is terminal window. Its title is username + server name + working dir. How can I use matching window names with this one? Considering usernames differs from server to server and this case is the most used, perhaps dozens times a day
For me the ideal workflow (which not even Keepass supports afaik) is:
Ctrl-Alt-A to attempt auto-fill, if no match is found, pop up a search box to manually select an entry from the DB. Once selected, auto-fill that entry.Ctrl-Alt-Shift-A don't even attempt auto-fill, just pop up the search box. This would be useful for when I already know it won't find a match automatically, or don't want to risk a false match.I'm not saying this feature doesn't have merit....
Why not continue using entry level autotype?
Entry-level autotype is indeed a solution, but global autotype is more fancy and fluent in my opinion.
It would be just a few simple steps with global autotype:
How this looks like currently with the entry-level autotype:
I personally find 1.2, 2 and 4.2 particularly annoying...
Of course, the other solution is to get your window associations right, but, as mentioned before as well, depending on the use-case it might not always be possible/user-friendly. If you really have to autotype most of your entries into multiple different windows/apps, then you might just end up putting a "*" association for all your entries one-by-one. (For example you might need to autotype GitHub in Mozilla Firefox, but sometimes also Chromium, favorite IDE, Console, VirtualBox, etc. The same applies to credit-cards.)
After a while you give up thinking for which entries you had a correct window association _in relation to_ the current window and stop using global autotype entirely :/
What do you think?
Of course, the other solution is to get your window associations right, but, as mentioned before as well, depending on the use-case it might not always be possible/user-friendly. If you really have to autotype most of your entries into multiple different windows/apps, then you might just end up putting a
"*"association for all your entries one-by-one. (For example you might need to autotype GitHub in Mozilla Firefox, but sometimes also Chromium, favorite IDE, Console, VirtualBox, etc. The same applies to credit-cards.)
@vetko, keep in mind that if you put an asterisk in at least one entry, you'll "break" the intended functionality of auto-type and in the scope of your database you'll never be able to perform auto-type without search box even if you configured other associations properly - those entries with "*" will always match. So as I mentioned in my previous post, this workaround will work only for some cases where people fully rely on searching and will sacrifice the automation part of auto-typing.
However, your explanation of the entry-level vs global-level auto type is really great and if it doesn't convince the developer to act, I really don't know what could make it ;)
For me the ideal workflow (which not even Keepass supports afaik) is:
...
Ctrl-Alt-Shift-Adon't even attempt auto-fill, just pop up the search box. This would be useful for when I already know it won't find a match automatically, or don't want to risk a false match.-- @gregzaal
no, KeePass uses Ctrl+Alt+Shift+A differently; they only auto-type the password in this case. Please don't use that same shortcut for something different.
For me the ideal workflow (which not even Keepass supports afaik) is:
* `Ctrl-Alt-A` to attempt auto-fill, if no match is found, pop up a search box to manually select an entry from the DB. Once selected, auto-fill that entry. * `Ctrl-Alt-Shift-A` don't even attempt auto-fill, just pop up the search box. This would be useful for when I already know it won't find a match automatically, or don't want to risk a false match.
I'm doing exactly this with the AutoTypeSearch plugin in keepass2, in my case it's Ctrl-Alt-S and gives exactly the desired functionality. So it would be awesome to get this build-in into keepassxc.
I like this idea
Most helpful comment
I uploaded my (now tiny!) code to accomplish this. It appears to work very well, but I would like to do some more manual testing. Additionally, I still have to update the
TestAutoType::testGlobalAutoTypeTitleMatchDisabled()test (and possibly others), which is failing due to the behavior changes introduced :+1: