From 60aa065f6958a888d14178ca94f17a60100d3709 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Tue, 1 May 2007 15:51:09 -0400 Subject: [PATCH] git-gui: Allow vi keys to scroll the diff/blame regions Users who are used to vi and recent versions of gitk may want to scroll the diff region using vi style keybindings. Since these aren't bound to anything else and that widget does not accept focus for data input, we can easily support that too. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 6 ++++++ lib/blame.tcl | 17 +++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/git-gui.sh b/git-gui.sh index 72673c627a..dc6664c68e 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -2038,6 +2038,12 @@ bind $ui_diff {catch {%W yview scroll -1 units};break} bind $ui_diff {catch {%W yview scroll 1 units};break} bind $ui_diff {catch {%W xview scroll -1 units};break} bind $ui_diff {catch {%W xview scroll 1 units};break} +bind $ui_diff {catch {%W yview scroll -1 units};break} +bind $ui_diff {catch {%W yview scroll 1 units};break} +bind $ui_diff {catch {%W xview scroll -1 units};break} +bind $ui_diff {catch {%W xview scroll 1 units};break} +bind $ui_diff {catch {%W yview scroll -1 pages};break} +bind $ui_diff {catch {%W yview scroll 1 pages};break} bind $ui_diff {focus %W} if {[is_enabled branch]} { diff --git a/lib/blame.tcl b/lib/blame.tcl index c276fa9852..6d894e52d4 100644 --- a/lib/blame.tcl +++ b/lib/blame.tcl @@ -125,6 +125,23 @@ proc show_blame {commit path} { " } + foreach i [list \ + $w.out.loaded_t \ + $w.out.linenumber_t \ + $w.out.file_t \ + $w.cm.t] { + bind $i {catch {%W yview scroll -1 units};break} + bind $i {catch {%W yview scroll 1 units};break} + bind $i {catch {%W xview scroll -1 units};break} + bind $i {catch {%W xview scroll 1 units};break} + bind $i {catch {%W yview scroll -1 units};break} + bind $i {catch {%W yview scroll 1 units};break} + bind $i {catch {%W xview scroll -1 units};break} + bind $i {catch {%W xview scroll 1 units};break} + bind $i {catch {%W yview scroll -1 pages};break} + bind $i {catch {%W yview scroll 1 pages};break} + } + bind $w.cm.t "focus $w.cm.t" bind $tl "focus $tl" bind $tl " -- 2.11.4.GIT