diff options
author | Nicholas Marriott <nicm@openbsd.org> | 2009-07-19 13:21:40 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@openbsd.org> | 2009-07-19 13:21:40 +0000 |
commit | 6036bdd06cba9fa500098f1f17983d62955b24e5 (patch) | |
tree | f19dc96b0b6f65ca03222018df09defd585bed90 /key-bindings.c | |
parent | fc6a65c6207dbefcd8b5f187148978f8d4111b2b (diff) |
Improved layout code.
Each window now has a tree of layout cells associated with it. In this tree,
each node is either a horizontal or vertical cell containing a list of other
cells running from left-to-right or top-to-bottom, or a leaf cell which is
associated with a pane.
The major functional changes are:
- panes may now be split arbitrarily both horizontally (splitw -h, C-b %) and
vertically (splitw -v, C-b ");
- panes may be resized both horizontally and vertically (resizep -L/-R/-U/-D,
bound to C-b left/right/up/down and C-b M-left/right/up/down);
- layouts are now applied and then may be modified by resizing or splitting
panes, rather than being fixed and reapplied when the window is resized or
panes are added;
- manual-vertical layout is no longer necessary, and active-only layout is gone
(but may return in future);
- the main-pane layouts now reduce the size of the main pane to fit all panes
if possible.
Thanks to all who tested.
Diffstat (limited to 'key-bindings.c')
-rw-r--r-- | key-bindings.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/key-bindings.c b/key-bindings.c index c298c79d..66ed4927 100644 --- a/key-bindings.c +++ b/key-bindings.c @@ -93,7 +93,8 @@ key_bindings_init(void) } table[] = { { ' ', 0, &cmd_next_layout_entry }, { '!', 0, &cmd_break_pane_entry }, - { '"', 0, &cmd_split_window_entry }, + { '"', 0, &cmd_split_window_entry }, + { '%', 0, &cmd_split_window_entry }, { '#', 0, &cmd_list_buffers_entry }, { '&', 0, &cmd_confirm_before_entry }, { ',', 0, &cmd_command_prompt_entry }, @@ -132,10 +133,10 @@ key_bindings_init(void) { '{', 0, &cmd_swap_pane_entry }, { '}', 0, &cmd_swap_pane_entry }, { '\002', 0, &cmd_send_prefix_entry }, - { KEYC_ADDESC('0'), 0, &cmd_select_layout_entry }, { KEYC_ADDESC('1'), 0, &cmd_select_layout_entry }, { KEYC_ADDESC('2'), 0, &cmd_select_layout_entry }, - { KEYC_ADDESC('9'), 0, &cmd_select_layout_entry }, + { KEYC_ADDESC('3'), 0, &cmd_select_layout_entry }, + { KEYC_ADDESC('4'), 0, &cmd_select_layout_entry }, { KEYC_PPAGE, 0, &cmd_scroll_mode_entry }, { KEYC_ADDESC('n'), 0, &cmd_next_window_entry }, { KEYC_ADDESC('p'), 0, &cmd_previous_window_entry }, @@ -143,8 +144,12 @@ key_bindings_init(void) { KEYC_DOWN, 0, &cmd_down_pane_entry }, { KEYC_ADDESC(KEYC_UP), 1, &cmd_resize_pane_entry }, { KEYC_ADDESC(KEYC_DOWN), 1, &cmd_resize_pane_entry }, + { KEYC_ADDESC(KEYC_LEFT), 1, &cmd_resize_pane_entry }, + { KEYC_ADDESC(KEYC_RIGHT),1, &cmd_resize_pane_entry }, { KEYC_ADDCTL(KEYC_UP), 1, &cmd_resize_pane_entry }, - { KEYC_ADDCTL(KEYC_DOWN), 1, &cmd_resize_pane_entry }, + { KEYC_ADDCTL(KEYC_DOWN), 1, &cmd_resize_pane_entry }, + { KEYC_ADDCTL(KEYC_LEFT), 1, &cmd_resize_pane_entry }, + { KEYC_ADDCTL(KEYC_RIGHT),1, &cmd_resize_pane_entry }, { KEYC_ADDESC('o'), 0, &cmd_rotate_window_entry }, { '\017', 0, &cmd_rotate_window_entry }, }; |