Subject: RE: bug#32106: 25.2: tabulated-list-resize-current-column [PATCH INCLUDED]

From: Drew Adams <[email-masked]>
Date: Mon, 24 Jun 2019 08:51:04 -0700 (PDT)

> Looks good.  I've now added some documentation and then pushed these
> changes to the trunk.
> 
> Finding the right key pair to bind these one was a struggle, though.
> w/n would be natural for widen/narrow, right?  But n is taken.  So I
> thought e/s for expand/shrink?  s is taken in *Buffer List* buffers,
> which is probably the most prominent use case for the mode.
> 
> So I went with w/c for widen/contract, but that's a bit eh...
> 
> Bikeshedding is welcome!

FWIW, I'm not sure these commands should be bound
by default.  `tabulated-list-mode' is a helper mode.
It's used by other modes (user-defined major modes)
to build specific kinds of tables.

Of course, you can say that if we bind, say, `+'
and `-' in `tabulated-list-mode' then a mode that
derives from it can always rebind such keys.  And
`t-l-m' already binds some keys, as does its parent
mode, `special-mode'.

Still, I'm not sure binding more keys in `t-l-m' is
a good idea.  (I don't oppose it; just not convinced.)
In its defense, users can get used to such keys that
then work (by default) across all or most uses of
`t-l-m'.

If you do decide to bind these commands in `t-l-m'
then I'd suggest that the two keys be _obvious_
opposites (so, maybe not `w' and `c').  It's not
important that they be easy to type (e.g., they can
use modifiers), but it's helpful if their keys are
repeatable (by just pressing and holding).

FWIW, I used `+' and `-' for the same purpose in
my library `buff-menu+.el' (which I had to abandon
when `buff-menu.el' moved to use `t-l-m', as `t-l-m'
is too simplistic and rigid for some `buff-menu+.el'
features).