=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/Attic/window-scroll.c,v retrieving revision 1.2 retrieving revision 1.3 diff -c -r1.2 -r1.3 *** src/usr.bin/tmux/Attic/window-scroll.c 2009/07/27 18:51:46 1.2 --- src/usr.bin/tmux/Attic/window-scroll.c 2009/07/27 19:29:35 1.3 *************** *** 1,4 **** ! /* $OpenBSD: window-scroll.c,v 1.2 2009/07/27 18:51:46 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: window-scroll.c,v 1.3 2009/07/27 19:29:35 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott *************** *** 63,68 **** --- 63,69 ---- struct screen *s; struct screen_write_ctx ctx; u_int i; + int keys; wp->modedata = data = xmalloc(sizeof *data); data->ox = 0; *************** *** 72,79 **** screen_init(s, screen_size_x(&wp->base), screen_size_y(&wp->base), 0); s->mode &= ~MODE_CURSOR; ! mode_key_init(&data->mdata, ! options_get_number(&wp->window->options, "mode-keys"), 0); screen_write_start(&ctx, NULL, s); for (i = 0; i < screen_size_y(s); i++) --- 73,83 ---- screen_init(s, screen_size_x(&wp->base), screen_size_y(&wp->base), 0); s->mode &= ~MODE_CURSOR; ! keys = options_get_number(&wp->window->options, "mode-keys"); ! if (keys == MODEKEY_EMACS) ! mode_key_init(&data->mdata, mode_key_emacs_copy); ! else ! mode_key_init(&data->mdata, mode_key_vi_copy); screen_write_start(&ctx, NULL, s); for (i = 0; i < screen_size_y(s); i++) *************** *** 128,152 **** struct screen *s = &data->screen; switch (mode_key_lookup(&data->mdata, key)) { ! case MODEKEYCMD_QUIT: window_pane_reset_mode(wp); break; ! case MODEKEYCMD_LEFT: window_scroll_scroll_left(wp); break; ! case MODEKEYCMD_RIGHT: window_scroll_scroll_right(wp); break; ! case MODEKEYCMD_UP: window_scroll_scroll_up(wp); break; ! case MODEKEYCMD_DOWN: window_scroll_scroll_down(wp); break; ! case MODEKEYCMD_PREVIOUSPAGE: window_scroll_pageup(wp); break; ! case MODEKEYCMD_NEXTPAGE: if (data->oy < screen_size_y(s)) data->oy = 0; else --- 132,156 ---- struct screen *s = &data->screen; switch (mode_key_lookup(&data->mdata, key)) { ! case MODEKEYCOPY_QUIT: window_pane_reset_mode(wp); break; ! case MODEKEYCOPY_LEFT: window_scroll_scroll_left(wp); break; ! case MODEKEYCOPY_RIGHT: window_scroll_scroll_right(wp); break; ! case MODEKEYCOPY_UP: window_scroll_scroll_up(wp); break; ! case MODEKEYCOPY_DOWN: window_scroll_scroll_down(wp); break; ! case MODEKEYCOPY_PREVIOUSPAGE: window_scroll_pageup(wp); break; ! case MODEKEYCOPY_NEXTPAGE: if (data->oy < screen_size_y(s)) data->oy = 0; else