OK, I propose:
-- F6 switches between panes.
-- CTRL-F6 switches buffers in a pane. (Equivalent, more or less to switching between
different MDI windows.)
-- ALT-F6 switches between different top-level windows associated with the program. (I
don't want to have
to use ALT-TAB, esp. if I have a lot of other programs active and lots of frames.
ALT-TAB also doesn't move linearly, but back-and-forth. It's also not portable
to
X-based systems.) ALT-F6 is standard in Netscape, Word, and many others.
Four suggestions:
(1) I don't like F4 to switch to widgets. We should try to avoid taking up too much
function-key space.
(2) We could use CTRL-ALT-F6. A bit annoying, but in the same F6 sequence as above.
(3) We could use Shift-TAB.
(4) Note first that CTRL-TAB generally has the meaning of "switch between different
groups of widgets". For example, if you're in the menubar, CTRL-TAB gets you to
the
first toolbar; another CTRL-TAB and you're at the second toolbar; etc. Why don't
we use
CTRL-TAB, then, to go to a widget from a buffer? It's possible a buffer might have
various groups of grouped-together widgets, and then TAB would go from one widget to the
next, while CTRL-TAB in that group goes to the next group. (For now, these groups
don't
seem to exist, and CTRL-TAB behaves like TAB inside a widget.)
-- And ESC to exit from a widget and go back to the buffer.
As to the widget hotkey property, this is a great idea too. First let's try to just
implement the framework to allow us to traverse from one place to another and to bind
keystrokes to widgets. Kirill? Andy?
ben
Kirill 'Big K' Katsnelson wrote:
Some time ago, Ben Wing wrote...
>Why can't somebody (Andy or Kirill) implement Lisp functions to traverse to the
next
>widget in a particular buffer, or to a specified widget? Then we can define
>keyboard commands to
I would propose the following keystrokes:
>(a) switch between the last selected widget in a buffer and the
>buffer's point;
Widget -> Buffer point: ESC probably will do better.
Buffer -> Widget. I can find no analog in Microsoft products. Different hot
keys are used for different widgets. For example, in DevStudio I have 3
drop-downs on different toolbars. The Search for is activated by C-d,
Active project by M-C-p, and the third one does not have a shortcut at all.
I would suggest F4, which often performs actions which can be grouped under
"activate something else" category. For exmaple, in Explorer, F4 selects
Drives drop-down box on the toolbar.
Also, it might be a good idea to implement :hotkey property on widgets,
to get to the right destination in one keystroke.
>(b) to switch to the next widget;
TAB next, Sh-TAB previous -- same as Ben proposed
> (c) between panes ("windows") in a frame;
F6/Sh-F6 is what is used in MS products. When I used Borland C products some 10
years ago (TTY based), there was Alt (=Meta in Windows) + arrows switch between
panes. I loved it, it was much better that cycle when there are many panes.
>and (d) between frames.
Do not know for this one. I would reserve C-F6 and C-Sh-F6 for cycling buffers
in windows. In Windows, they cycle through MDI windows in an application,
MDI is a kind of windows which are decorated like regular top level windows
but all live in another window, which contains nothing more, i.e. is effectively
a desktop-in-a-window for this application. When an MDI window is maximized, it
occupies the whole workspace window, and C-F6 and C-Sh-F6 in this case cycle
through open documents, not changing the appearance otherwise.
In MS Windows, switching between frames is a task of Window manager,Alt-TAB
and Alt-Shift-Tab cycle windows, C-Sh-ESC brings up a listbox to select a
window. I cannot speak for X, but window managers which I used did support
it, except maybe olwm. Do we really need a keystroke to switch between
XEmacs windows?
Big K
--
In order to save my hands, I am cutting back on my responses, especially
to XEmacs-related mail. You _will_ get a response, but please be patient.
If you need an immediate response and it is not apparent in your message,
please say so. Thanks for your understanding.