Subject: RE: [External] : Re: bug#16403: Rectangular selection visually disturbing

From: Drew Adams <[email-masked]>
Date: Thu, 6 Mar 2025 17:19:00 +0000

> > IOW, have an option for the highlighting behavior
> > when zero columns are selected:
> >
> >  1. No highlighting (no thin space, so no apparent
> >     movement).
> >     E.g., numeric value N, for highlighting after
> >     N seconds.  (0 means what you suggested.)
> >  2. Highlighting with face `region'.
> >     E.g., value nil.
> >  3. Highlighting with another face.
> >     E.g., value that face.
> 
> Should this option be applied to the non-rectangular empty region
> as well?  I.e. as soon as you type 'C-SPC' should it indicate
> with the same narrow line that the selection is activated?
> Or maybe such indication is not necessary if an empty region
> is ignored anyway when use-empty-active-region is nil?

I wouldn't do that.  If you want some such behavior
for nonrectangular regions I'd suggest a separate
option.  What's best for one isn't necessarily best
for the other.  A vertical line makes sense for a
rectangular region.

(FWIW, a horizontal line would also have made sense.
It could even make sense to use both vertical and
horizontal.  But no one has implemented adding a
thin horizontal line.)

I don't think `use-empty-active-region' should have
any bearing on whether to show an indication of the
rectangular region being empty.  I think indication
is just as useful - nay, more useful, when that
option is non-nil.  You want to know when the region
(mark) is active.
___

FWIW:

When the region is active, `modeline-region-mode'
shows, in the mode-line, info about the region,
taking the place of the `mode-line-position' info.

Option `mlr-region-style' says what kind of info:

* `Characters'.  Number of characters in region or rectangle.

* `Bytes'.  Number of bytes in region or rectangle.

* `Lines (& words) & chars / rows & columns (& words & chars)'.
  For a regular region, you see lines and characters.
  For a rectangular region you see rows and columns.

  This can optionally include words for region and words & chars for
  rectangle: see options `mlr-non-rectangle-style' and
  `mlr-rectangle-style'.

  To change the concrete formatting used, change variables
  `mlr-lines+chars-format', `mlr-lines+words+chars-format',
  `mlr-rows+cols-format', and `mlr-rows+cols+words+chars-format'.

* `Customized format'.  An arbitrary format you specify.

By default, for a rectangular region you see the
number of rows and columns.

That mode-line active-region indication text has face
`mlr-region', which by default looks the same as face
`region', so it's quite apparent when the region is
active.

What's more, when you use a command, such as
`query-replace', that's known to use the active region,
face `mlr-region-acting-on' is used, to draw attention
to this fact.  By default, this looks the same as face
`region', but with a red overline & underline.

https://www.emacswiki.org/emacs/ModeLineRegion

https://www.emacswiki.org/emacs/modeline-region.el