Re: Commit: A boat load of things

Subject: Re: Commit: A boat load of things
From: Paul Rohr (
Date: Fri Mar 09 2001 - 14:47:12 CST

At 08:56 PM 3/8/01 +0000, wrote:
>I think that it *might* not be to expensive to add a check whether the word
>exists in the ingored words list.
>If it did, then add option unignore. That way...
> what you see what you get
> ------------ ------------
> squiggled text a menu of ways to get rid of it
> text, no squiggle a menu of ways to copy or format it.
> if it is an ignorable world, provide way to unIgnore
>Why do I think it might not be too hard? Because ignorable words doesn't
>seem like a big list to me, in most common cases.
>An exception or two might happen, but then, it's probably better to have
>your own custom dictionary added to the one in your language selection.
>What about this?

Nope. In fact, it could be terribly expensive. To see why, do a tree-wide
grep for the view's getMouseContext() method, which is where this logic
would go. This method is called for two purposes:

  - deciding which context menu to raise (pretty rare), and
  - deciding which cursor to use (very, very frequent).

"But Paul," you say, trying to be clever, "*why* do we need to make that
decision inside this call? Couldn't we defer the decision of which menu to
use until later? For example, the squiggles get dynamically populated using
code *you* wrote."

The reason is that we currently have no good way to cleanly *omit* an item
entirely from a menu.

It makes total sense to have "Ignore All" (or conceivably even "Ignore") as
an item on a throwaway menu in squiggle contexts, since everything on that
menu is about getting rid of that squiggle so you can see the "real" menu.

People are arguing that it makes sense to have an extra menu appear on
ignored words which either says "Unignore" or has a checkmark next to
"Ignored". That feels wrong to me, but it does at least make a certain sort
of twisted sense. I really don't like it, but I could probably live with

The idea I absolutely hate is the thought of a similar item appearing on the
*normal* context menu in normal cases, which either has a grayed-out
"unIgnore" or an unchecked "Ignored". Both of those are just asking for
confusion. That's an unacceptable cost for such a marginally useful

GUI fanatic

This archive was generated by hypermail 2b25 : Fri Mar 09 2001 - 14:39:36 CST