unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Unuseful keybindings
@ 2012-12-18 13:00 Thierry Volpiatto
  2012-12-18 13:36 ` Andreas Schwab
                   ` (2 more replies)
  0 siblings, 3 replies; 76+ messages in thread
From: Thierry Volpiatto @ 2012-12-18 13:00 UTC (permalink / raw)
  To: emacs-devel

Hi,
I saw there is new keybindings in emacs-24.3:
<f11> and S-<f11>
Is it really necessary?

These commands (and also C-z since ages) IMHO, are unuseful as modern
windows managers are able to handle this.
e.g in xfce:
M-<f10> and M-<f9>

-- 
  Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997 




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-18 13:00 Unuseful keybindings Thierry Volpiatto
@ 2012-12-18 13:36 ` Andreas Schwab
  2012-12-18 14:48   ` Thierry Volpiatto
  2012-12-18 13:40 ` Xue Fuqiao
  2012-12-18 17:41 ` Eli Zaretskii
  2 siblings, 1 reply; 76+ messages in thread
From: Andreas Schwab @ 2012-12-18 13:36 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: emacs-devel

Thierry Volpiatto <thierry.volpiatto@gmail.com> writes:

> I saw there is new keybindings in emacs-24.3:
> <f11> and S-<f11>
> Is it really necessary?

You don't have to use them.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-18 13:00 Unuseful keybindings Thierry Volpiatto
  2012-12-18 13:36 ` Andreas Schwab
@ 2012-12-18 13:40 ` Xue Fuqiao
  2012-12-18 17:41 ` Eli Zaretskii
  2 siblings, 0 replies; 76+ messages in thread
From: Xue Fuqiao @ 2012-12-18 13:40 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: emacs-devel

On Tue, 18 Dec 2012 14:00:14 +0100
Thierry Volpiatto <thierry.volpiatto@gmail.com> wrote:

> These commands (and also C-z since ages) IMHO, are unuseful as modern
> windows managers are able to handle this.
> e.g in xfce:
> M-<f10> and M-<f9>
What about MS Windows?

And modern OS also have input method, calendar, shell(especially in Unix-like systems), and Tetris.  But they are also in Emacs.

-- 
Best regards, Xue Fuqiao.
http://www.emacswiki.org/emacs/XueFuqiao



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-18 13:36 ` Andreas Schwab
@ 2012-12-18 14:48   ` Thierry Volpiatto
  2012-12-18 16:58     ` Sam Steingold
  2012-12-18 19:30     ` Mathias Dahl
  0 siblings, 2 replies; 76+ messages in thread
From: Thierry Volpiatto @ 2012-12-18 14:48 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: emacs-devel

Andreas Schwab <schwab@linux-m68k.org> writes:

> Thierry Volpiatto <thierry.volpiatto@gmail.com> writes:
>
>> I saw there is new keybindings in emacs-24.3:
>> <f11> and S-<f11>
>> Is it really necessary?
>
> You don't have to use them.
Sure but this make the prefix f11 unavailable for more useful purpose, I
must disable it at start of .emacs, which is annoying.
Same for C-z but it is disabled since long time now. 

-- 
  Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997 



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-18 14:48   ` Thierry Volpiatto
@ 2012-12-18 16:58     ` Sam Steingold
  2012-12-18 19:30     ` Mathias Dahl
  1 sibling, 0 replies; 76+ messages in thread
From: Sam Steingold @ 2012-12-18 16:58 UTC (permalink / raw)
  To: emacs-devel

> * Thierry Volpiatto <guvreel.ibycvnggb@tznvy.pbz> [2012-12-18 15:48:03 +0100]:
>
> Sure but this make the prefix f11 unavailable for more useful purpose, I
> must disable it at start of .emacs, which is annoying.
> Same for C-z but it is disabled since long time now.

Any UI choice is a trade-off.
I am sorry you are on the loosing side of C-z and f11.
I am on the loosing side of removing z from special-mode-map myself,
so I know how you feel.
Both of us will have to get over it.

-- 
Sam Steingold (http://sds.podval.org/) on Ubuntu 12.04 (precise) X 11.0.11103000
http://www.childpsy.net/ http://palestinefacts.org
http://jihadwatch.org http://honestreporting.com http://www.memritv.org
Live Lisp and prosper.




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-18 13:00 Unuseful keybindings Thierry Volpiatto
  2012-12-18 13:36 ` Andreas Schwab
  2012-12-18 13:40 ` Xue Fuqiao
@ 2012-12-18 17:41 ` Eli Zaretskii
  2012-12-18 17:49   ` Thierry Volpiatto
  2 siblings, 1 reply; 76+ messages in thread
From: Eli Zaretskii @ 2012-12-18 17:41 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: emacs-devel

> From: Thierry Volpiatto <thierry.volpiatto@gmail.com>
> Date: Tue, 18 Dec 2012 14:00:14 +0100
> 
> I saw there is new keybindings in emacs-24.3:
> <f11> and S-<f11>

How do you see them?  My Emacs v24.2.91 says they are both undefined.
Care to provide more details?



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-18 17:41 ` Eli Zaretskii
@ 2012-12-18 17:49   ` Thierry Volpiatto
  2012-12-18 19:10     ` Eli Zaretskii
  0 siblings, 1 reply; 76+ messages in thread
From: Thierry Volpiatto @ 2012-12-18 17:49 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Thierry Volpiatto <thierry.volpiatto@gmail.com>
>> Date: Tue, 18 Dec 2012 14:00:14 +0100
>> 
>> I saw there is new keybindings in emacs-24.3:
>> <f11> and S-<f11>
>
> How do you see them?  My Emacs v24.2.91 says they are both undefined.
They are in emacs 24.3.0.50 (trunk) See News file.

> Care to provide more details?

-- 
  Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997 



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-18 17:49   ` Thierry Volpiatto
@ 2012-12-18 19:10     ` Eli Zaretskii
  0 siblings, 0 replies; 76+ messages in thread
From: Eli Zaretskii @ 2012-12-18 19:10 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: emacs-devel

> From: Thierry Volpiatto <thierry.volpiatto@gmail.com>
> Cc: emacs-devel@gnu.org
> Date: Tue, 18 Dec 2012 18:49:11 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> From: Thierry Volpiatto <thierry.volpiatto@gmail.com>
> >> Date: Tue, 18 Dec 2012 14:00:14 +0100
> >> 
> >> I saw there is new keybindings in emacs-24.3:
> >> <f11> and S-<f11>
> >
> > How do you see them?  My Emacs v24.2.91 says they are both undefined.
> They are in emacs 24.3.0.50 (trunk) See News file.

I was confused by "emacs-24.3", which should be reserved to the
emacs-24 branch.  The trunk will be emacs-24.4 at least.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-18 14:48   ` Thierry Volpiatto
  2012-12-18 16:58     ` Sam Steingold
@ 2012-12-18 19:30     ` Mathias Dahl
  2012-12-18 19:37       ` Thierry Volpiatto
  2012-12-19  0:27       ` Drew Adams
  1 sibling, 2 replies; 76+ messages in thread
From: Mathias Dahl @ 2012-12-18 19:30 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: Andreas Schwab, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 741 bytes --]

Can't you just rebind these keys? I mean, you would have to do that anyway,
to use them for your purposes, right?


On Tue, Dec 18, 2012 at 3:48 PM, Thierry Volpiatto <
thierry.volpiatto@gmail.com> wrote:

> Andreas Schwab <schwab@linux-m68k.org> writes:
>
> > Thierry Volpiatto <thierry.volpiatto@gmail.com> writes:
> >
> >> I saw there is new keybindings in emacs-24.3:
> >> <f11> and S-<f11>
> >> Is it really necessary?
> >
> > You don't have to use them.
> Sure but this make the prefix f11 unavailable for more useful purpose, I
> must disable it at start of .emacs, which is annoying.
> Same for C-z but it is disabled since long time now.
>
> --
>   Thierry
> Get my Gnupg key:
> gpg --keyserver pgp.mit.edu --recv-keys 59F29997
>
>

