Subject: bug#8492: 23.3; Time to use a different binding for completion?

From: Reuben Thomas <[email-masked]>
Date: Wed, 20 Apr 2011 12:54:56 +0100

On 19 April 2011 11:52, Andrew W. Nosenko <[email-masked]> wrote:
> On Wed, Apr 13, 2011 at 20:26, Reuben Thomas <[email-masked]> wrote:
>> Emacs binds various completion functions to M-Tab, which is already used
>> by many window managers, including Compiz and Metacity, i.e. the WMs one
>> is likely to use on a modern GNU system, for switching between open
>> windows.
>
> Unable to say anything about Compiz, but Metacity binds nothing to
> M-Tab (moreover, it binds nothing to Meta-combinations at all).  For
> switching between windows it uses Alt-Tab.

I'm sorry, I was imprecise.

> Another problem is that in many Linux distros Meta and Alt bound the
> same physical key by default.  But they may be easy splited using
> keyboard preferences.

This is the problem: unusable defaults. I'm asking if we can have a
usable default setting.

One could argue that it should be X's defaults that are fixed, but
that seems rather less likely to happen. So it seems there are three
options:

0. Do nothing, arguing that users can always configure things so they
work. That would be a pity, as for every user who has the knowledge
and patience (remember also advanced users who want to use Emacs on a
new account on a new machine), there will be several who just give up,
so that either they don't use Emacs, or they find it less powerful
than it is.

1. Convince X packagers to bind Meta and Alt to different keys. That's
a hard sell, though the purist in me does agree that window-manager
operations should not use a key that is commonly used for application
shortcuts. (In the past I've made my WM use the Windows key for its
bindings, which seems rather more logical, but that's a change which
is not going to stick as a default.)

2. Add a default binding for completion that works with Meta & Alt on
the same key. (No need to remove the existing binding.) The problems
with simply using Tab have already been expounded, though that's a
nice option to have (especially if you're not a Python programmer!).

-- 
http://rrt.sc3d.org