help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: When do you prefer frames instead of windows?


From: Drew Adams
Subject: RE: When do you prefer frames instead of windows?
Date: Tue, 25 Nov 2014 14:22:02 -0800 (PST)

> > Yes, this is why Emacs should provide simple key sequences to
> > raise and refocus frames.
>
> Raise-frame and lower-frame can be easily bound to whatever keys
> you like.

Of course.

> Other-frame is already bound by default to C-x 5 0
> It can't get much easier than that.

Yes, it can.  If you have 30 frames then you don't want to cycle
through them to get to the frame you want.  Same problem with
windows and `C-x o', but there you are limited to the windows
in a single frame (by default), and it is less likely that you
will have 30 of them, or even 10.

Cycling through lots of candidates, even given the additional
(prefix-arg) possibility of specifying how many to go forward
or back, is a pretty rudimentary UI when there are many candidates.

It can definitely get easier than that.  One possibility is to
let you (i.e., optionally) choose a window/frame by name, with
completion.

> There's a host of functions for frame management, try C-h a
> frame for many more

Still not good enough, IMHO.  There is lots of room for
improving how Emacs plays with frames.

FWIW, this is what I bind to `C-x o':

,----
| C-x o runs the command icicle-other-window-or-frame, which is an
| interactive compiled Lisp function in `icicles-cmd1.el'.
| 
| It is bound to C-x o.
| 
| (icicle-other-window-or-frame ARG)
| 
| Select a window or frame, by name or by order.
| This command combines Emacs commands `other-window' and `other-frame',
| together with Icicles commands `icicle-select-window',
| `icicle-select-frame', and `icicle-choose-window-for-buffer-display'.
| Use the prefix argument to choose the behavior, as follows:
| 
|  With no prefix arg or a non-zero numeric prefix arg:
|   If the selected frame has multiple windows, then this is
|   `other-window'.  Otherwise, it is `other-frame'.
| 
|  With a zero prefix arg (e.g. `C-0'):
|   If the selected frame has multiple windows, then this is
|   `icicle-select-window' with windows in the frame as candidates.
|   Otherwise (single-window frame), this is `icicle-select-frame'.
| 
|  With plain `C-u':
|   If the selected frame has multiple windows, then this is
|   `icicle-select-window' with windows from all visible frames as
|   candidates.  Otherwise, this is `icicle-select-frame'.
| 
|  With plain `C-u C-u':
|   Same as `icicle-select-window' with a negative prefix arg: Select a
|   window from any frame, including iconified and invisible frames.
|   
|  With plain `C-u C-u C-u':
|   This is `icicle-choose-window-for-buffer-display', with windows from
|   all frames (i.e., iconified and invisible) frames as candidates. 
| 
| If you use library `oneonone.el' with a standalone minibuffer frame,
| and if option `1on1-remap-other-frame-command-flag' is non-nil, then
| frame selection can include the standalone minibuffer frame.
| 
| By default, Icicle mode remaps all key sequences that are normally
| bound to `other-window' to `icicle-other-window-or-frame'.  If you do
| not want this remapping, then customize option
| `icicle-top-level-key-bindings'.
`----



reply via email to

[Prev in Thread] Current Thread [Next in Thread]