[-- Attachment #2: Type: text/html, Size: 1377 bytes --]

^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-18 19:30     ` Mathias Dahl
@ 2012-12-18 19:37       ` Thierry Volpiatto
  2012-12-22  3:22         ` Chong Yidong
  2012-12-19  0:27       ` Drew Adams
  1 sibling, 1 reply; 76+ messages in thread
From: Thierry Volpiatto @ 2012-12-18 19:37 UTC (permalink / raw)
  To: Mathias Dahl; +Cc: Andreas Schwab, emacs-devel

Mathias Dahl <mathias.dahl@gmail.com> writes:

> Can't you just rebind these keys? I mean, you would have to do that anyway,
> to use them for your purposes, right?
Of course it is the first thing I did.
The f11 have to be disabled first though.

-- 
  Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997 



^ permalink raw reply	[flat|nested] 76+ messages in thread

* RE: Unuseful keybindings
  2012-12-18 19:30     ` Mathias Dahl
  2012-12-18 19:37       ` Thierry Volpiatto
@ 2012-12-19  0:27       ` Drew Adams
  2012-12-19  6:32         ` Thierry Volpiatto
  2012-12-19 16:43         ` Leo
  1 sibling, 2 replies; 76+ messages in thread
From: Drew Adams @ 2012-12-19  0:27 UTC (permalink / raw)
  To: 'Mathias Dahl', 'Thierry Volpiatto'
  Cc: 'Andreas Schwab', emacs-devel

> Can't you just rebind these keys? I mean, you would
> have to do that anyway, to use them for your purposes, right?

Yes, but the fact that users can do that is never a good enough reason _on its
own_ for Emacs Dev to sacrifice a particular key sequence for a default binding.

For one thing, the very fact that there exists a default key binding sometimes
dissuades libraries from binding the key sequence, because some user will holler
bloody hell that the library steps on a default key binding, even if using the
library is a voluntary act, and even if the user can override the library
binding.

No, there is nothing wrong with a user or a library doing that, but some people
overly respect what they see as the established order, even though Emacs points
out in its doc that you are free to customize etc.  Somehow, default key
bindings can tend, for some people, to take on a sacred aura.

An additional rationale was given in this case, however, I believe.  IIRC
(excuse me if I remember incorrectly), this was it: many people use it outside
Emacs for the same (or a similar) thing.

I find that particular rationale quite weak, if it stands alone.  Yes, it has
_some_ merit, but there can be much stronger, internal-consistency or
user-behavior reasons for Emacs to bind a given key sequence by default.

For one thing, a key such as `f11' is repeatable, so it is preferable not to
waste it on a command/action that is not repeatable by just holding down the
key.  Most possible key sequences (e.g. `C-x r l') are not repeatable, and we
should make best use of those that are.  Repeatable keys are a scarce resource,
to be treasured and put to wise use.

We first went down this silly path when we bound `f3' and `f4' - not too long
ago.  That was a big mistake, IMHO.  Or was `f10' prior?

Well, you could even argue that the first such abuse was binding `f1', but there
are a lot more people who know and use `f1' for help outside Emacs than there
are that use `f11'.  Plus, `f1' is precisely for getting help.  There is a much
stronger case to be made for sacrificing `f1' than `f3', `f4', `f10', or `f11',
IMO.

It used to be that Emacs made an effort to stay away from binding function keys.
Alas, that boat sailed long ago.

>> You don't have to use them.
>
> Sure but this make the prefix f11 unavailable for more
> useful purpose...




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-19  0:27       ` Drew Adams
@ 2012-12-19  6:32         ` Thierry Volpiatto
  2012-12-19 16:43         ` Leo
  1 sibling, 0 replies; 76+ messages in thread
From: Thierry Volpiatto @ 2012-12-19  6:32 UTC (permalink / raw)
  To: Drew Adams; +Cc: emacs-devel, 'Andreas Schwab', 'Mathias Dahl'

"Drew Adams" <drew.adams@oracle.com> writes:

>> Can't you just rebind these keys? I mean, you would
>> have to do that anyway, to use them for your purposes, right?
>
> Yes, but the fact that users can do that is never a good enough reason _on its
> own_ for Emacs Dev to sacrifice a particular key sequence for a default binding.
>
> For one thing, the very fact that there exists a default key binding sometimes
> dissuades libraries from binding the key sequence, because some user will holler
> bloody hell that the library steps on a default key binding, even if using the
> library is a voluntary act, and even if the user can override the library
> binding.
>
> No, there is nothing wrong with a user or a library doing that, but some people
> overly respect what they see as the established order, even though Emacs points
> out in its doc that you are free to customize etc.  Somehow, default key
> bindings can tend, for some people, to take on a sacred aura.
>
> An additional rationale was given in this case, however, I believe.  IIRC
> (excuse me if I remember incorrectly), this was it: many people use it outside
> Emacs for the same (or a similar) thing.
>
> I find that particular rationale quite weak, if it stands alone.  Yes, it has
> _some_ merit, but there can be much stronger, internal-consistency or
> user-behavior reasons for Emacs to bind a given key sequence by default.
>
> For one thing, a key such as `f11' is repeatable, so it is preferable not to
> waste it on a command/action that is not repeatable by just holding down the
> key.  Most possible key sequences (e.g. `C-x r l') are not repeatable, and we
> should make best use of those that are.  Repeatable keys are a scarce resource,
> to be treasured and put to wise use.
>
> We first went down this silly path when we bound `f3' and `f4' - not too long
> ago.  That was a big mistake, IMHO.  Or was `f10' prior?
>
> Well, you could even argue that the first such abuse was binding `f1', but there
> are a lot more people who know and use `f1' for help outside Emacs than there
> are that use `f11'.  Plus, `f1' is precisely for getting help.  There is a much
> stronger case to be made for sacrificing `f1' than `f3', `f4', `f10', or `f11',
> IMO.
>
> It used to be that Emacs made an effort to stay away from binding function keys.
> Alas, that boat sailed long ago.

1+

-- 
  Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997 



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-19  0:27       ` Drew Adams
  2012-12-19  6:32         ` Thierry Volpiatto
@ 2012-12-19 16:43         ` Leo
  1 sibling, 0 replies; 76+ messages in thread
From: Leo @ 2012-12-19 16:43 UTC (permalink / raw)
  To: emacs-devel

On 2012-12-19 08:27 +0800, Drew Adams wrote:
>> Can't you just rebind these keys? I mean, you would
>> have to do that anyway, to use them for your purposes, right?
>
> Yes, but the fact that users can do that is never a good enough reason _on its
> own_ for Emacs Dev to sacrifice a particular key sequence for a default binding.
[snipped 45 lines]

+1
Well argued and speak from experience.

Leo




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-18 19:37       ` Thierry Volpiatto
@ 2012-12-22  3:22         ` Chong Yidong
  2012-12-22  4:39           ` Drew Adams
                             ` (2 more replies)
  0 siblings, 3 replies; 76+ messages in thread
From: Chong Yidong @ 2012-12-22  3:22 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: emacs-devel, Andreas Schwab, Mathias Dahl

Thierry Volpiatto <thierry.volpiatto@gmail.com> writes:

> Mathias Dahl <mathias.dahl@gmail.com> writes:
>
>> Can't you just rebind these keys? I mean, you would have to do that
>> anyway, to use them for your purposes, right?

> Of course it is the first thing I did.
> The f11 have to be disabled first though.

I don't know what you mean by that.  Rebinding the key is a single step;
you don't have to disable the default binding to rebind it.

As for the <f11> keybinding, AFAICT that is becoming the standard "full
screen" key in many applications; since we don't use it for anything
else, and it doesn't conflict with the existing Emacs user interface, it
is good to follow the convention.

But: why doesn't <f11> toggle a true full screen mode, at least on
platforms which support that?  That would be more useful, since ordinary
maximization can be done with window decorations anyway.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* RE: Unuseful keybindings
  2012-12-22  3:22         ` Chong Yidong
@ 2012-12-22  4:39           ` Drew Adams
  2012-12-22  5:09             ` Xue Fuqiao
  2012-12-22 21:24             ` Sebastien Vauban
  2012-12-22  7:42           ` Thierry Volpiatto
  2012-12-22  8:23           ` Juri Linkov
  2 siblings, 2 replies; 76+ messages in thread
From: Drew Adams @ 2012-12-22  4:39 UTC (permalink / raw)
  To: 'Chong Yidong', 'Thierry Volpiatto'
  Cc: 'Mathias Dahl', 'Andreas Schwab', emacs-devel

> As for the <f11> keybinding, AFAICT that is becoming the 
> standard "full screen" key in many applications;

So what?  Many applications are not Emacs.

And many applications do not use keys the same way.  Emacs uses all kinds of
keys in all kinds of ways.  Repeatable keys like `f11' are scarce resources.
Same for potential prefix keys.  Cherish them - you might need them someday.

Such virgin keys should not be squandered on whatever "many applications" might
be using them for today or whatever might seem to be "becoming the standard".
Not without other, better reasons.

In 1955, coonskin caps were becoming the standard for 5-year olds.  They had so
much fad power that they bought Walt his dreamt-of Disneyland.  Where is that
standard today?  Becoming the standard, indeed.

> since we don't use it for anything else,

Irrelevant.  We can and we might use it for something else someday.  Something
better.  Think of the future and leave room for it; leave its way open.

Don't jump at the first offer to swap your jewels for something standard.  Emacs
can be better than standard; it has always been so.

> and it doesn't conflict with the existing Emacs user interface,

The existing Emacs interface is a snapshot, a flash in the river.  It is Emacs
the river that deserves more care and respect, not some momentary flash.

> it is good to follow the convention.

Stuff & nonsense.  It is good to look out for Emacs - we are its guardians.  It
lives in a world of chaos and convention.  Neither the chaos nor any convention
has special pull, nor should it have.

It is good to follow a convention when it is also good for Emacs, for other
reasons.  Richard chanted that mantra a thousand times.  It is not about
following for following's sake.  That is as true for art & technique as it is
for politics.

With your reasoning, Emacs would have cast all its keys in bronze back in the
bronze age.  And today we would have no useful prefix keys, no handy repeatable
keys, no mnemonic keys, no crazy key combinations.  No keyboard magic or melody.

Emacs would today be as standard as moth-eaten coonskin caps left over from
Walt's first gold-pan marketing flash.

It's about the long haul, not snatching up everything that is not nailed down
and that we do not yet "use for anything else".

"Not yet used for anything else!"  Echoes of wilderness clearers - settlers and
their standard-bearers.  The keyboard is not a new land to be grabbed and
quickly parceled out.  It's not about staking claims.

Emacs can do without an `f11' "full-screen" toggle, thank you very much.
Sheesh.

If Emacs ever gets the "true full screen mode" command you seek, users can bind
it to `f11' or whatever else they like.  Emacs need not stoop to that in the
name of standardization.




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-22  4:39           ` Drew Adams
@ 2012-12-22  5:09             ` Xue Fuqiao
  2012-12-22 21:24             ` Sebastien Vauban
  1 sibling, 0 replies; 76+ messages in thread
From: Xue Fuqiao @ 2012-12-22  5:09 UTC (permalink / raw)
  To: Drew Adams
  Cc: 'Mathias Dahl', emacs-devel, 'Chong Yidong',
	'Andreas Schwab', 'Thierry Volpiatto'

On Fri, 21 Dec 2012 20:39:01 -0800
"Drew Adams" <drew.adams@oracle.com> wrote:

> So what?  Many applications are not Emacs.
I agree.  If new users wanted everything to be the same as elsewhere, they would not try Emacs in the first place.

> Emacs can be better than standard; it has always been so.
That's true.

This "problem" is somewhat like CUA mode and transient-mark-mode.
-- 
Best regards, Xue Fuqiao.
http://www.emacswiki.org/emacs/XueFuqiao



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-22  3:22         ` Chong Yidong
  2012-12-22  4:39           ` Drew Adams
@ 2012-12-22  7:42           ` Thierry Volpiatto
  2012-12-22  8:23           ` Juri Linkov
  2 siblings, 0 replies; 76+ messages in thread
From: Thierry Volpiatto @ 2012-12-22  7:42 UTC (permalink / raw)
  To: Chong Yidong; +Cc: emacs-devel, Andreas Schwab, Mathias Dahl

Chong Yidong <cyd@gnu.org> writes:

> I don't know what you mean by that.  
I mean that your f11 keybinding is loaded before I bind myself in
.emacs, e.g "<f11> e t" and I have a prefix error when emacs is loading.
So I have to bind <f11> to 'undefined at start of .emacs.

> Rebinding the key is a single step;
> you don't have to disable the default binding to rebind it.
No, see above.

> As for the <f11> keybinding, AFAICT that is becoming the standard "full
> screen" key in many applications; since we don't use it for anything
> else, and it doesn't conflict with the existing Emacs user interface, it
> is good to follow the convention.
Disagree with that, sorry.

-- 
  Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997 



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-22  3:22         ` Chong Yidong
  2012-12-22  4:39           ` Drew Adams
  2012-12-22  7:42           ` Thierry Volpiatto
@ 2012-12-22  8:23           ` Juri Linkov
  2012-12-23  9:31             ` Juri Linkov
  2 siblings, 1 reply; 76+ messages in thread
From: Juri Linkov @ 2012-12-22  8:23 UTC (permalink / raw)
  To: Chong Yidong; +Cc: Mathias Dahl, emacs-devel, Andreas Schwab, Thierry Volpiatto

> But: why doesn't <f11> toggle a true full screen mode, at least on
> platforms which support that?  That would be more useful, since ordinary
> maximization can be done with window decorations anyway.

I wondered about this too.  IMHO, `frame-maximization-style' should be
`fullscreen' by default, so `F11' will do fullscreen by default.

Also I see no reason having a separate `S-F11' (`cycle-frame-maximized').
I believe it would be enough to add a prefix arg to `toggle-frame-maximized',
so `C-u F11' will do non-default complementary action from `frame-maximization-style'
(i.e. `maximized' after changing its default to `fullscreen').



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-22  4:39           ` Drew Adams
  2012-12-22  5:09             ` Xue Fuqiao
@ 2012-12-22 21:24             ` Sebastien Vauban
  2012-12-22 21:48               ` Dmitry Gutov
  2012-12-22 22:28               ` Drew Adams
  1 sibling, 2 replies; 76+ messages in thread
From: Sebastien Vauban @ 2012-12-22 21:24 UTC (permalink / raw)
  To: emacs-devel-mXXj517/zsQ

Hi Drew,

"Drew Adams" wrote:
>> As for the <f11> keybinding, AFAICT that is becoming the 
>> standard "full screen" key in many applications;
>
> So what?  Many applications are not Emacs.
>
> [...]
>
>> it is good to follow the convention.
>
> Stuff & nonsense.  It is good to look out for Emacs - we are its guardians.  It
> lives in a world of chaos and convention.  Neither the chaos nor any convention
> has special pull, nor should it have.

Let me first thank you for what you provide us with around Emacs world. Your
packages are very useful to me.

Though, I tend to disagree with the above. Just my opinion, not wanting any
war with any of you.

But, I must admit I like conventions, particularly when they're shared. I
would have loved Emacs to share C-x/c/v rules for cut/copy/paste. I'd be glad
there would be some common ground between all the applications out there. How
many times do I press C-y in non-Emacs programs?  I'd accept some
uniformization between apps, even if not better grounded than "like the most
popular app out there, now".

I'm even telling against me, as F11 is bound to `undo' for me, right now...

Best regards,
  Seb

-- 
Sebastien Vauban




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-22 21:24             ` Sebastien Vauban
@ 2012-12-22 21:48               ` Dmitry Gutov
  2012-12-22 22:46                 ` Drew Adams
  2012-12-23  9:32                 ` Juri Linkov
  2012-12-22 22:28               ` Drew Adams
  1 sibling, 2 replies; 76+ messages in thread
From: Dmitry Gutov @ 2012-12-22 21:48 UTC (permalink / raw)
  To: Sebastien Vauban; +Cc: public-emacs-devel-mXXj517/zsQ



"Sebastien Vauban"
<wxhgmqzgwmuf-geNee64TY+gS+FvcfC7Uqw@public.gmane.org> writes:

> Hi Drew,
>
> "Drew Adams" wrote:
>>> As for the <f11> keybinding, AFAICT that is becoming the 
>>> standard "full screen" key in many applications;
>>
>> So what?  Many applications are not Emacs.
>>
>> [...]
>>
>>> it is good to follow the convention.
>>
>> Stuff & nonsense.  It is good to look out for Emacs - we are its guardians.  It
>> lives in a world of chaos and convention.  Neither the chaos nor any convention
>> has special pull, nor should it have.
>
> Let me first thank you for what you provide us with around Emacs world. Your
> packages are very useful to me.
>
> Though, I tend to disagree with the above. Just my opinion, not wanting any
> war with any of you.

Here's my +1.

> But, I must admit I like conventions, particularly when they're shared. I
> would have loved Emacs to share C-x/c/v rules for cut/copy/paste. I'd be glad
> there would be some common ground between all the applications out there. How
> many times do I press C-y in non-Emacs programs?  I'd accept some
> uniformization between apps, even if not better grounded than "like the most
> popular app out there, now".

Oh how I hate typing C-w in Firefox when trying to cut some text from a
form, and making the page disappear instead. Or typing C-s and seeing
the "save" dialog. I do like these keybindings, though, so moving to
cua-mode or etc is not exactly an option.

I don't think I'm going to use the new binding much, but I totally
support moving toward compatibility with other programs, at least where
there are no pre-existing keybindings.

> I'm even telling against me, as F11 is bound to `undo' for me, right now...

I think the resistance here can be explained by the correlation between
people who like to keep their Emacs fullscreen and people who try to do
everything in Emacs, and so don't care about other programs (and their
keybindings) as much.




^ permalink raw reply	[flat|nested] 76+ messages in thread

* RE: Unuseful keybindings
  2012-12-22 21:24             ` Sebastien Vauban
  2012-12-22 21:48               ` Dmitry Gutov
@ 2012-12-22 22:28               ` Drew Adams
  1 sibling, 0 replies; 76+ messages in thread
From: Drew Adams @ 2012-12-22 22:28 UTC (permalink / raw)
  To: 'Sebastien Vauban', emacs-devel

> But, I must admit I like conventions, particularly when 
> they're shared.

Hi Seb,

Let me be more clear.  There certainly is no reason for Emacs to seek to be
UNconventional.  Probably we agree on that.  Hope I did not give the opposite
impression.

My point was really that following a convention is not the ONLY good.  It should
not be the sole criterion for Emacs binding a key by default.  Perhaps we
disagree on that.

If you take as the starting point that ALL unused keys should be bound by
default as long as they are in some sense conventional somewhere, then we
definitely disagree.

My preferred starting point is that ALL unused keys remain unbound by default,
and that if someone finds that a key is conventionally bound somewhere then we
start DISCUSSING WHETHER it makes sense for Emacs to share that default binding.

Instead, what seems to be happening more and more is that someone just goes
ahead and binds a key, with little or no discussion - fait accompli.

For me, it should not be a foregone conclusion that if there is a conventional
binding for some key somewhere then we should hurry to adopt it for Emacs if the
key is not yet bound.  Other things can be more important, and one of those
things can be just leaving the key open/unused/TBD - even alone that has some
value.

There are conventions and conventions.  And there are keys and keys.  All
conventions are not equal in importance to Emacs (should not be).  And all keys
are not equal to Emacs (see my earlier message about various use criteria).

I am in favor of concrete discussion about the pros & cons of binding a
particular key such as `f11' to a particular action, such as toggling
full-screen display.  What I disagree with is the pretension that the arguments
given so far in favor of Emacs becoming conventional in this particular case are
sufficient.

On the contrary, those are the weakest arguments imaginable: (a) the key is not
bound by default, and (b) the key is conventionally bound to a fullscreen toggle
outside Emacs.  

That's it?  Doesn't matter what the key is conventionally bound to, i.e., what
the key does?  Doesn't matter how that action fits with Emacs and its needs and
other key bindings?  Just (a) it's not bound and (b) others bind it?

Those arguments are not really specific to `f11' - they apply to ALL unused keys
that might be conventional outside Emacs.  If the key being discussed were `f12'
and the conventional binding for it printed "Hello Kitty" then those arguments
would be just as pertinent.  They are pretty hollow arguments, and not at all
key-specific or action-specific.

Emacs deserves better.  Aside from convention, why should `f11' be a fullscreen
toggle in Emacs?  That's the right question.

If there is no answer - no good reason, then we should probably just say no to
that particular convention.  If a user can learn that `M-x' reads a command name
then s?he can also learn that, e.g., `C-x f11' toggles fullscreen.  Not a
biggee, IMHO. 

We can agree to disagree, if we do in fact disagree.  But for the record, I am
not against standardization in general or against Emacs sharing standards
sometimes.

I am in favor of case-by-case evaluation, that's all.  But if we have reached a
point where it has become sufficient to remark that some key is unused and
someone else uses it, then there is no real evaluation, no judging at all.

> How many times do I press C-y in non-Emacs programs?

Me too.  I get bit by `C-y', `C-v', `C-w, `M-w', and so on.  I do not live
within Emacs - I use lots of other apps, and they generally do not share Emacs's
key "conventions".  (And that generally makes sense - they are not apps that
make heavy use of the keyboard, chords, prefix keys, repeated keys, etc.)

Not a big deal, IMO.  You can also get bit if you stay within Emacs: different
modes bind keys differently.  That's not as common, of course, since `C-y' etc.
are used very often.




^ permalink raw reply	[flat|nested] 76+ messages in thread

* RE: Unuseful keybindings
  2012-12-22 21:48               ` Dmitry Gutov
@ 2012-12-22 22:46                 ` Drew Adams
  2012-12-22 23:32                   ` Dmitry Gutov
  2012-12-23  0:19                   ` Mathias Dahl
  2012-12-23  9:32                 ` Juri Linkov
  1 sibling, 2 replies; 76+ messages in thread
From: Drew Adams @ 2012-12-22 22:46 UTC (permalink / raw)
  To: 'Dmitry Gutov', 'Sebastien Vauban'
  Cc: public-emacs-devel-mXXj517/zsQ, emacs-devel

> Oh how I hate typing C-w in Firefox when trying to cut some 
> text from a form, and making the page disappear instead. Or
> typing C-s and seeing the "save" dialog. I do like these
> keybindings, though, so moving to cua-mode or etc is not
> exactly an option.

Me too.  And I mentioned `C-w' for about the same reason as you.

> I don't think I'm going to use the new binding much, but I
> totally support moving toward compatibility with other
> programs, at least where there are no pre-existing keybindings.

So you buy the argument that if there is no default binding for some key (ANY
key), and someone uses it conventionally outside Emacs (for ANYthing), then
Emacs should hurry to get on board and have the same binding by default.

Doesn't matter what the key is, other than it has no default binding?  Doesn't
matter what the conventional binding does, assuming it is an action that can be
done in Emacs?

So no need to discuss particular keys and actions any further - just bind them
all following any conventions we can find outside Emacs?

Emacs development deserves better.

> I think the resistance here can be explained by the correlation
> between people who like to keep their Emacs fullscreen and
> people who try to do everything in Emacs, and so don't care
> about other programs (and their keybindings) as much.

You think wrong.  At least regarding this person.

My Emacs is as far from fullscreen as can be.  And I definitely do not try to do
everything in Emacs - I do almost nothing in Emacs.  And I do care very much
about other programs.  And I use other programs and their keybindings all the
time.  And I too get bit by different bindings (but `f11' is not one of them!).

What I am in favor of is for Emacs Dev to think.  And discuss.  And take
seriously the different properties of particular keys and particular actions
that keys might be bound to.  In the context of Emacs.




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-22 22:46                 ` Drew Adams
@ 2012-12-22 23:32                   ` Dmitry Gutov
  2012-12-23  0:45                     ` Drew Adams
  2012-12-23  0:19                   ` Mathias Dahl
  1 sibling, 1 reply; 76+ messages in thread
From: Dmitry Gutov @ 2012-12-22 23:32 UTC (permalink / raw)
  To: Drew Adams
  Cc: public-emacs-devel-mXXj517/zsQ, 'Sebastien Vauban',
	emacs-devel

On 23.12.2012 2:46, Drew Adams wrote:
>> Oh how I hate typing C-w in Firefox when trying to cut some
>> text from a form, and making the page disappear instead. Or
>> typing C-s and seeing the "save" dialog. I do like these
>> keybindings, though, so moving to cua-mode or etc is not
>> exactly an option.
>
> Me too.  And I mentioned `C-w' for about the same reason as you.

I probably would have been happier if somewhere around the beginning of 
time, Emacs chose the same keybindings for the basic editing operations 
that most of the other programs use now.

>> I don't think I'm going to use the new binding much, but I
>> totally support moving toward compatibility with other
>> programs, at least where there are no pre-existing keybindings.
>
> So you buy the argument that if there is no default binding for some key (ANY
> key), and someone uses it conventionally outside Emacs (for ANYthing), then
> Emacs should hurry to get on board and have the same binding by default.

"Conventionally" usually means that it's not "someone", but a lot of 
other programs. And yes, if the binding is unused, we might as well use it.

> Doesn't matter what the key is, other than it has no default binding?  Doesn't
> matter what the conventional binding does, assuming it is an action that can be
> done in Emacs?

I would buy an argument describing how the new binding doesn't work with 
existing Emacs bindings - like it's too similar to another one, or too 
hard to press after a command you usually want to prepend it with.

This is not the case here. The <f> buttons don't clash with anything 
physically or semantically, and most of them are still unused.

> So no need to discuss particular keys and actions any further - just bind them
> all following any conventions we can find outside Emacs?

Conventions found in GUI programs, especially text editors? Yes.
At least those that don't clash with existing commands and bindings.

Following conventions is good when you're switching during the course of 
the workday, and it's especially good for new users.

> Emacs development deserves better.
>
>> I think the resistance here can be explained by the correlation
>> between people who like to keep their Emacs fullscreen and
>> people who try to do everything in Emacs, and so don't care
>> about other programs (and their keybindings) as much.
>
> You think wrong.  At least regarding this person.
>
> My Emacs is as far from fullscreen as can be.  And I definitely do not try to do
> everything in Emacs - I do almost nothing in Emacs.  And I do care very much
> about other programs.  And I use other programs and their keybindings all the
> time.  And I too get bit by different bindings (but `f11' is not one of them!).
>
> What I am in favor of is for Emacs Dev to think.  And discuss.  And take
> seriously the different properties of particular keys and particular actions
> that keys might be bound to.  In the context of Emacs.

Discussions are good, but I don't think this particular deserves the 
amount of attention it got.

Do the existing bindings for <f10> and <f1-4> take the "properties" you 
mention seriously?



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-22 22:46                 ` Drew Adams
  2012-12-22 23:32                   ` Dmitry Gutov
@ 2012-12-23  0:19                   ` Mathias Dahl
  2012-12-23  0:55                     ` Drew Adams
  1 sibling, 1 reply; 76+ messages in thread
From: Mathias Dahl @ 2012-12-23  0:19 UTC (permalink / raw)
  To: Drew Adams
  Cc: public-emacs-devel-mXXj517/zsQ, emacs-devel, Sebastien Vauban,
	Dmitry Gutov

[-- Attachment #1: Type: text/plain, Size: 473 bytes --]

>
> > I don't think I'm going to use the new binding much, but I
> totally support moving toward compatibility with other
> > programs, at least where there are no pre-existing keybindings.
>
> So you buy the argument that if there is no default binding for some key
> (ANY
> key), and someone uses it conventionally outside Emacs (for ANYthing), then
> Emacs should hurry to get on board and have the same binding by default.
>

Did anyone really say that? To hurry, etc.

[-- Attachment #2: Type: text/html, Size: 851 bytes --]

^ permalink raw reply	[flat|nested] 76+ messages in thread

* RE: Unuseful keybindings
  2012-12-22 23:32                   ` Dmitry Gutov
@ 2012-12-23  0:45                     ` Drew Adams
  2012-12-23  1:07                       ` Xue Fuqiao
                                         ` (2 more replies)
  0 siblings, 3 replies; 76+ messages in thread
From: Drew Adams @ 2012-12-23  0:45 UTC (permalink / raw)
  To: 'Dmitry Gutov'
  Cc: public-emacs-devel-mXXj517/zsQ, 'Sebastien Vauban',
	emacs-devel

> I would buy an argument describing how the new binding 
> doesn't work with existing Emacs bindings - like it's
> too similar to another one, or too hard to press after
> a command you usually want to prepend it with.

Good.

> > So no need to discuss particular keys and actions any 
> > further - just bind them all following any conventions
> > we can find outside Emacs?
> 
> Conventions found in GUI programs, especially text editors? Yes.
> At least those that don't clash with existing commands and bindings.

Clear enough.  We can agree to disagree about that.

> Discussions are good, but I don't think this particular
> deserves the amount of attention it got.

There has been almost no discussion about that particular key or binding.  But
there has been discussion about what Emacs Dev's policy/attitude should be wrt
making such judgments.

I think that topic deserves attention.  I'm sorry to see the drift away from
arguing pro & con about specific keys and bindings and toward a blanket
do-what's-done-elsewhere-as-long-as-the-key-is-unbound.

> Do the existing bindings for <f10> and <f1-4> take the 
> "properties" you mention seriously?

No, which is why I brought up the _general_ topic - and I explicitly mentioned
each of those keys too.  I would like to see us stop making such silly default
bindings (and even free up some of them).  Emacs Dev did not used to do that
kind of thing.

We never should have bound those function keys, IMHO, with (probably) the
exception of `f1', which has more in the way of supporting argument.

`f10' started the do-it-without-discussion trend, IIRC.  I opposed binding `f3'
& `f4' at the time.  I do not recall any discussion about `f10', but I might
have missed it.

There is absolutely no reason for Emacs to bind `f3' and `f4' by default.  Emacs
has had keyboard macros practically from Day One.  Zillions of Emacs users
created zillions of keyboard macros, without Emacs Dev ever feeling that we
should waste binding simple, repeatable keys to their creation and execution.

The default bindings for keyboard macros were (and still are, additionally) `C-x
(', `C-x )', and `C-x C-e'.  Those are mnemonic (start, end, execute) and do not
waste repeatable keys.

IIRC, it was the author of kmacro, which replaced the previous handling of
keyboard macros, who wanted Emacs to bind `f3' and `f4' by default.  The reasons
given were not about any external conventions, IIRC, but simply
easy-and-quick-to-press.  I don't think that reason is good enough on its own,
but those in charge went along with it.  To his credit, Stefan opposed the
bindings, but RMS said this:

"I think there is no harm in supporting F3 and F4 as well as
 C-x (, C-x ) and C-x e and C-x C-k, if users like F3 and F4.
 We could take a poll and ask them."

AFAIK no such poll was ever taken, but the bindings that the kmacro author put
there were left in place anyway.

Although Stefan's suggestion to use `C-x e e e...' to repeat macro execution was
also implemented (good), `f3' and `f4' remain bound by default, and `C-x e e
e...' took a back seat in the doc (and consequently in practice, no doubt),
seemingly as an afterthought.  There isn't even any mention of the `C-x e'
option `kmacro-call-repeat-key'.

http://lists.gnu.org/archive/html/help-gnu-emacs/2011-01/msg00786.html
and http://lists.gnu.org/archive/html/emacs-devel/2011-01/msg00451.html

Now suppose for a moment that `f3' were conventionally used for something else
outside Emacs - searching for a file/folder, say. ;-)  Prior to Emacs 22 you
would apparently have argued in favor of Emacs binding `f3' to a command
initiating search, since it was unbound at the time.  But after Emacs 21 would
you apparently have argued that because it now had a binding we should flout
convention?  I guess so.  Seems pretty flaky, to me.

Or consider `f5', which often refreshes/revert the current context, outside
Emacs.  I myself bind `f5' to a command that does (revert-buffer t t).  And I've
suggested to others that they might want to do the same.  But I don't propose
that Emacs adopt that convention by default, even though I use it all the time.
And when I suggest it to others, I add this caveat, just to draw their attention
to the fact that it wastes a repeatable key:

http://lists.gnu.org/archive/html/help-gnu-emacs/2012-10/msg00159.html




^ permalink raw reply	[flat|nested] 76+ messages in thread

* RE: Unuseful keybindings
  2012-12-23  0:19                   ` Mathias Dahl
@ 2012-12-23  0:55                     ` Drew Adams
  0 siblings, 0 replies; 76+ messages in thread
From: Drew Adams @ 2012-12-23  0:55 UTC (permalink / raw)
  To: 'Mathias Dahl'
  Cc: public-emacs-devel-mXXj517/zsQ, emacs-devel,
	'Sebastien Vauban', 'Dmitry Gutov'

>> So you buy the argument that if there is no default binding for
>> some key (ANY key), and someone uses it conventionally outside Emacs
>> (for ANYthing), then Emacs should hurry to get on board and have the
>> same binding by default.
> 
> Did anyone really say that? To hurry, etc.

Well, the proposal is to add this default binding NOW, not later.

I argued for waiting, doing nothing now, so we can more easily do something
better later if we like.

Actually, I argued that only conditionally - conditional on the absence of any
real arguments in favor of making that change NOW.  So far, nothing specific
regarding `f11' or fullscreen toggling.

And actually, I don't care so much about `f11' as I do about getting some good,
Emacs-specific reasons for binding it by default.  Nothing so far. 

As for the rest of it, yes: we have seen precisely that argument - ANY unused
key, outside convention for ANYthing that could be used in Emacs.




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-23  0:45                     ` Drew Adams
@ 2012-12-23  1:07                       ` Xue Fuqiao
  2012-12-23  1:19                         ` Daniel Colascione
  2012-12-23  9:29                       ` Unuseful keybindings Juri Linkov
  2012-12-23 14:41                       ` Dmitry Gutov
  2 siblings, 1 reply; 76+ messages in thread
From: Xue Fuqiao @ 2012-12-23  1:07 UTC (permalink / raw)
  To: Drew Adams
  Cc: public-emacs-devel-mXXj517/zsQ, emacs-devel,
	'Sebastien Vauban', 'Dmitry Gutov'

On Sat, 22 Dec 2012 16:45:09 -0800
"Drew Adams" <drew.adams@oracle.com> wrote:

> The default bindings for keyboard macros were (and still are, additionally) `C-x
> (', `C-x )', and `C-x C-e'.  Those are mnemonic (start, end, execute) and do not
> waste repeatable keys.
I think so, too.  I opposed binding <f3> and <f4> to kmacro related commands.

-- 
Best regards, Xue Fuqiao.
http://www.emacswiki.org/emacs/XueFuqiao



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-23  1:07                       ` Xue Fuqiao
@ 2012-12-23  1:19                         ` Daniel Colascione
  2012-12-23  1:54                           ` advertizing keyboard macros better [was: Unuseful keybindings] Drew Adams
  0 siblings, 1 reply; 76+ messages in thread
From: Daniel Colascione @ 2012-12-23  1:19 UTC (permalink / raw)
  To: Xue Fuqiao
  Cc: public-emacs-devel-mXXj517/zsQ, 'Dmitry Gutov',
	'Sebastien Vauban', Drew Adams, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 815 bytes --]

On 12/22/2012 5:07 PM, Xue Fuqiao wrote:
> On Sat, 22 Dec 2012 16:45:09 -0800
> "Drew Adams" <drew.adams@oracle.com> wrote:
> 
>> The default bindings for keyboard macros were (and still are, additionally) `C-x
>> (', `C-x )', and `C-x C-e'.  Those are mnemonic (start, end, execute) and do not
>> waste repeatable keys.
> I think so, too.  I opposed binding <f3> and <f4> to kmacro related commands.

While I think using F11 for full screen is fine for consistency with other
programs, I don't use keyboard macros often enough to justify binding f3 and f4.
On the other hand, we really don't do enough to publicize keyboard macros. No
other editor has good macro support, and the feature is a great competitive
advantage for Emacs. It'd be nice to introduce new users to keyboard macros earlier.



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 258 bytes --]

^ permalink raw reply	[flat|nested] 76+ messages in thread

* advertizing keyboard macros better  [was: Unuseful keybindings]
  2012-12-23  1:19                         ` Daniel Colascione
@ 2012-12-23  1:54                           ` Drew Adams
  2012-12-23  2:10                             ` Xue Fuqiao
  0 siblings, 1 reply; 76+ messages in thread
From: Drew Adams @ 2012-12-23  1:54 UTC (permalink / raw)
  To: 'Daniel Colascione', 'Xue Fuqiao'
  Cc: public-emacs-devel-mXXj517/zsQ, 'Dmitry Gutov',
	'Sebastien Vauban', emacs-devel

> I don't use keyboard macros often enough to justify 
> binding f3 and f4.  On the other hand, we really don't do
> enough to publicize keyboard macros. No other editor has
> good macro support, and the feature is a great competitive
> advantage for Emacs. It'd be nice to introduce new users to 
> keyboard macros earlier.

It's been a long time since I've gone through the Emacs tutorial.  Is there not
an example or two of creating and using a keyboard macro there?  If not then
perhaps there should be. Likewise for any "tours" we provide.




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: advertizing keyboard macros better  [was: Unuseful keybindings]
  2012-12-23  1:54                           ` advertizing keyboard macros better [was: Unuseful keybindings] Drew Adams
@ 2012-12-23  2:10                             ` Xue Fuqiao
  0 siblings, 0 replies; 76+ messages in thread
From: Xue Fuqiao @ 2012-12-23  2:10 UTC (permalink / raw)
  To: Drew Adams
  Cc: public-emacs-devel-mXXj517/zsQ, 'Daniel Colascione',
	'Dmitry Gutov', 'Sebastien Vauban', emacs-devel

On Sat, 22 Dec 2012 17:54:14 -0800
"Drew Adams" <drew.adams@oracle.com> wrote:

> It's been a long time since I've gone through the Emacs tutorial.  Is there not
> an example or two of creating and using a keyboard macro there?  If not then
> perhaps there should be. Likewise for any "tours" we provide.

I haven't seen any such example in Emacs tutorial, but there is one in the Emacs tour(which transforms a line containing George Washington to WASHINGTON, George):

http://www.gnu.org/software/emacs/tour/
-- 
Best regards, Xue Fuqiao.
http://www.emacswiki.org/emacs/XueFuqiao



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-23  0:45                     ` Drew Adams
  2012-12-23  1:07                       ` Xue Fuqiao
@ 2012-12-23  9:29                       ` Juri Linkov
  2012-12-23 16:55                         ` Drew Adams
  2012-12-23 14:41                       ` Dmitry Gutov
  2 siblings, 1 reply; 76+ messages in thread
From: Juri Linkov @ 2012-12-23  9:29 UTC (permalink / raw)
  To: Drew Adams; +Cc: emacs-devel

> There is absolutely no reason for Emacs to bind `f3' and `f4' by default.

I have no problem rebinding `f3' to `kill-this-buffer', and `f4' to
`dired-jump' in ~/.emacs so they work like in GNU Midnight Commander
(now I use Dired instead of MC, but old habits for keys persist ;-)

But there is a worse macro keybinding `C-x q' bound to `kbd-macro-query'
that prevents using `C-x q' for more useful commands like `quit-window'.
I think this problem deserves more attention than binding F-keys.

Regarding `f11', the reason why it's a good change is to provide
compatibility in Emacs between graphical displays and text terminals.
In xterm while running `emacs -nw' typing `f11' toggles Full Screen mode,
but on graphical displays this failed until recent addition of the `f11'
keybinding.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-22  8:23           ` Juri Linkov
@ 2012-12-23  9:31             ` Juri Linkov
  2012-12-24 10:29               ` Juri Linkov
  0 siblings, 1 reply; 76+ messages in thread
From: Juri Linkov @ 2012-12-23  9:31 UTC (permalink / raw)
  To: Chong Yidong; +Cc: Thierry Volpiatto, emacs-devel, Andreas Schwab, Mathias Dahl

>> But: why doesn't <f11> toggle a true full screen mode, at least on
>> platforms which support that?  That would be more useful, since ordinary
>> maximization can be done with window decorations anyway.
>
> I wondered about this too.  IMHO, `frame-maximization-style' should be
> `fullscreen' by default, so `F11' will do fullscreen by default.
>
> Also I see no reason having a separate `S-F11' (`cycle-frame-maximized').
> I believe it would be enough to add a prefix arg to `toggle-frame-maximized',
> so `C-u F11' will do non-default complementary action from `frame-maximization-style'
> (i.e. `maximized' after changing its default to `fullscreen').

This can be improved with the following patch:

=== modified file 'lisp/frame.el'
--- lisp/frame.el	2012-12-12 14:43:45 +0000
+++ lisp/frame.el	2012-12-23 09:30:39 +0000
@@ -1655,7 +1655,7 @@ (define-minor-mode blink-cursor-mode
 
 \f
 ;; Frame maximization
-(defcustom frame-maximization-style 'maximized
+(defcustom frame-maximization-style 'fullscreen
   "The maximization style of \\[toggle-frame-maximized]."
   :version "24.4"
   :type '(choice
@@ -1663,13 +1663,18 @@ (defcustom frame-maximization-style 'max
           (const :tab "Ignore window manager screen decorations." fullscreen))
   :group 'frames)
 
-(defun toggle-frame-maximized ()
+(defun toggle-frame-maximized (&optional arg)
   "Maximize/un-maximize Emacs frame according to `frame-maximization-style'.
-See also `cycle-frame-maximized'."
-  (interactive)
+With prefix ARG toggle using non-default value of `frame-maximization-style',
+i.e. when the default is `fullscreen', use `maximized', otherwise use
+`fullscreen'.  See also `cycle-frame-maximized'."
+  (interactive "P")
   (modify-frame-parameters
-   nil `((fullscreen . ,(if (frame-parameter nil 'fullscreen)
-                            nil frame-maximization-style)))))
+   nil `((fullscreen . ,(cond
+			 ((frame-parameter nil 'fullscreen) nil)
+			 (arg (if (eq frame-maximization-style 'fullscreen)
+				  'maximized 'fullscreen))
+			 (t frame-maximization-style))))))
 
 (defun cycle-frame-maximized ()
   "Cycle Emacs frame between normal, maximized, and fullscreen.




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-22 21:48               ` Dmitry Gutov
  2012-12-22 22:46                 ` Drew Adams
@ 2012-12-23  9:32                 ` Juri Linkov
  2012-12-23 10:37                   ` Xue Fuqiao
  1 sibling, 1 reply; 76+ messages in thread
From: Juri Linkov @ 2012-12-23  9:32 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: emacs-devel

> Oh how I hate typing C-w in Firefox when trying to cut some text from a
> form, and making the page disappear instead.

C-w closes the page even in Ymacs http://www.ymacs.org/demo/ ;-)
(in Chromium, but not in Firefox)

> Or typing C-s and seeing the "save" dialog.

For Firefox the most general and useful extension to rebind keys is
http://kb.mozillazine.org/Keyconfig_extension

There are also Emacs specific Firefox extensions:
https://addons.mozilla.org/en-us/firefox/addon/firemacs/
http://forums.mozillazine.org/viewtopic.php?t=1416255
...



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-23  9:32                 ` Juri Linkov
@ 2012-12-23 10:37                   ` Xue Fuqiao
  2012-12-23 10:56                     ` Dmitry Gutov
  0 siblings, 1 reply; 76+ messages in thread
From: Xue Fuqiao @ 2012-12-23 10:37 UTC (permalink / raw)
  To: Juri Linkov; +Cc: emacs-devel, Dmitry Gutov

On Sun, 23 Dec 2012 11:32:45 +0200
Juri Linkov <juri@jurta.org> wrote:

> For Firefox the most general and useful extension to rebind keys is
> http://kb.mozillazine.org/Keyconfig_extension
> 
> There are also Emacs specific Firefox extensions:
> https://addons.mozilla.org/en-us/firefox/addon/firemacs/
> http://forums.mozillazine.org/viewtopic.php?t=1416255

There are also some others(Emacs specific or can make use of Emacs power), like:
https://addons.mozilla.org/en-US/firefox/addon/4125
http://conkeror.org/
https://github.com/jaalto/project--windows-emacs-client-for-firefox
http://mozex.mozdev.org/
http://robrohan.com/projects/9ne
-- 
Best regards, Xue Fuqiao.
http://www.emacswiki.org/emacs/XueFuqiao



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-23 10:37                   ` Xue Fuqiao
@ 2012-12-23 10:56                     ` Dmitry Gutov
  2012-12-23 11:22                       ` Xue Fuqiao
  0 siblings, 1 reply; 76+ messages in thread
From: Dmitry Gutov @ 2012-12-23 10:56 UTC (permalink / raw)
  To: Xue Fuqiao; +Cc: Juri Linkov, emacs-devel

On 23.12.2012 14:37, Xue Fuqiao wrote:
> On Sun, 23 Dec 2012 11:32:45 +0200
> Juri Linkov <juri@jurta.org> wrote:
>
>> For Firefox the most general and useful extension to rebind keys is
>> http://kb.mozillazine.org/Keyconfig_extension
>>
>> There are also Emacs specific Firefox extensions:
>> https://addons.mozilla.org/en-us/firefox/addon/firemacs/
>> http://forums.mozillazine.org/viewtopic.php?t=1416255
>
> There are also some others(Emacs specific or can make use of Emacs power), like:
> https://addons.mozilla.org/en-US/firefox/addon/4125
> http://conkeror.org/
> https://github.com/jaalto/project--windows-emacs-client-for-firefox
> http://mozex.mozdev.org/
> http://robrohan.com/projects/9ne

Thanks, guys, but I'm aware of most of those already.

I haven't tried sending text areas to Emacs yet, but it doesn't really 
help with the difference between keybindings when I need to do a quick 
action, like cut a piece of text from the built-in search form, which is 
exactly when I tend to press the wrong keys the most.

Changing Firefox keys to Emacs's is not optimal, too, because I close 
tabs much more often than cut text, so giving up "C-w" for that in favor 
of C-x k (which requires two hands to press) is counter-productive. It 
would also make using any other software more jarring.

Maybe I need to man up and switch to something like ErgoEmacs.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-23 10:56                     ` Dmitry Gutov
@ 2012-12-23 11:22                       ` Xue Fuqiao
  0 siblings, 0 replies; 76+ messages in thread
From: Xue Fuqiao @ 2012-12-23 11:22 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: Juri Linkov, emacs-devel

On Sun, 23 Dec 2012 14:56:11 +0400
Dmitry Gutov <dgutov@yandex.ru> wrote:

> Changing Firefox keys to Emacs's is not optimal, too, because I close 
> tabs much more often than cut text, so giving up "C-w" for that in favor 
> of C-x k (which requires two hands to press) is counter-productive. It 
> would also make using any other software more jarring.

Maybe you can bind `close-tab' to something like `D' or `<f2>', or have a look at this:
http://www.piengineering.com/xkeys.php
-- 
Best regards, Xue Fuqiao.
http://www.emacswiki.org/emacs/XueFuqiao



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-23  0:45                     ` Drew Adams
  2012-12-23  1:07                       ` Xue Fuqiao
  2012-12-23  9:29                       ` Unuseful keybindings Juri Linkov
@ 2012-12-23 14:41                       ` Dmitry Gutov
  2012-12-23 14:57                         ` Jambunathan K
  2012-12-23 17:03                         ` Drew Adams
  2 siblings, 2 replies; 76+ messages in thread
From: Dmitry Gutov @ 2012-12-23 14:41 UTC (permalink / raw)
  To: Drew Adams
  Cc: public-emacs-devel-mXXj517/zsQ, 'Sebastien Vauban',
	emacs-devel

On 23.12.2012 4:45, Drew Adams wrote:
>> Do the existing bindings for <f10> and <f1-4> take the
>> "properties" you mention seriously?
>
> No, which is why I brought up the _general_ topic - and I explicitly mentioned
> each of those keys too.  I would like to see us stop making such silly default
> bindings (and even free up some of them).  Emacs Dev did not used to do that
> kind of thing.
>
> We never should have bound those function keys, IMHO, with (probably) the
> exception of `f1', which has more in the way of supporting argument.

Well, that's my point. None of the current f-key bindings take into 
account repeatability, so you asking not to bind f11 for that reason 
doesn't sound very convincing, and goes against consistency.
I'd certainly prefer if different f-keys were bound or not bound on the 
same principle.

The possible reason why those keys are so nice and still mostly have no 
bindings is they are far from the home row, so the expectation is they 
can only be used for one-off commands, not in a sequence in the middle 
of other commands during an editing session.

> `f10' started the do-it-without-discussion trend, IIRC.  I opposed binding `f3'
> & `f4' at the time.  I do not recall any discussion about `f10', but I might
> have missed it.
>
> There is absolutely no reason for Emacs to bind `f3' and `f4' by default.  Emacs
> has had keyboard macros practically from Day One.  Zillions of Emacs users
> created zillions of keyboard macros, without Emacs Dev ever feeling that we
> should waste binding simple, repeatable keys to their creation and execution.

These keys are featured on the Emacs tour page, so there's no getting 
rid of them now, I suppose.

> Or consider `f5', which often refreshes/revert the current context, outside
> Emacs.  I myself bind `f5' to a command that does (revert-buffer t t).  And I've
> suggested to others that they might want to do the same.  But I don't propose
> that Emacs adopt that convention by default, even though I use it all the time.
> And when I suggest it to others, I add this caveat, just to draw their attention
> to the fact that it wastes a repeatable key:
>
> http://lists.gnu.org/archive/html/help-gnu-emacs/2012-10/msg00159.html

I don't think this command is generally useful enough.

The only kind of file that might need frequent refreshing I can imagine 
is a log file, and if you're viewing one of those in Emacs, you'd also 
have to scroll to the bottom each time.

As for infrequent refreshing (including the situation when you need to 
revert many files at once), global-auto-revert-mode is much better in my 
experience, and it doesn't require a special action from the user.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-23 14:41                       ` Dmitry Gutov
@ 2012-12-23 14:57                         ` Jambunathan K
  2012-12-23 16:52                           ` Drew Adams
  2012-12-23 17:03                         ` Drew Adams
  1 sibling, 1 reply; 76+ messages in thread
From: Jambunathan K @ 2012-12-23 14:57 UTC (permalink / raw)
  To: Dmitry Gutov
  Cc: public-emacs-devel-mXXj517/zsQ, 'Sebastien Vauban',
	Drew Adams, emacs-devel

Dmitry Gutov <dgutov@yandex.ru> writes:

> The possible reason why those keys are so nice and still mostly have
> no bindings is they are far from the home row, so the expectation is
> they can only be used for one-off commands, not in a sequence in the
> middle of other commands during an editing session.

I am a touch-typer.  (Even) accessing `%', `(' keys slows me down
considerably.  Using F-Keys for routine tasks is definitely beyond
question.

As far as I am concerned, any discussion on F-Key is NA or Don't Care
for me.
-- 



^ permalink raw reply	[flat|nested] 76+ messages in thread

* RE: Unuseful keybindings
  2012-12-23 14:57                         ` Jambunathan K
@ 2012-12-23 16:52                           ` Drew Adams
  2012-12-23 17:47                             ` Jambunathan K
  0 siblings, 1 reply; 76+ messages in thread
From: Drew Adams @ 2012-12-23 16:52 UTC (permalink / raw)
  To: 'Jambunathan K', 'Dmitry Gutov'
  Cc: public-emacs-devel-mXXj517/zsQ, 'Sebastien Vauban',
	emacs-devel

> > The possible reason why those keys are so nice and still mostly have
> > no bindings is they are far from the home row, so the expectation is
> > they can only be used for one-off commands, not in a sequence in the
> > middle of other commands during an editing session.
> 
> I am a touch-typer.  (Even) accessing `%', `(' keys slows me down
> considerably.  Using F-Keys for routine tasks is definitely beyond
> question.  As far as I am concerned, any discussion on F-Key is NA
> or Don't Care for me.

You don't care for your own use, but does that mean that you also do not care
what Emacs binds by default for others?




^ permalink raw reply	[flat|nested] 76+ messages in thread

* RE: Unuseful keybindings
  2012-12-23  9:29                       ` Unuseful keybindings Juri Linkov
@ 2012-12-23 16:55                         ` Drew Adams
  2012-12-26 14:32                           ` Kevin Rodgers
  0 siblings, 1 reply; 76+ messages in thread
From: Drew Adams @ 2012-12-23 16:55 UTC (permalink / raw)
  To: 'Juri Linkov'; +Cc: emacs-devel

> > There is absolutely no reason for Emacs to bind `f3' and 
> `f4' by default.
> 
> I have no problem rebinding `f3' to `kill-this-buffer', and `f4' to
> `dired-jump' in ~/.emacs so they work like in GNU Midnight Commander
> (now I use Dired instead of MC, but old habits for keys persist ;-)

No, they should be UNbound.  That's the point.
Your proposal is a case of "out of the frying pan and into the fire".

These keys should not just be rebound to other non-repeatable commands (by which
I mean commands that you will not typically be repeated multiple times by simply
holding down the key).

> But there is a worse macro keybinding `C-x q' bound to 
> `kbd-macro-query' that prevents using `C-x q' for more useful
> commands like `quit-window'.

Different issue.  To avoid confusion it would be good to discuss that binding in
a separate thread (though the Subject line of this one is general enough for
it).

> I think this problem deserves more attention than binding F-keys.

No, it deserves less.  It does not reflect a general problem and a problem with
policy.  It's truly just about a particular key binding, and it can probably be
discussed and resolved without dealing with any fundamental problem.  Another
reason for addressing it in a separate thread.  Just a suggestion.

> Regarding `f11', the reason why it's a good change is to provide
> compatibility in Emacs between graphical displays and text terminals.
> In xterm while running `emacs -nw' typing `f11' toggles Full 
> Screen mode, but on graphical displays this failed until recent addition 
> of the `f11' keybinding.

Again, a pretty weak reason.  But better than what's been given so far.

There are other differences between text terminal keys and graphic terminal
keys.  And `xterm' is not all text terminals, IIUC (please correct me if I'm
mistaken).




^ permalink raw reply	[flat|nested] 76+ messages in thread

* RE: Unuseful keybindings
  2012-12-23 14:41                       ` Dmitry Gutov
  2012-12-23 14:57                         ` Jambunathan K
@ 2012-12-23 17:03                         ` Drew Adams
  2012-12-23 17:33                           ` Dmitry Gutov
  2012-12-23 17:58                           ` Stephen J. Turnbull
  1 sibling, 2 replies; 76+ messages in thread
From: Drew Adams @ 2012-12-23 17:03 UTC (permalink / raw)
  To: 'Dmitry Gutov'
  Cc: public-emacs-devel-mXXj517/zsQ, 'Sebastien Vauban',
	emacs-devel

> > We never should have bound those function keys, IMHO, with 
> > (probably) the exception of `f1', which has more in the way
> > of supporting argument.
> 
> Well, that's my point. None of the current f-key bindings take into 
> account repeatability, so you asking not to bind f11 for that reason 
> doesn't sound very convincing, and goes against consistency.
> I'd certainly prefer if different f-keys were bound or not 
> bound on the same principle.

Two wrongs do not make a right.

We-should-add-wrongs-in-the-name-of-consistency is misguided, and represents a
complete misunderstanding of the value of consistency.

Among other things, consistency, like so many other things that can be helpful,
is not something to be absolute about.  Consistency for a purpose, and subject
to other considerations, not just consistency for consistency's sake.

And your consistency argument works both ways: Why not consistently remove all
function-key default bindings?

> The possible reason why those keys are so nice and still 
> mostly have no bindings is they are far from the home row,

I believe that Emacs Dev intentionally avoided binding them by default.  They
were left for users and applications.

`home' (Home) and the arrow keys are far from the home row also.
They have been bound since they existed, AFAIK.

> so the expectation is they can only be used for one-off commands,

Who's expectation?  What makes you think that?  Wanna guess how many users use
the arrow keys and how often?  Not very one-off, is my guess.

> not in a sequence in the middle of other commands during an editing session.

Why?  Wanna guess how many users hold down an arrow key to repeat its command?

Imagine if Emacs Dev had misguidedly bound `down' (the down arrow) by default to
a non-repeatable command such as `fullscreen'.  Not as useful as the key could
be.

> > There is absolutely no reason for Emacs to bind `f3' and 
> > `f4' by default.  Emacs has had keyboard macros practically
> > from Day One.  Zillions of Emacs users created zillions of
> > keyboard macros, without Emacs Dev ever feeling that we
> > should waste binding simple, repeatable keys to their 
> > creation and execution.
> 
> These keys are featured on the Emacs tour page, so there's no getting 
> rid of them now, I suppose.

That's silly.  Just update the tour to use `C-x e e e e ...' or whatever.

> > Or consider `f5', which often refreshes/revert the current 
> > context, outside Emacs.  I myself bind `f5' to a command that does 
> > (revert-buffer t t).  And I've suggested to others that they might
> > want to do the same.  But I don't propose that Emacs adopt that
> > convention by default, even though I use it all the time.
> 
> I don't think this command is generally useful enough.

Again, I do _not_ propose that Emacs bind `f5' by default.
As for its general usefulness: users and their uses differ.

> The only kind of file that might need frequent refreshing I 
> can imagine is a log file, and if you're viewing one of those
> in Emacs, you'd also have to scroll to the bottom each time.

But are you aware that `revert-buffer' is not only about reverting files from
disk?  It reverts/refreshes all kinds of buffers, from bookmark lists to Dired
(and to a web page, I assume, if you use an Emacs browser).  From the doc
string:

,----
| This command also implements an interface for special buffers
| that contain text which doesn't come from a file, but reflects
| some other data instead (e.g. Dired buffers, `buffer-list'
| buffers).  This is done via the variable `revert-buffer-function'.
| In these cases, it should reconstruct the buffer contents from the
| appropriate data.
`----




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-23 17:03                         ` Drew Adams
@ 2012-12-23 17:33                           ` Dmitry Gutov
  2012-12-23 18:51                             ` Drew Adams
  2012-12-23 20:53                             ` Lars Ingebrigtsen
  2012-12-23 17:58                           ` Stephen J. Turnbull
  1 sibling, 2 replies; 76+ messages in thread
From: Dmitry Gutov @ 2012-12-23 17:33 UTC (permalink / raw)
  To: Drew Adams
  Cc: public-emacs-devel-mXXj517/zsQ, 'Sebastien Vauban',
	emacs-devel

On 23.12.2012 21:03, Drew Adams wrote:
>>> We never should have bound those function keys, IMHO, with
>>> (probably) the exception of `f1', which has more in the way
>>> of supporting argument.
>>
>> Well, that's my point. None of the current f-key bindings take into
>> account repeatability, so you asking not to bind f11 for that reason
>> doesn't sound very convincing, and goes against consistency.
>> I'd certainly prefer if different f-keys were bound or not
>> bound on the same principle.
>
> Two wrongs do not make a right.
>
> We-should-add-wrongs-in-the-name-of-consistency is misguided, and represents a
> complete misunderstanding of the value of consistency.

It just means that campaigning against just this one binding, at this 
point of time, does not make much sense.
And whether these "wrongs" are such is a matter of opinion.

> Among other things, consistency, like so many other things that can be helpful,
> is not something to be absolute about.  Consistency for a purpose, and subject
> to other considerations, not just consistency for consistency's sake.

Consistency for the sake of making sense to a new or casual user. For 
example.

> And your consistency argument works both ways: Why not consistently remove all
> function-key default bindings?

This is reductio ad absurdum. Not every kind of consistency is equally 
valuable.

>> The possible reason why those keys are so nice and still
>> mostly have no bindings is they are far from the home row,
>
> I believe that Emacs Dev intentionally avoided binding them by default.  They
> were left for users and applications.
>
> `home' (Home) and the arrow keys are far from the home row also.
> They have been bound since they existed, AFAIK.

Because they behave the same way in many other programs, I'd wager.
f-keys, on the other hand, have not enjoyed the same degree of 
consistent behavior across programs.

>> so the expectation is they can only be used for one-off commands,
>
> Who's expectation?  What makes you think that?  Wanna guess how many users use
> the arrow keys and how often?  Not very one-off, is my guess.

I'm among them. Again, binding arrow keys makes sense because many users 
are used to that.

>> not in a sequence in the middle of other commands during an editing session.
>
> Why?  Wanna guess how many users hold down an arrow key to repeat its command?
>
> Imagine if Emacs Dev had misguidedly bound `down' (the down arrow) by default to
> a non-repeatable command such as `fullscreen'.  Not as useful as the key could
> be.

Is that the only reason you think binding `down' to `fullscreen' is 
ill-advisable? :)

>>> There is absolutely no reason for Emacs to bind `f3' and
>>> `f4' by default.  Emacs has had keyboard macros practically
>>> from Day One.  Zillions of Emacs users created zillions of
>>> keyboard macros, without Emacs Dev ever feeling that we
>>> should waste binding simple, repeatable keys to their
>>> creation and execution.
>>
>> These keys are featured on the Emacs tour page, so there's no getting
>> rid of them now, I suppose.
>
> That's silly.  Just update the tour to use `C-x e e e e ...' or whatever.

Emacs has a policy of backwards compatibility, whenever possible, or 
something.
Think back to the latest reversal of the `M-=' binding, which has 
received a rather small backlash.

>>> Or consider `f5', which often refreshes/revert the current
>>> context, outside Emacs.  I myself bind `f5' to a command that does
>>> (revert-buffer t t).  And I've suggested to others that they might
>>> want to do the same.  But I don't propose that Emacs adopt that
>>> convention by default, even though I use it all the time.
>>
>> I don't think this command is generally useful enough.
>
> Again, I do _not_ propose that Emacs bind `f5' by default.
> As for its general usefulness: users and their uses differ.

So, the fact is, Emacs doesn't have a command directly corresponding to 
"refresh" in a browser. That very well might be the reason f5 has no 
default binding.

>> The only kind of file that might need frequent refreshing I
>> can imagine is a log file, and if you're viewing one of those
>> in Emacs, you'd also have to scroll to the bottom each time.
>
> But are you aware that `revert-buffer' is not only about reverting files from
> disk?  It reverts/refreshes all kinds of buffers, from bookmark lists to Dired
> (and to a web page, I assume, if you use an Emacs browser).  From the doc
> string:

I usually press `g' for that. Much quicker.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-23 16:52                           ` Drew Adams
@ 2012-12-23 17:47                             ` Jambunathan K
  2012-12-23 18:44                               ` Drew Adams
  0 siblings, 1 reply; 76+ messages in thread
From: Jambunathan K @ 2012-12-23 17:47 UTC (permalink / raw)
  To: Drew Adams
  Cc: public-emacs-devel-mXXj517/zsQ, emacs-devel,
	'Sebastien Vauban', 'Dmitry Gutov'

"Drew Adams" <drew.adams@oracle.com> writes:

>> > The possible reason why those keys are so nice and still mostly have
>> > no bindings is they are far from the home row, so the expectation is
>> > they can only be used for one-off commands, not in a sequence in the
>> > middle of other commands during an editing session.
>> 
>> I am a touch-typer.  (Even) accessing `%', `(' keys slows me down
>> considerably.  Using F-Keys for routine tasks is definitely beyond
>> question.  As far as I am concerned, any discussion on F-Key is NA
>> or Don't Care for me.
>
> You don't care for your own use, but does that mean that you also do not care
> what Emacs binds by default for others?

Yes, I do not care what Emacs does by default.  I am one of those users
who doesn't rely on F-Keys much, because reaching it is too bothersome.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* RE: Unuseful keybindings
  2012-12-23 17:03                         ` Drew Adams
  2012-12-23 17:33                           ` Dmitry Gutov
@ 2012-12-23 17:58                           ` Stephen J. Turnbull
  2012-12-23 18:42                             ` Drew Adams
  1 sibling, 1 reply; 76+ messages in thread
From: Stephen J. Turnbull @ 2012-12-23 17:58 UTC (permalink / raw)
  To: emacs-devel

Would you guys please stop CCing Gmane, which isn't smart enough to
realized it's being duped?  Once is enough, even for Drew's artfully
crafted postings.

    Cc: public-emacs-devel-mXXj517/zsQ@plane.gmane.org,
        "'Sebastien Vauban'" <public-wxhgmqzgwmuf-geNee64TY+gS+FvcfC7Uqw@plane.gmane.org>,
    



^ permalink raw reply	[flat|nested] 76+ messages in thread

* RE: Unuseful keybindings
  2012-12-23 17:58                           ` Stephen J. Turnbull
@ 2012-12-23 18:42                             ` Drew Adams
  0 siblings, 0 replies; 76+ messages in thread
From: Drew Adams @ 2012-12-23 18:42 UTC (permalink / raw)
  To: 'Stephen J. Turnbull', emacs-devel

> Would you guys please stop CCing Gmane, which isn't smart enough to
> realized it's being duped?  Once is enough, even for Drew's artfully
> crafted postings.

Yes, sorry; I meant to do that.  Somehow, Dmitry introduced it into the cc list,
and I made the mistake at that point of adding emacs-devel back onto the list,
instead of just replacing gmane with it.




^ permalink raw reply	[flat|nested] 76+ messages in thread

* RE: Unuseful keybindings
  2012-12-23 17:47                             ` Jambunathan K
@ 2012-12-23 18:44                               ` Drew Adams
  2012-12-23 19:36                                 ` Jambunathan K
  2012-12-23 20:25                                 ` Jambunathan K
  0 siblings, 2 replies; 76+ messages in thread
From: Drew Adams @ 2012-12-23 18:44 UTC (permalink / raw)
  To: 'Jambunathan K'
  Cc: emacs-devel, 'Sebastien Vauban', 'Dmitry Gutov'

> >> I am a touch-typer.  (Even) accessing `%', `(' keys slows me down
> >> considerably.  Using F-Keys for routine tasks is definitely beyond
> >> question.  As far as I am concerned, any discussion on F-Key is NA
> >> or Don't Care for me.
> >
> > You don't care for your own use, but does that mean that 
> > you also do not care what Emacs binds by default for others?
> 
> Yes, I do not care what Emacs does by default.

Too bad for Emacs.

So your input on questions of default behavior (like this one) is just
irrelevant noise, I guess.  No?

> I am one of those users who doesn't rely on F-Keys much,
> because reaching it is too bothersome.

Me too.  But that doesn't stop me from caring about what Emacs offers for
others.




^ permalink raw reply	[flat|nested] 76+ messages in thread

* RE: Unuseful keybindings
  2012-12-23 17:33                           ` Dmitry Gutov
@ 2012-12-23 18:51                             ` Drew Adams
  2012-12-23 20:53                             ` Lars Ingebrigtsen
  1 sibling, 0 replies; 76+ messages in thread
From: Drew Adams @ 2012-12-23 18:51 UTC (permalink / raw)
  To: 'Dmitry Gutov'; +Cc: 'Sebastien Vauban', emacs-devel

> > And your consistency argument works both ways: Why not 
> > consistently remove all function-key default bindings?
> 
> This is reductio ad absurdum. Not every kind of consistency 
> is equally valuable.

Precisely my point.  IF you use that kind of argument THEN it applies equally in
the other direction.  It's not about consistency vs inconsistency in the
abstract.

> >> The possible reason why those keys are so nice and still
> >> mostly have no bindings is they are far from the home row,
> >
> > I believe that Emacs Dev intentionally avoided binding them 
> > by default.  They were left for users and applications.
> >
> > `home' (Home) and the arrow keys are far from the home row also.
> > They have been bound since they existed, AFAIK.
> 
> Because they behave the same way in many other programs, I'd wager.
> f-keys, on the other hand, have not enjoyed the same degree of 
> consistent behavior across programs.

That function keys are not so standard is one reason not to bind them by
default.  But it is certainly not the only reason, or even the most important
reason.

> >> not in a sequence in the middle of other commands during 
> >> an editing session.
> >
> > Why?  Wanna guess how many users hold down an arrow key to 
> > repeat its command?
> >
> > Imagine if Emacs Dev had misguidedly bound `down' (the down 
> > arrow) by default to a non-repeatable command such as
> > `fullscreen'.  Not as useful as the key could be.
> 
> Is that the only reason you think binding `down' to `fullscreen' is 
> ill-advisable? :)

The point is that `down' is bound to a repeatable action.  For that reason alone
the binding would be reasonable even if it did not also agree with outside
convention.

On the other hand, `home' is not repeatable.  About the only argument in favor
of binding `home' as we do (that I can think of) is the argument of consistency
with other apps.

From my own point of view, if we ever came to the point where we had an
important repeatable command and we had no available repeatable keys on which to
bind it by default, I would probably sooner sacrifice our externally consistent
`home' binding than lose the convenience (yes, by default) of that command's
repeatability.

Binding `home' to a non-repeatable, non-prefix command is, _in itself_, a waste.
It is OK to do, in order to be consistent with other apps, as long as the
scarcity of repeatable and prefix keys has not reached a critical level.  If it
got critical then `home' would be up there in the top 10 for regrooving, in my
book.

Why don't I apply the same reasoning to `f11'?  I do, but the context is
different: (a) function keys have in the past been reserved for users and apps;
(b) this is now and that was then, and back then there were more repeatable keys
still virgin (more coral reefs unspoiled); (c) I'm not convinced that `f11' for
fullscreen is so commonly used as `home' is, outside Emacs.

I do not expect everyone to share this more extreme point of view that even
longstanding `home' could conceivably be sacrificed for a better command.  

That is not necessary for my general point.  But yes, I do think that what's
good for Emacs and Emacs users comes first, not consistency with external apps.

The question in that context would be, for me at least, which is better for
Emacs users: provide a default binding to a repeatable key for the important
Emacs command or keep `home' compatible with the outside world.  And yes, I
recognize that Emacs users do not use only Emacs.  That's one thing that makes
such questions interesting, not black & white.

> >>> There is absolutely no reason for Emacs to bind `f3' and
> >>> `f4' by default.
> >>
> >> These keys are featured on the Emacs tour page, so there's 
> >> no getting rid of them now, I suppose.
> >
> > That's silly.  Just update the tour to use `C-x e e e e 
> ...' or whatever.
> 
> Emacs has a policy of backwards compatibility, whenever possible, or 
> something.

Whenever possible?  No.  Backwards compatibility, like mirroring external
conventions, is a relative good, not an absolute criterion.  Emacs Dev has not
been so black & white.  We are not dogmatists.

> Think back to the latest reversal of the `M-=' binding, which has 
> received a rather small backlash.

I didn't follow it closely, but I think that thread rather supports what I'm
saying.  Nothing is cast in concrete.  Changes were made wrt `M-=', and comments
from others were taken into consideration.




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-23 18:44                               ` Drew Adams
@ 2012-12-23 19:36                                 ` Jambunathan K
  2012-12-23 20:25                                 ` Jambunathan K
  1 sibling, 0 replies; 76+ messages in thread
From: Jambunathan K @ 2012-12-23 19:36 UTC (permalink / raw)
  To: Drew Adams; +Cc: emacs-devel, 'Dmitry Gutov'

"Drew Adams" <drew.adams@oracle.com> writes:

>> >> I am a touch-typer.  (Even) accessing `%', `(' keys slows me down
>> >> considerably.  Using F-Keys for routine tasks is definitely beyond
>> >> question.  As far as I am concerned, any discussion on F-Key is NA
>> >> or Don't Care for me.
>> >
>> > You don't care for your own use, but does that mean that 
>> > you also do not care what Emacs binds by default for others?
>> 
>> Yes, I do not care what Emacs does by default.
>
> Too bad for Emacs.
>
> So your input on questions of default behavior (like this one) is just
> irrelevant noise, I guess.  No?

I said there is atleast one user who doesn't really care for F-keys -
not the bindings but the keys themselves.  

My position is relevant.  If I don't record my views, people will be
driven to a mistaken belief that there are only two camps - Keep
existing binding, Remove existing binding.

Just my way of saying, look, there is a third camp.  Frankly, I am
willing to loan all my 12 keys to you, so that you can bind it to your
heart's pleasure.

>> I am one of those users who doesn't rely on F-Keys much, because
>> reaching it is too bothersome.
>
> Me too.  But that doesn't stop me from caring about what Emacs offers for
> others.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-23 18:44                               ` Drew Adams
  2012-12-23 19:36                                 ` Jambunathan K
@ 2012-12-23 20:25                                 ` Jambunathan K
  2012-12-23 21:04                                   ` Drew Adams
  2012-12-24  9:35                                   ` Juri Linkov
  1 sibling, 2 replies; 76+ messages in thread
From: Jambunathan K @ 2012-12-23 20:25 UTC (permalink / raw)
  To: Drew Adams
  Cc: emacs-devel, 'Sebastien Vauban', 'Dmitry Gutov'

"Drew Adams" <drew.adams@oracle.com> writes:

>> >> I am a touch-typer.  (Even) accessing `%', `(' keys slows me down
>> >> considerably.  Using F-Keys for routine tasks is definitely beyond
>> >> question.  As far as I am concerned, any discussion on F-Key is NA
>> >> or Don't Care for me.
>> >
>> > You don't care for your own use, but does that mean that 
>> > you also do not care what Emacs binds by default for others?
>> 
>> Yes, I do not care what Emacs does by default.
>
> Too bad for Emacs.
>
> So your input on questions of default behavior (like this one) is just
> irrelevant noise, I guess.  No?

One of the first things that I do with a new Emacs is to always have it
maximized.  (I am a single frame, single window user.)  After a lot of
experimentation, this is how I achieve maximized frame on startup.

1. Start Emacs
2. Maximize the frame by hand.
3. Save window configuration (or is it frame configuration?) to a
   register.
4. pp-eval the register.
5. Identify the height and width of the maximized frame.
6. Dump it in my .emacs.

This method works flawlessly.

Considering my own case,  I will say,

Why not educate user and have him save his frame configuration in a
register and have the register value setq-ed persistently in his .emacs.

This way he can rely on register commands (which can be touch-typed) and
not rely on any bindings.  My suggestion is no different from having
file short cuts in registers.  I have, `C-x r j .' jumping to my .emacs.

Why should we care for a casual user?  Why do tribes have initiation
ceremonies.  Initiation is always an ordeal and but inevitable to
establish trust and earnestness.

That said, I will say vote for
leaving F-Keys undefined and ubound,
say for F1.

I am surprised that people are not
talking about F2.  I accidentally
pressed it twice and what I get is a
weird looking email :-)

>> I am one of those users who doesn't rely on F-Keys much,
>> because reaching it is too bothersome.
>
> Me too.  But that doesn't stop me from caring about what Emacs offers for
> others.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-23 17:33                           ` Dmitry Gutov
  2012-12-23 18:51                             ` Drew Adams
@ 2012-12-23 20:53                             ` Lars Ingebrigtsen
  2012-12-23 21:13                               ` Drew Adams
                                                 ` (2 more replies)
  1 sibling, 3 replies; 76+ messages in thread
From: Lars Ingebrigtsen @ 2012-12-23 20:53 UTC (permalink / raw)
  To: emacs-devel

Speaking of odd key bindings, I just noticed that `home' goes to the
beginning of the line instead of the beginning of the buffer.  Looking
at the source code, it seems like this change was done 12 years ago.
:-)

Isn't that an odd choice?  `home' in Firefox, for instance, goes to the
beginning of the page.  And `M-C-<' is more of a mouthful than `C-a', so
that seems kinda odd...

-- 
(domestic pets only, the antidote for overdose, milk.)
  http://lars.ingebrigtsen.no  *  Lars Magne Ingebrigtsen




^ permalink raw reply	[flat|nested] 76+ messages in thread

* RE: Unuseful keybindings
  2012-12-23 20:25                                 ` Jambunathan K
@ 2012-12-23 21:04                                   ` Drew Adams
  2012-12-24  9:35                                   ` Juri Linkov
  1 sibling, 0 replies; 76+ messages in thread
From: Drew Adams @ 2012-12-23 21:04 UTC (permalink / raw)
  To: 'Jambunathan K'
  Cc: emacs-devel, 'Sebastien Vauban', 'Dmitry Gutov'

> This is how I achieve maximized frame on startup.
> 
> 1. Start Emacs
> 2. Maximize the frame by hand.
> 3. Save window configuration (or is it frame configuration?) to a
>    register.
> 4. pp-eval the register.
> 5. Identify the height and width of the maximized frame.
> 6. Dump it in my .emacs.

Why not just put `maximize-frame' in `emacs-startup-hook'?

I don't know what the current frame-maximizing or full-screen support is for
`emacs -Q'.  And yes, I realize that a maximized frame is not the same as
full-screen.

But `maximize-frame' is available here, at least:
overview: http://www.emacswiki.org/emacs/FullScreen#frame-cmds.el
code:     http://www.emacswiki.org/emacs-en/download/frame-cmds.el

> This method works flawlessly.

Whatever.

> That said, I will say vote for leaving F-Keys undefined and ubound,
> say for F1.

Good.

Was that "same for F1"?  "save (except) for F1"?
Do you want to unbind `f1'?

> I am surprised that people are not talking about F2.

At least it is bound to a prefix key, not wasted on a single command that is not
repeatable.  There are 4 key bindings for that prefix key (but only 3 commands).

But yes, I would probably rather see the two-column stuff moved to a
harder-to-use prefix key.  But I say that out of ignorance - I don't use it or
know much about it, and because that prefix is used for only 3 commands.




^ permalink raw reply	[flat|nested] 76+ messages in thread

* RE: Unuseful keybindings
  2012-12-23 20:53                             ` Lars Ingebrigtsen
@ 2012-12-23 21:13                               ` Drew Adams
  2012-12-24 21:43                                 ` Drew Adams
  2012-12-23 21:25                               ` Andreas Schwab
  2012-12-24  9:39                               ` Juri Linkov
  2 siblings, 1 reply; 76+ messages in thread
From: Drew Adams @ 2012-12-23 21:13 UTC (permalink / raw)
  To: 'Lars Ingebrigtsen', emacs-devel

> Speaking of odd key bindings, I just noticed that `home' goes to the
> beginning of the line instead of the beginning of the buffer.  Looking
> at the source code, it seems like this change was done 12 years ago.
> :-)
> 
> Isn't that an odd choice?  `home' in Firefox, for instance, 
> goes to the beginning of the page.  And `M-C-<' is more of a
> mouthful than `C-a', so that seems kinda odd...

Indeed.  I didn't even realize that we had made such a silly change.  It was bad
enough to waste `home' on `beginning-of-buffer' (prior to Emacs 21, when that
silly change was made).

Now if `home' were bound to something like the following, which is repeatable,
then it would be a lot more useful.  First time: bol, subsequently:
next/previous line's bol.

I use this and the eol version _all_ the time (but I use them on `C-a' and
`C-e', not `home' and `end').

(defun beginning-of-line+ (&optional n)
  "Move cursor to beginning of current line or next line if repeated.
This is the similar to `beginning-of-line', but:
1. With arg N, the direction is the opposite: this command moves
   backward, not forward, N lines.
2. If called interactively with no prefix arg:
      If the previous command was also `beginning-of-line+', then move
      to the beginning of the previous line.  Else, move to the
      beginning of the current line.
   Otherwise, move to the beginning of the Nth previous line (Nth next
      line if N<0).  Command `beginning-of-line', by contrast, moves to
      the beginning of the (N-1)th next line."
  (interactive
   (list (if current-prefix-arg (prefix-numeric-value current-prefix-arg) 0)))
  (unless n (setq n 0))                 ; non-interactive with no arg
  (if (and (eq this-command last-command) (not current-prefix-arg))
      (forward-line -1)
    (forward-line (- n))))

http://www.emacswiki.org/emacs-en/download/misc-cmds.el




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-23 20:53                             ` Lars Ingebrigtsen
  2012-12-23 21:13                               ` Drew Adams
@ 2012-12-23 21:25                               ` Andreas Schwab
  2012-12-24  9:39                               ` Juri Linkov
  2 siblings, 0 replies; 76+ messages in thread
From: Andreas Schwab @ 2012-12-23 21:25 UTC (permalink / raw)
  To: emacs-devel

Lars Ingebrigtsen <larsi@gnus.org> writes:

> Isn't that an odd choice?  `home' in Firefox, for instance, goes to the
> beginning of the page.

You need to compare it with a multi-line edit field.  Home and End are
the standard bindings for beginning and end of line.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-23 20:25                                 ` Jambunathan K
  2012-12-23 21:04                                   ` Drew Adams
@ 2012-12-24  9:35                                   ` Juri Linkov
  2012-12-24 13:02                                     ` Xue Fuqiao
  1 sibling, 1 reply; 76+ messages in thread
From: Juri Linkov @ 2012-12-24  9:35 UTC (permalink / raw)
  To: Jambunathan K; +Cc: 'Dmitry Gutov', Drew Adams, emacs-devel

> 1. Start Emacs
> 2. Maximize the frame by hand.

Maximizing the frame automatically used to be a problem on KDE
that required using such ugly tricks in ~/.emacs:

(add-hook 'after-init-hook
          (lambda ()
            (run-at-time
             "1 second" nil
             'shell-command-to-string   ; to not overwrite the echo area
             "wmctrl -r :ACTIVE: -b add,maximized_vert,maximized_horz"))
          t)

But now on GNOME it's easy to modify the command line
and to add the command line argument "-mm" or "--maximized"
that maximizes the frame automatically (also "--fullscreen", "-fs").

If "-mm" still doesn't work on KDE or Xfce, please report the bug.

> I am surprised that people are not
> talking about F2.  I accidentally
> pressed it twice and what I get is a
> weird looking email :-)

Its commands are already duplicated on the prefix key `C-x 6',
so there is no obstacle to unbind `F2'.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-23 20:53                             ` Lars Ingebrigtsen
  2012-12-23 21:13                               ` Drew Adams
  2012-12-23 21:25                               ` Andreas Schwab
@ 2012-12-24  9:39                               ` Juri Linkov
  2 siblings, 0 replies; 76+ messages in thread
From: Juri Linkov @ 2012-12-24  9:39 UTC (permalink / raw)
  To: emacs-devel

> Speaking of odd key bindings, I just noticed that `home' goes to the
> beginning of the line instead of the beginning of the buffer.  Looking
> at the source code, it seems like this change was done 12 years ago.
> :-)
>
> Isn't that an odd choice?  `home' in Firefox, for instance, goes to the
> beginning of the page.  And `M-C-<' is more of a mouthful than `C-a', so
> that seems kinda odd...

`home' in Firefox goes to beginning of the line instead of the
beginning of the page when the cursor is enabled with `F7' that
allows text to be selected with the keyboard.  This mode corresponds
to Emacs more closely.

To go to the beginning of the buffer is still possible in Emacs
with the key `begin' (`kp-begin' on the keymap near the `home' key).

Maybe in modes where the cursor is hidden it would make sense
for `home' to go to the beginning of the buffer in modes like
`image-mode', but why duplicate the bindings of `home' and `begin'.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-23  9:31             ` Juri Linkov
@ 2012-12-24 10:29               ` Juri Linkov
  2012-12-24 17:10                 ` Juri Linkov
  2013-01-10 19:13                 ` Sam Steingold
  0 siblings, 2 replies; 76+ messages in thread
From: Juri Linkov @ 2012-12-24 10:29 UTC (permalink / raw)
  To: Chong Yidong; +Cc: Mathias Dahl, emacs-devel, Andreas Schwab, Thierry Volpiatto

> This can be improved with the following patch:

Actually thinking more in terms of the command line arguments
`--maximized' and `--fullscreen' suggests a better patch
that for consistency defines exactly the same corresponding commands
`toggle-frame-maximized' and `toggle-frame-fullscreen':

=== modified file 'lisp/frame.el'
*** lisp/frame.el	2012-12-12 14:43:45 +0000
--- lisp/frame.el	2012-12-24 10:28:49 +0000
*************** (define-minor-mode blink-cursor-mode
*** 1655,1685 ****
  
  \f
  ;; Frame maximization
! (defcustom frame-maximization-style 'maximized
!   "The maximization style of \\[toggle-frame-maximized]."
!   :version "24.4"
!   :type '(choice
!           (const :tab "Respect window manager screen decorations." maximized)
!           (const :tab "Ignore window manager screen decorations." fullscreen))
!   :group 'frames)
! 
! (defun toggle-frame-maximized ()
!   "Maximize/un-maximize Emacs frame according to `frame-maximization-style'.
! See also `cycle-frame-maximized'."
    (interactive)
    (modify-frame-parameters
!    nil `((fullscreen . ,(if (frame-parameter nil 'fullscreen)
!                             nil frame-maximization-style)))))
! 
! (defun cycle-frame-maximized ()
!   "Cycle Emacs frame between normal, maximized, and fullscreen.
  See also `toggle-frame-maximized'."
    (interactive)
    (modify-frame-parameters
!    nil `((fullscreen . ,(cl-case (frame-parameter nil 'fullscreen)
!                                  ((nil) 'maximized)
!                                  ((maximized) 'fullscreen)
!                                  ((fullscreen) nil))))))
  
  \f
  ;;;; Key bindings
--- 1655,1680 ----
  
  \f
  ;; Frame maximization
! 
! (defun toggle-frame-maximized (&optional frame)
!   "Maximize FRAME or un-maximize if it is already maximized.
! Respect window manager screen decorations.
! See also `toggle-frame-fullscreen'."
    (interactive)
    (modify-frame-parameters
!    nil `((fullscreen . ,(if (frame-parameter frame 'fullscreen)
! 			    nil
! 			  'maximized)))))
! 
! (defun toggle-frame-fullscreen (&optional frame)
!   "Maximize FRAME to fullscreen or un-maximize if it is already fullscreen.
! Ignore window manager screen decorations.
  See also `toggle-frame-maximized'."
    (interactive)
    (modify-frame-parameters
!    nil `((fullscreen . ,(if (frame-parameter frame 'fullscreen)
! 			    nil
! 			  'fullscreen)))))
  
  \f
  ;;;; Key bindings
*************** (define-key ctl-x-5-map "2" 'make-frame-
*** 1688,1695 ****
  (define-key ctl-x-5-map "1" 'delete-other-frames)
  (define-key ctl-x-5-map "0" 'delete-frame)
  (define-key ctl-x-5-map "o" 'other-frame)
! (define-key global-map [f11] 'toggle-frame-maximized)
! (define-key global-map [(shift f11)] 'cycle-frame-maximized)
  
  \f
  ;; Misc.
--- 1683,1690 ----
  (define-key ctl-x-5-map "1" 'delete-other-frames)
  (define-key ctl-x-5-map "0" 'delete-frame)
  (define-key ctl-x-5-map "o" 'other-frame)
! (define-key global-map [f11] 'toggle-frame-fullscreen)
! (define-key global-map [(meta f10)] 'toggle-frame-maximized)
  
  \f
  ;; Misc.




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-24  9:35                                   ` Juri Linkov
@ 2012-12-24 13:02                                     ` Xue Fuqiao
  2012-12-24 14:13                                       ` Drew Adams
  0 siblings, 1 reply; 76+ messages in thread
From: Xue Fuqiao @ 2012-12-24 13:02 UTC (permalink / raw)
  To: Juri Linkov
  Cc: emacs-devel, Jambunathan K, Drew Adams, 'Dmitry Gutov'

On Mon, 24 Dec 2012 11:35:46 +0200
Juri Linkov <juri@jurta.org> wrote:

> Its commands are already duplicated on the prefix key `C-x 6',
> so there is no obstacle to unbind `F2'.

That's true.  I favor the proposal that unbinds F2.
-- 
Best regards, Xue Fuqiao.
http://www.emacswiki.org/emacs/XueFuqiao



^ permalink raw reply	[flat|nested] 76+ messages in thread

* RE: Unuseful keybindings
  2012-12-24 13:02                                     ` Xue Fuqiao
@ 2012-12-24 14:13                                       ` Drew Adams
  0 siblings, 0 replies; 76+ messages in thread
From: Drew Adams @ 2012-12-24 14:13 UTC (permalink / raw)
  To: 'Xue Fuqiao', 'Juri Linkov'
  Cc: emacs-devel, 'Jambunathan K', 'Dmitry Gutov'

> > Its commands are already duplicated on the prefix key `C-x 6',
> > so there is no obstacle to unbind `F2'.
> 
> That's true.  I favor the proposal that unbinds F2.

+1




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-24 10:29               ` Juri Linkov
@ 2012-12-24 17:10                 ` Juri Linkov
  2012-12-29  5:57                   ` Chong Yidong
  2013-01-10 19:13                 ` Sam Steingold
  1 sibling, 1 reply; 76+ messages in thread
From: Juri Linkov @ 2012-12-24 17:10 UTC (permalink / raw)
  To: Chong Yidong; +Cc: Thierry Volpiatto, emacs-devel, Andreas Schwab, Mathias Dahl

> Actually thinking more in terms of the command line arguments
> `--maximized' and `--fullscreen' suggests a better patch
> that for consistency defines exactly the same corresponding commands
> `toggle-frame-maximized' and `toggle-frame-fullscreen':

It is still too bad that when the frame is maximized, enabling and
disabling fullscreen doesn't restore its maximized state.

The problem is that we have only one frame parameter `fullscreen'
for both frame states `maximized' and `fullscreen'.

So for proper behavior like in other applications we need to remember
the previous `maximized' state and restore it afterwards
like `toggle-frame-fullscreen' does in the following patch:

=== modified file 'lisp/frame.el'
*** lisp/frame.el	2012-12-12 14:43:45 +0000
--- lisp/frame.el	2012-12-24 17:10:45 +0000
*************** (define-minor-mode blink-cursor-mode
*** 1655,1685 ****
  
  \f
  ;; Frame maximization
- (defcustom frame-maximization-style 'maximized
-   "The maximization style of \\[toggle-frame-maximized]."
-   :version "24.4"
-   :type '(choice
-           (const :tab "Respect window manager screen decorations." maximized)
-           (const :tab "Ignore window manager screen decorations." fullscreen))
-   :group 'frames)
  
  (defun toggle-frame-maximized ()
!   "Maximize/un-maximize Emacs frame according to `frame-maximization-style'.
! See also `cycle-frame-maximized'."
    (interactive)
    (modify-frame-parameters
!    nil `((fullscreen . ,(if (frame-parameter nil 'fullscreen)
!                             nil frame-maximization-style)))))
! 
! (defun cycle-frame-maximized ()
!   "Cycle Emacs frame between normal, maximized, and fullscreen.
  See also `toggle-frame-maximized'."
    (interactive)
    (modify-frame-parameters
!    nil `((fullscreen . ,(cl-case (frame-parameter nil 'fullscreen)
!                                  ((nil) 'maximized)
!                                  ((maximized) 'fullscreen)
!                                  ((fullscreen) nil))))))
  
  \f
  ;;;; Key bindings
--- 1655,1690 ----
  
  \f
  ;; Frame maximization
  
  (defun toggle-frame-maximized ()
!   "Maximize the selected frame or un-maximize if it is already maximized.
! Respect window manager screen decorations.
! See also `toggle-frame-fullscreen'."
    (interactive)
    (modify-frame-parameters
!    nil
!    `((fullscreen
!       . ,(cond
! 	  ((eq (frame-parameter nil 'fullscreen) 'fullscreen) 'maximized)
! 	  ((frame-parameter nil 'fullscreen) nil)
! 	  (t 'maximized))))))
! 
! (defun toggle-frame-fullscreen ()
!   "Maximize selected frame to fullscreen or restore if it is fullscreen.
! Ignore window manager screen decorations.
  See also `toggle-frame-maximized'."
    (interactive)
    (modify-frame-parameters
!    nil
!    `((fullscreen
!       . ,(if (eq (frame-parameter nil 'fullscreen) 'fullscreen)
! 	     (if (eq (frame-parameter nil 'maximized) 'maximized)
! 		 'maximized)
! 	   'fullscreen))
!      (maximized
!       . ,(if (eq (frame-parameter nil 'fullscreen) 'fullscreen)
! 	     nil
! 	   (frame-parameter nil 'fullscreen))))))
  
  \f
  ;;;; Key bindings



^ permalink raw reply	[flat|nested] 76+ messages in thread

* RE: Unuseful keybindings
  2012-12-23 21:13                               ` Drew Adams
@ 2012-12-24 21:43                                 ` Drew Adams
  0 siblings, 0 replies; 76+ messages in thread
From: Drew Adams @ 2012-12-24 21:43 UTC (permalink / raw)
  To: 'Lars Ingebrigtsen', emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1098 bytes --]

> > Speaking of odd key bindings, I just noticed that `home' goes to
> > the beginning of the line instead of the beginning of the buffer.
> 
> Now if `home' were bound to something like the following, 
> which is repeatable, then it would be a lot more useful.
> First time: bol, subsequently: next/previous line's bol.
> 
> (defun beginning-of-line+ ...
> http://www.emacswiki.org/emacs-en/download/misc-cmds.el

The attached code puts useful, repeatable keys on `C-a', `C-e', `home' and `end'
in `visual-line-mode'.  The `home' and `end' actions are presumably similar to
what is done in the greater world, except that you can repeat them to keep
moving.

Repeating `C-a' or `C-e' moves to the beginning/end of the previous/next visual
line.  Repeating `home' or `end' moves to the beginning/end of the previous/next
full logical line.  For non-repeated use, everything should be the same as
usual, including the use of a prefix arg.

IMHO, these commands are what Emacs should bind to `C-a', `C-e', `home', and
`end' in `visual-line-mode'.  I've added this code to `misc-cmds.el', in any
case.

[-- Attachment #2: throw-beg-end.el --]
[-- Type: application/octet-stream, Size: 4776 bytes --]

(defun end-of-line+ (&optional n)
  "Move cursor to end of current line or end of next line if repeated.
This is similar to `end-of-line', but:
  If called interactively with no prefix arg:
     If the previous command was also `end-of-line+', then move to the
     end of the next line.  Else, move to the end of the current line.
  Otherwise, move to the end of the Nth next line (Nth previous line
     if N<0).  Command `end-of-line', by contrast, moves to the end of
     the (N-1)th next line."
  (interactive
   (list (if current-prefix-arg (prefix-numeric-value current-prefix-arg) 0)))
  (unless n (setq n 0))                 ; non-interactive with no arg
  (if (and (eq this-command last-command) (not current-prefix-arg))
      (forward-line 1)
    (forward-line n))
  (let ((inhibit-field-text-motion  t))  (end-of-line)))

(defun beginning-of-line+ (&optional n)
  "Move cursor to beginning of current line or next line if repeated.
This is the similar to `beginning-of-line', but:
1. With arg N, the direction is the opposite: this command moves
   backward, not forward, N lines.
2. If called interactively with no prefix arg:
      If the previous command was also `beginning-of-line+', then move
      to the beginning of the previous line.  Else, move to the
      beginning of the current line.
   Otherwise, move to the beginning of the Nth previous line (Nth next
      line if N<0).  Command `beginning-of-line', by contrast, moves to
      the beginning of the (N-1)th next line."
  (interactive
   (list (if current-prefix-arg (prefix-numeric-value current-prefix-arg) 0)))
  (unless n (setq n 0))                 ; non-interactive with no arg
  (if (and (eq this-command last-command) (not current-prefix-arg))
      (forward-line -1)
    (forward-line (- n))))

(defun end-of-visual-line+ (&optional n)
  "Move cursor to end of current visual line, or end of next if repeated.
If point reaches the beginning or end of buffer, it stops there.
To ignore intangibility, bind `inhibit-point-motion-hooks' to t.

This is similar to `end-of-visual-line', but:
  If called interactively with no prefix arg:
     If the previous command was also `end-of-visual-line+', then move
     to the end of the next visual line.  Else, end of current one.
  Otherwise, move to the end of the Nth next visual line (Nth previous
     one if N<0).  Command `end-of-visual-line', by contrast, moves to
     the end of the (N-1)th next line."
  (interactive
   (list (if current-prefix-arg (prefix-numeric-value current-prefix-arg) 0)))
  (unless n (setq n 0))                 ; non-interactive with no arg 
  (let ((line-move-visual  t))
    (if (and (eq this-command last-command)  (not current-prefix-arg))
        (line-move 1 t)
      (line-move n t)))
  ;; Unlike `move-beginning-of-line', `move-end-of-line' doesn't
  ;; constrain to field boundaries, so we don't either.
  (vertical-motion (cons (window-width) 0)))

(defun beginning-of-visual-line+ (&optional n)
  "Move cursor to beginning of current visual line or next if repeated.
If point reaches the beginning or end of buffer, it stops there.
To ignore intangibility, bind `inhibit-point-motion-hooks' to t.

This is the similar to `beginning-of-visual-line', but:
1. With arg N, the direction is the opposite: this command moves
   backward, not forward, N visual lines.
2. If called interactively with no prefix arg:
      If the previous command was also `beginning-of-visual-line+',
      then move to the beginning of the previous visual line.  Else,
      move to the beginning of the current visual line.
   Otherwise, move to the beginning of the Nth previous visual line
      (Nth next one if N<0).  Command `beginning-of-visual-line', by
      contrast, moves to the beginning of the (N-1)th next visual
      line."
  (interactive
   (list (if current-prefix-arg (prefix-numeric-value current-prefix-arg) 0)))
  (unless n (setq n 0))                 ; non-interactive with no arg
  (let ((opoint  (point)))
    (let ((line-move-visual  t))
      (if (and (eq this-command last-command)  (not current-prefix-arg))
          (line-move -1 t)
        (line-move n t)))
    (vertical-motion 0)
    ;; Constrain to field boundaries, like `move-beginning-of-line'.
    (goto-char (constrain-to-field (point) opoint (/= n 1)))))

(define-key visual-line-mode-map [remap move-beginning-of-line] nil)
(define-key visual-line-mode-map [remap move-end-of-line] nil)
(define-key visual-line-mode-map [home] 'beginning-of-line+)
(define-key visual-line-mode-map [end]  'end-of-line+)
(define-key visual-line-mode-map "\C-a" 'beginning-of-visual-line+)
(define-key visual-line-mode-map "\C-e" 'end-of-visual-line+)

^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-23 16:55                         ` Drew Adams
@ 2012-12-26 14:32                           ` Kevin Rodgers
  2012-12-26 22:21                             ` Xue Fuqiao
  0 siblings, 1 reply; 76+ messages in thread
From: Kevin Rodgers @ 2012-12-26 14:32 UTC (permalink / raw)
  To: emacs-devel

On 12/23/12 9:55 AM, Drew Adams wrote:
>>> There is absolutely no reason for Emacs to bind `f3' and
>> `f4' by default.
>>
>> I have no problem rebinding `f3' to `kill-this-buffer', and `f4' to
>> `dired-jump' in ~/.emacs so they work like in GNU Midnight Commander
>> (now I use Dired instead of MC, but old habits for keys persist ;-)
>
> No, they should be UNbound.  That's the point.
> Your proposal is a case of "out of the frying pan and into the fire".

I think Juri meant that he does not have an issue with whatever default
binding for f3 and f4 is provided by Emacs, because he can rebind them
in his personal ~/.emacs.

FWIW, I agree with Drew's main point, that specific function keys should not
be given default bindings without discussion of the general issues.

...

>> Regarding `f11', the reason why it's a good change is to provide
>> compatibility in Emacs between graphical displays and text terminals.
>> In xterm while running `emacs -nw' typing `f11' toggles Full
>> Screen mode, but on graphical displays this failed until recent addition
>> of the `f11' keybinding.
>
> Again, a pretty weak reason.  But better than what's been given so far.
>
> There are other differences between text terminal keys and graphic terminal
> keys.  And `xterm' is not all text terminals, IIUC (please correct me if I'm
> mistaken).

Seems like a good reason to me.  Is there a policy by the Emacs developers, to
actively work to minimize the differences between text and graphic frames?

-- 
Kevin Rodgers
Denver, Colorado, USA




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-26 14:32                           ` Kevin Rodgers
@ 2012-12-26 22:21                             ` Xue Fuqiao
  2012-12-27  3:42                               ` Eli Zaretskii
  0 siblings, 1 reply; 76+ messages in thread
From: Xue Fuqiao @ 2012-12-26 22:21 UTC (permalink / raw)
  To: Kevin Rodgers; +Cc: emacs-devel

On Wed, 26 Dec 2012 07:32:08 -0700
Kevin Rodgers <kevin.d.rodgers@gmail.com> wrote:

> Is there a policy by the Emacs developers, to
> actively work to minimize the differences between text and graphic frames?

I'm also curious about this question.
-- 
Best regards, Xue Fuqiao.
http://www.emacswiki.org/emacs/XueFuqiao



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-26 22:21                             ` Xue Fuqiao
@ 2012-12-27  3:42                               ` Eli Zaretskii
  0 siblings, 0 replies; 76+ messages in thread
From: Eli Zaretskii @ 2012-12-27  3:42 UTC (permalink / raw)
  To: Xue Fuqiao; +Cc: kevin.d.rodgers, emacs-devel

> Date: Thu, 27 Dec 2012 06:21:00 +0800
> From: Xue Fuqiao <xfq.free@gmail.com>
> Cc: emacs-devel@gnu.org
> 
> On Wed, 26 Dec 2012 07:32:08 -0700
> Kevin Rodgers <kevin.d.rodgers@gmail.com> wrote:
> 
> > Is there a policy by the Emacs developers, to
> > actively work to minimize the differences between text and graphic frames?
> 
> I'm also curious about this question.

The answer is YES, though in practice some substantial differences are
unavoidable.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-24 17:10                 ` Juri Linkov
@ 2012-12-29  5:57                   ` Chong Yidong
  2013-01-10 19:17                     ` Sam Steingold
  0 siblings, 1 reply; 76+ messages in thread
From: Chong Yidong @ 2012-12-29  5:57 UTC (permalink / raw)
  To: Juri Linkov; +Cc: Thierry Volpiatto, emacs-devel, Andreas Schwab, Mathias Dahl

Juri Linkov <juri@jurta.org> writes:

> It is still too bad that when the frame is maximized, enabling and
> disabling fullscreen doesn't restore its maximized state.
>
> The problem is that we have only one frame parameter `fullscreen'
> for both frame states `maximized' and `fullscreen'.
>
> So for proper behavior like in other applications we need to remember
> the previous `maximized' state and restore it afterwards
> like `toggle-frame-fullscreen' does in the following patch:

This patch looks good, thanks.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-24 10:29               ` Juri Linkov
  2012-12-24 17:10                 ` Juri Linkov
@ 2013-01-10 19:13                 ` Sam Steingold
  2013-01-10 22:38                   ` Xue Fuqiao
  2013-01-11  0:31                   ` Juri Linkov
  1 sibling, 2 replies; 76+ messages in thread
From: Sam Steingold @ 2013-01-10 19:13 UTC (permalink / raw)
  To: emacs-devel

> * Juri Linkov <whev@whegn.bet> [2012-12-24 12:29:19 +0200]:
>
> ! (define-key global-map [(meta f10)] 'toggle-frame-maximized)

this is no good.
M-f10 is bound by ubuntu/unity by default, so it is not available to
Emacs unless the user takes a non-trivial action.

-- 
Sam Steingold (http://sds.podval.org/) on Ubuntu 12.04 (precise) X 11.0.11103000
http://www.childpsy.net/ http://iris.org.il http://openvotingconsortium.org
http://pmw.org.il http://ffii.org http://thereligionofpeace.com
Never succeed from the first try - if you do, nobody will think it was hard.




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2012-12-29  5:57                   ` Chong Yidong
@ 2013-01-10 19:17                     ` Sam Steingold
  0 siblings, 0 replies; 76+ messages in thread
From: Sam Steingold @ 2013-01-10 19:17 UTC (permalink / raw)
  To: emacs-devel

> * Chong Yidong <plq@tah.bet> [2012-12-29 13:57:52 +0800]:
>
> Juri Linkov <juri@jurta.org> writes:
>
>> It is still too bad that when the frame is maximized, enabling and
>> disabling fullscreen doesn't restore its maximized state.
>>
>> The problem is that we have only one frame parameter `fullscreen'
>> for both frame states `maximized' and `fullscreen'.
>>
>> So for proper behavior like in other applications we need to remember
>> the previous `maximized' state and restore it afterwards
>> like `toggle-frame-fullscreen' does in the following patch:
>
> This patch looks good, thanks.

Yuk.

Now when my frame is maximized and I hit f11, it is fullscreen, and
when I hit f11 again, it "normal" (not maximized).
Since M-f10 is not available to Emacs by default, I cannot get back my
maximized behavior with the keyboard.

I don't see how this is an improvement.

-- 
Sam Steingold (http://sds.podval.org/) on Ubuntu 12.04 (precise) X 11.0.11103000
http://www.childpsy.net/ http://mideasttruth.com http://honestreporting.com
http://iris.org.il http://thereligionofpeace.com http://palestinefacts.org
WinWord 6.0 UNinstall: Not enough disk space to uninstall WinWord




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2013-01-10 19:13                 ` Sam Steingold
@ 2013-01-10 22:38                   ` Xue Fuqiao
  2013-01-11  0:31                   ` Juri Linkov
  1 sibling, 0 replies; 76+ messages in thread
From: Xue Fuqiao @ 2013-01-10 22:38 UTC (permalink / raw)
  To: sds; +Cc: emacs-devel

On Thu, 10 Jan 2013 14:13:12 -0500
Sam Steingold <sds@gnu.org> wrote:

> > * Juri Linkov <whev@whegn.bet> [2012-12-24 12:29:19 +0200]:
> >
> > ! (define-key global-map [(meta f10)] 'toggle-frame-maximized)
> 
> this is no good.
> M-f10 is bound by ubuntu/unity by default, so it is not available to
> Emacs unless the user takes a non-trivial action.

There are _many_ Emacs users, some of them use GNU, some of them use FreeBSD, some of them use Solaris, and some of them use MS-Windows...  Unity users can modify the key bindings as they wish.

And function keys are reserved for users and packages.
-- 
Best regards, Xue Fuqiao.
http://www.emacswiki.org/emacs/XueFuqiao



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2013-01-10 19:13                 ` Sam Steingold
  2013-01-10 22:38                   ` Xue Fuqiao
@ 2013-01-11  0:31                   ` Juri Linkov
  2013-01-11  1:17                     ` Stefan Monnier
  1 sibling, 1 reply; 76+ messages in thread
From: Juri Linkov @ 2013-01-11  0:31 UTC (permalink / raw)
  To: Sam Steingold; +Cc: emacs-devel

>> ! (define-key global-map [(meta f10)] 'toggle-frame-maximized)
>
> this is no good.
> M-f10 is bound by ubuntu/unity by default, so it is not available to
> Emacs unless the user takes a non-trivial action.

Yes, M-f10 maximizes the window on Gnome as documented in
http://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts

What would be a better non-conflicting key?  Maybe M-f11?
It is not used by any system according to that table.

> Now when my frame is maximized and I hit f11, it is fullscreen, and
> when I hit f11 again, it "normal" (not maximized).
> Since M-f10 is not available to Emacs by default, I cannot get back my
> maximized behavior with the keyboard.

Do you see the same problem with
(define-key global-map [(meta f11)] 'toggle-frame-maximized)



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2013-01-11  0:31                   ` Juri Linkov
@ 2013-01-11  1:17                     ` Stefan Monnier
  2013-01-11  9:58                       ` Juri Linkov
  0 siblings, 1 reply; 76+ messages in thread
From: Stefan Monnier @ 2013-01-11  1:17 UTC (permalink / raw)
  To: Juri Linkov; +Cc: Sam Steingold, emacs-devel

>>> ! (define-key global-map [(meta f10)] 'toggle-frame-maximized)
> Yes, M-f10 maximizes the window on Gnome as documented in
> http://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts
> What would be a better non-conflicting key?

I don't understand why you think there's a conflict.


        Stefan



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2013-01-11  1:17                     ` Stefan Monnier
@ 2013-01-11  9:58                       ` Juri Linkov
  2013-01-11 14:42                         ` Stefan Monnier
  2013-01-11 18:26                         ` chad
  0 siblings, 2 replies; 76+ messages in thread
From: Juri Linkov @ 2013-01-11  9:58 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Sam Steingold, emacs-devel

>>>> ! (define-key global-map [(meta f10)] 'toggle-frame-maximized)
>> Yes, M-f10 maximizes the window on Gnome as documented in
>> http://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts
>> What would be a better non-conflicting key?
>
> I don't understand why you think there's a conflict.

When the Gnome system key M-f10 maximizes the frame,
Emacs doesn't reflect this change in the frame parameter
`fullscreen'.

The test case that demonstrates this problem:

1. emacs -Q
2. Eval (frame-parameter nil 'fullscreen) => nil
3. Maximize the frame using Gnome system keys.
4. Eval (frame-parameter nil 'fullscreen) => nil
5. Maximize the frame using `M-x toggle-frame-maximized RET'
6. Eval (frame-parameter nil 'fullscreen) => 'maximized

I.e. it's only one-way: changing the frame parameter `fullscreen' to
`maximized' maximizes the frame, but maximizing the frame doesn't change
the frame parameter `fullscreen'.  Is this a bug?

When maximizing the frame using Gnome system keys doesn't change the frame
parameter `fullscreen' to `maximized', we can't save this value when
enabling fullscreen mode and restore it after disabling fullscreen mode.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2013-01-11  9:58                       ` Juri Linkov
@ 2013-01-11 14:42                         ` Stefan Monnier
  2013-01-11 18:26                         ` chad
  1 sibling, 0 replies; 76+ messages in thread
From: Stefan Monnier @ 2013-01-11 14:42 UTC (permalink / raw)
  To: Juri Linkov; +Cc: Sam Steingold, emacs-devel

>>>>> ! (define-key global-map [(meta f10)] 'toggle-frame-maximized)
>>> Yes, M-f10 maximizes the window on Gnome as documented in
>>> http://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts
>>> What would be a better non-conflicting key?
>> I don't understand why you think there's a conflict.
> When the Gnome system key M-f10 maximizes the frame,
> Emacs doesn't reflect this change in the frame parameter
> `fullscreen'.

But that's true regardless of the existence of the above quoted define-key.
So it's an orthogonal problem to this perceived key conflict.


        Stefan



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2013-01-11  9:58                       ` Juri Linkov
  2013-01-11 14:42                         ` Stefan Monnier
@ 2013-01-11 18:26                         ` chad
  2013-01-12  0:50                           ` Juri Linkov
  1 sibling, 1 reply; 76+ messages in thread
From: chad @ 2013-01-11 18:26 UTC (permalink / raw)
  To: emacs-devel@gnu.org Development

On 11 Jan 2013, at 01:58, Juri Linkov <juri@jurta.org> wrote:
> When the Gnome system key M-f10 maximizes the frame,
> Emacs doesn't reflect this change in the frame parameter
> `fullscreen'.

Sounds like a bug with window manager hints, either in gnome's setting
them or emacs' understanding them. If you're up for it, you should be
able to use xprop to see if gnome is setting the hint or not (it's
entirely possible that it's just finding the biggest window size and
setting emacs to that, which is not correct).

Hope that helps,
~Chad




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2013-01-11 18:26                         ` chad
@ 2013-01-12  0:50                           ` Juri Linkov
  2013-01-12 10:03                             ` Jan Djärv
  0 siblings, 1 reply; 76+ messages in thread
From: Juri Linkov @ 2013-01-12  0:50 UTC (permalink / raw)
  To: chad; +Cc: emacs-devel@gnu.org Development

>> When the Gnome system key M-f10 maximizes the frame,
>> Emacs doesn't reflect this change in the frame parameter
>> `fullscreen'.
>
> Sounds like a bug with window manager hints, either in gnome's setting
> them or emacs' understanding them. If you're up for it, you should be
> able to use xprop to see if gnome is setting the hint or not (it's
> entirely possible that it's just finding the biggest window size and
> setting emacs to that, which is not correct).

Actually there are two problems:

1. The above mentioned problem occurs only on non-GTK builds.
   When I tried to use xprop for a maximized frame its output was:
   _NET_WM_STATE(ATOM) = _NET_WM_STATE_MAXIMIZED_VERT, _NET_WM_STATE_MAXIMIZED_HORZ

2. On GTK builds there is another problem: evaluating

   (set-frame-parameter nil 'fullscreen 'fullscreen)

   modifies the frame parameter `fullscreen' to `fullboth',
   not to `fullscreen' as requested.  In this case xprop outputs:
   _NET_WM_STATE(ATOM) = _NET_WM_STATE_FULLSCREEN



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2013-01-12  0:50                           ` Juri Linkov
@ 2013-01-12 10:03                             ` Jan Djärv
  2013-01-13 10:19                               ` Juri Linkov
  0 siblings, 1 reply; 76+ messages in thread
From: Jan Djärv @ 2013-01-12 10:03 UTC (permalink / raw)
  To: Juri Linkov; +Cc: chad, emacs-devel@gnu.org Development

Hello.

12 jan 2013 kl. 01:50 skrev Juri Linkov <juri@jurta.org>:

>>> When the Gnome system key M-f10 maximizes the frame,
>>> Emacs doesn't reflect this change in the frame parameter
>>> `fullscreen'.
>> 
>> Sounds like a bug with window manager hints, either in gnome's setting
>> them or emacs' understanding them. If you're up for it, you should be
>> able to use xprop to see if gnome is setting the hint or not (it's
>> entirely possible that it's just finding the biggest window size and
>> setting emacs to that, which is not correct).
> 
> Actually there are two problems:
> 
> 1. The above mentioned problem occurs only on non-GTK builds.
>   When I tried to use xprop for a maximized frame its output was:
>   _NET_WM_STATE(ATOM) = _NET_WM_STATE_MAXIMIZED_VERT, _NET_WM_STATE_MAXIMIZED_HORZ

Sounds like we don't get property notify or does not handle it correctly.  Probably a bug.  Can you file a bug report?

> 
> 2. On GTK builds there is another problem: evaluating
> 
>   (set-frame-parameter nil 'fullscreen 'fullscreen)
> 
>   modifies the frame parameter `fullscreen' to `fullboth',
>   not to `fullscreen' as requested.  In this case xprop outputs:
>   _NET_WM_STATE(ATOM) = _NET_WM_STATE_FULLSCREEN


This is normal, fullscreen is just an alias for fullboth.

	Jan D.




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2013-01-12 10:03                             ` Jan Djärv
@ 2013-01-13 10:19                               ` Juri Linkov
  2013-01-13 11:19                                 ` Jan Djärv
  0 siblings, 1 reply; 76+ messages in thread
From: Juri Linkov @ 2013-01-13 10:19 UTC (permalink / raw)
  To: Jan Djärv; +Cc: chad, emacs-devel@gnu.org Development

>> Actually there are two problems:
>>
>> 1. The above mentioned problem occurs only on non-GTK builds.
>>   When I tried to use xprop for a maximized frame its output was:
>>   _NET_WM_STATE(ATOM) = _NET_WM_STATE_MAXIMIZED_VERT, _NET_WM_STATE_MAXIMIZED_HORZ
>
> Sounds like we don't get property notify or does not handle it correctly.
> Probably a bug.  Can you file a bug report?

Done as bug#13426.

>> 2. On GTK builds there is another problem: evaluating
>>
>>   (set-frame-parameter nil 'fullscreen 'fullscreen)
>>
>>   modifies the frame parameter `fullscreen' to `fullboth',
>>   not to `fullscreen' as requested.  In this case xprop outputs:
>>   _NET_WM_STATE(ATOM) = _NET_WM_STATE_FULLSCREEN
>
>
> This is normal, fullscreen is just an alias for fullboth.

But the problem is that the second call of
(set-frame-parameter nil 'fullscreen 'fullscreen)
modifies the frame parameter `fullscreen' from `fullboth' to `fullscreen'.
So to go to `fullscreen' requires two calls of
(set-frame-parameter nil 'fullscreen 'fullscreen)

Maybe `toggle-frame-fullscreen' should check for `fullboth' as an alias
for `fullscreen' to fix this.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Unuseful keybindings
  2013-01-13 10:19                               ` Juri Linkov
@ 2013-01-13 11:19                                 ` Jan Djärv
  0 siblings, 0 replies; 76+ messages in thread
From: Jan Djärv @ 2013-01-13 11:19 UTC (permalink / raw)
  To: Juri Linkov; +Cc: chad, emacs-devel@gnu.org Development

Hello.

13 jan 2013 kl. 11:19 skrev Juri Linkov <juri@jurta.org>:

>>> Actually there are two problems:
>>> 
>>> 1. The above mentioned problem occurs only on non-GTK builds.
>>>  When I tried to use xprop for a maximized frame its output was:
>>>  _NET_WM_STATE(ATOM) = _NET_WM_STATE_MAXIMIZED_VERT, _NET_WM_STATE_MAXIMIZED_HORZ
>> 
>> Sounds like we don't get property notify or does not handle it correctly.
>> Probably a bug.  Can you file a bug report?
> 
> Done as bug#13426.

Thanks.

> 
>>> 2. On GTK builds there is another problem: evaluating
>>> 
>>>  (set-frame-parameter nil 'fullscreen 'fullscreen)
>>> 
>>>  modifies the frame parameter `fullscreen' to `fullboth',
>>>  not to `fullscreen' as requested.  In this case xprop outputs:
>>>  _NET_WM_STATE(ATOM) = _NET_WM_STATE_FULLSCREEN
>> 
>> 
>> This is normal, fullscreen is just an alias for fullboth.
> 
> But the problem is that the second call of
> (set-frame-parameter nil 'fullscreen 'fullscreen)
> modifies the frame parameter `fullscreen' from `fullboth' to `fullscreen'.
> So to go to `fullscreen' requires two calls of
> (set-frame-parameter nil 'fullscreen 'fullscreen)
> 
> Maybe `toggle-frame-fullscreen' should check for `fullboth' as an alias
> for `fullscreen' to fix this.

Ok, then I understand.

	Jan D.




^ permalink raw reply	[flat|nested] 76+ messages in thread

end of thread, other threads:[~2013-01-13 11:19 UTC | newest]

Thread overview: 76+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-12-18 13:00 Unuseful keybindings Thierry Volpiatto
2012-12-18 13:36 ` Andreas Schwab
2012-12-18 14:48   ` Thierry Volpiatto
2012-12-18 16:58     ` Sam Steingold
2012-12-18 19:30     ` Mathias Dahl
2012-12-18 19:37       ` Thierry Volpiatto
2012-12-22  3:22         ` Chong Yidong
2012-12-22  4:39           ` Drew Adams
2012-12-22  5:09             ` Xue Fuqiao
2012-12-22 21:24             ` Sebastien Vauban
2012-12-22 21:48               ` Dmitry Gutov
2012-12-22 22:46                 ` Drew Adams
2012-12-22 23:32                   ` Dmitry Gutov
2012-12-23  0:45                     ` Drew Adams
2012-12-23  1:07                       ` Xue Fuqiao
2012-12-23  1:19                         ` Daniel Colascione
2012-12-23  1:54                           ` advertizing keyboard macros better [was: Unuseful keybindings] Drew Adams
2012-12-23  2:10                             ` Xue Fuqiao
2012-12-23  9:29                       ` Unuseful keybindings Juri Linkov
2012-12-23 16:55                         ` Drew Adams
2012-12-26 14:32                           ` Kevin Rodgers
2012-12-26 22:21                             ` Xue Fuqiao
2012-12-27  3:42                               ` Eli Zaretskii
2012-12-23 14:41                       ` Dmitry Gutov
2012-12-23 14:57                         ` Jambunathan K
2012-12-23 16:52                           ` Drew Adams
2012-12-23 17:47                             ` Jambunathan K
2012-12-23 18:44                               ` Drew Adams
2012-12-23 19:36                                 ` Jambunathan K
2012-12-23 20:25                                 ` Jambunathan K
2012-12-23 21:04                                   ` Drew Adams
2012-12-24  9:35                                   ` Juri Linkov
2012-12-24 13:02                                     ` Xue Fuqiao
2012-12-24 14:13                                       ` Drew Adams
2012-12-23 17:03                         ` Drew Adams
2012-12-23 17:33                           ` Dmitry Gutov
2012-12-23 18:51                             ` Drew Adams
2012-12-23 20:53                             ` Lars Ingebrigtsen
2012-12-23 21:13                               ` Drew Adams
2012-12-24 21:43                                 ` Drew Adams
2012-12-23 21:25                               ` Andreas Schwab
2012-12-24  9:39                               ` Juri Linkov
2012-12-23 17:58                           ` Stephen J. Turnbull
2012-12-23 18:42                             ` Drew Adams
2012-12-23  0:19                   ` Mathias Dahl
2012-12-23  0:55                     ` Drew Adams
2012-12-23  9:32                 ` Juri Linkov
2012-12-23 10:37                   ` Xue Fuqiao
2012-12-23 10:56                     ` Dmitry Gutov
2012-12-23 11:22                       ` Xue Fuqiao
2012-12-22 22:28               ` Drew Adams
2012-12-22  7:42           ` Thierry Volpiatto
2012-12-22  8:23           ` Juri Linkov
2012-12-23  9:31             ` Juri Linkov
2012-12-24 10:29               ` Juri Linkov
2012-12-24 17:10                 ` Juri Linkov
2012-12-29  5:57                   ` Chong Yidong
2013-01-10 19:17                     ` Sam Steingold
2013-01-10 19:13                 ` Sam Steingold
2013-01-10 22:38                   ` Xue Fuqiao
2013-01-11  0:31                   ` Juri Linkov
2013-01-11  1:17                     ` Stefan Monnier
2013-01-11  9:58                       ` Juri Linkov
2013-01-11 14:42                         ` Stefan Monnier
2013-01-11 18:26                         ` chad
2013-01-12  0:50                           ` Juri Linkov
2013-01-12 10:03                             ` Jan Djärv
2013-01-13 10:19                               ` Juri Linkov
2013-01-13 11:19                                 ` Jan Djärv
2012-12-19  0:27       ` Drew Adams
2012-12-19  6:32         ` Thierry Volpiatto
2012-12-19 16:43         ` Leo
2012-12-18 13:40 ` Xue Fuqiao
2012-12-18 17:41 ` Eli Zaretskii
2012-12-18 17:49   ` Thierry Volpiatto
2012-12-18 19:10     ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).