Bug 3024 - Address autocomplete without tabs and inline
Summary: Address autocomplete without tabs and inline
Status: NEW
Alias: None
Product: Claws Mail (GTK 2)
Classification: Unclassified
Component: UI/Compose Window (show other bugs)
Version: 3.9.2
Hardware: PC Linux
: P3 enhancement
Assignee: users
URL:
Depends on:
Blocks:
 
Reported: 2013-10-24 18:30 UTC by Ian Nartowicz
Modified: 2019-03-29 20:48 UTC (History)
2 users (show)

See Also:


Attachments
Completion window shows automatically when the address field is non-empty. Completion window can be hidden by pressing escape or clicking with the mouse on some other field. (6.77 KB, patch)
2019-03-29 20:48 UTC, Martin Kunev
no flags Details | Diff

Description Ian Nartowicz 2013-10-24 18:30:22 UTC
Currently address autocomplete produces a popup offering known email address only when the tab key is pressed.  Apart from not being easily discoverable, this is confusing and clunky in a GUI (although I love it on the command line!).

Ideally the popup would appear automatically (optionally?) when characters (a certain number, or after a certain delay?) are typed.

It would also be helpful for the first found address to be filled in without having to select from the dropdown list.  Non-typed portions of the address would be already selected so that they don't interfere with further typing.

Since this has to be one of the most used functions in an email client, even small improvments are valuable.
Comment 1 Ian Nartowicz 2013-10-24 18:41:49 UTC
Perhaps I should have explained better what I meant by clunky and confusing.  As an example, (almost) everyone knows that tab will move from one field to another when filling in data in an online form, and it does this in Claws too.  Try typing an email address (complete and correct) in the Claws compose window, then hit tab to move on.  It doesn't move on.  Instead something else happens, something unhelpful.  In the case where the dropdown contains only one entry exactly matching the typed email address, it is particularly unhelpful ;)
Comment 2 Brian Morrison 2013-10-24 19:14:32 UTC
Tab is a very familiar auto-complete key if you come from a Unix background, it's what the shell uses for command auto-completion. Claws originated in a *nix environment and the Windows port was originally intended to allow Claws users to keep using Claws.

I don't know how easy it would be for the developers to change this behaviour or indeed make the mechanism to enable it selectable. Historically they are not big fans of additional config options.
Comment 3 Ian Nartowicz 2013-10-24 20:14:48 UTC
I know, Brian, you're preaching to the choir here.  Brilliant on the command line, but still weird in a GUI.  I can't think of a single other Linux app that tries this, and quite a few that stick to something more usable.  I'd like to think the new behaviour would be so great that nobody could possibly want to turn it off, but that's always difficult when people have had years getting used to something different.
Comment 4 Pranesh Prakash 2014-01-05 18:16:16 UTC
+1

In shell environments, drop-down selection menus are not possible, while they are in GUI.  This is one instance where using the potential of GUI makes a positive addition to the user experience and makes it more intuitive, while sticking to the shell paradigm detracts from it.

As Ian has explained, using tab for this "discovery" functionality also interferes with moving from one field to another, and also makes it opaque and keeps the autocomplete feature hidden from those who don't already know of its existence.  In fact, I myself had to search online whether address autocompletion exists in Claws before realizing that one had to press tab.  (And I'm speaking as someone who is shifting to Claws from Mutt and Thunderbird.)

Ideally, the dropdown would also use an internal frequency counter to present the most-used address before other matches for the same substring.
Comment 5 Martin Kunev 2019-03-10 20:25:38 UTC
+1

The way a graphical interface is used quite different from the way a command-line interface is used (this is kind of the point of graphical user interfaces). While on the command line tab usually means auto-completion, in a GUI it usually means "switch to next field".

All other GUI clients I've used display a dialog automatically (without the need to press tab) and doing the same here will make the GUI more intuitive and ease the transition for people starting to use claws.
Comment 6 Martin Kunev 2019-03-29 20:48:21 UTC
Created attachment 1969 [details]
Completion window shows automatically when the address field is non-empty. Completion window can be hidden by pressing escape or clicking with the mouse on some other field.

I have created a patch for this issue. I followed the Patch guidelines however some code that I haven't modified in the same file causes warnings.

I'm attaching the patch. Please give me feedback if anything needs improvement.

Patch description:
Completion window shows automatically when the address field is non-empty. Completion window can be hidden by pressing escape or clicking with the mouse on some other field.

Note You need to log in before you can comment on or make changes to this bug.