all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Drew Adams <drew.adams@oracle.com>
To: Juri Linkov <juri@linkov.net>
Cc: bruce.connor.am@gmail.com, emacs-devel@gnu.org,
	monnier@iro.umontreal.ca, kaushal.modi@gmail.com,
	Eli Zaretskii <eliz@gnu.org>,
	stephen@xemacs.org
Subject: RE: Displaying the state of isearch toggles [was Re: ASCII-folded search]
Date: Mon, 29 Jun 2015 15:26:53 -0700 (PDT)	[thread overview]
Message-ID: <d9b5bdf0-9a8f-48b8-b24f-1b7ead67220f@default> (raw)
In-Reply-To: <87h9pq18ae.fsf@mail.linkov.net>

> >    We want to be able to show such things either (a) on demand or
> >    (b) directly-&-always.  And we want to give users a way to
> >    toggle each attribute individually (toggle if binary, cycle if
> >    multi-valued).
> 
> Do we want to go down this path?

IMO, no.  I made that point when I said that that is the kind of
UI that other apps use, and which can allow you to unambiguously
search, for example, for `foo' only within a code segment (e.g.
inline code) and not within the accompanying text - or vice versa.

We should (and we do) provide the same power from the keyboard,
with interactive search.  (I have nothing against *also* offering
a dialog-box interface, but that should not be the main approach
or the goal.)

What I meant in the text cited is that we can indicate the exact
current search state and let users modify it interactively:

1. On demand info (e.g., pop up a help window when you hit a key -
   either one window with all the info or separate help echoes for
   different keys).

   Currently, for example, you can hit `M-c` to see the echo message
   telling you the (new) state wrt case sensitivity.  So `M-c M-c`
   is a no-op that tells you the current state.  That's a rudimentary
   way to see the case-sensitivity state, but it works, and is quick.

   With multiple state qualities (and we already have a few), it can
   be more useful to provide a state-info key that shows you more
   info on demand.

2. Persistent feedback showing the current state.  This is possible
   for at least some of the more important state qualities.  I gave
   some examples using the mode-line lighter.  We can easily show
   case, regexp, wrapping, and overwrapping now - you can see an
   example in Isearch+.

3. Toggling of individual state attributes.  One suggestion is to
   use the lighter (minor mode) menu for this.  For those who
   want to use the keyboard and not bother with a menu, we can
   provide toggle keys - put them all on the same prefix key, for
   instance.  (And of course the menu would show the keys bound
   to the same actions.)

   Another suggestion wrt individual toggles was to have a one-char
   button for each in the mode line.  This would not be my choice,
   I think, but it is another possibility.

In sum, I'd suggest that we stick close to the traditional Emacs
design: provide keyboard toggle keys, pop up info windows, etc.
And I'd suggest using the lighter to (a) indicate some state and
(b) provide a menu that gives you more info and lets you change
state.



  reply	other threads:[~2015-06-29 22:26 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <<CAAdUY-K3x4i+7wFvbEstvKVKuSZyM-DL4wB+Pe7ZbsHcVYXOfw@mail.gmail.com>
     [not found] ` <<831tgv7vbr.fsf@gnu.org>
2015-06-28 17:02   ` Displaying the state of isearch toggles [was Re: ASCII-folded search] Drew Adams
2015-06-28 17:29     ` Drew Adams
2015-06-29 22:03     ` Juri Linkov
2015-06-29 22:26       ` Drew Adams [this message]
2015-06-30 15:03         ` Eli Zaretskii
2015-06-30  2:43       ` Eli Zaretskii
2015-06-30  7:53         ` Oleh Krehel
     [not found]   ` <<ddcd0bf6-a60e-406b-a79d-088c13c2ac61@default>
     [not found]     ` <<87h9pq18ae.fsf@mail.linkov.net>
     [not found]       ` <<83a8vh5316.fsf@gnu.org>
2015-06-30  4:39         ` Drew Adams
2015-06-30  6:25           ` Artur Malabarba
2015-06-30 14:04             ` Drew Adams
2015-06-30 14:41               ` Artur Malabarba
2015-06-30 15:06           ` Eli Zaretskii
     [not found]         ` <<9da72b40-0236-4edd-983e-90c54ca7f827@default>
     [not found]           ` <<83616544o3.fsf@gnu.org>
2015-06-30 17:17             ` Drew Adams
     [not found]       ` <<d9b5bdf0-9a8f-48b8-b24f-1b7ead67220f@default>
     [not found]         ` <<837fql44s9.fsf@gnu.org>
2015-06-30 17:14           ` Drew Adams
2015-06-30 17:22             ` Eli Zaretskii
2015-06-28 10:47 Artur Malabarba
2015-06-28 14:37 ` Eli Zaretskii
2015-06-28 15:08   ` Kaushal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d9b5bdf0-9a8f-48b8-b24f-1b7ead67220f@default \
    --to=drew.adams@oracle.com \
    --cc=bruce.connor.am@gmail.com \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=juri@linkov.net \
    --cc=kaushal.modi@gmail.com \
    --cc=monnier@iro.umontreal.ca \
    --cc=stephen@xemacs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.