diff options
authorPaul Mackerras <>2006-04-04 23:39:51 (GMT)
committerPaul Mackerras <>2006-04-04 23:39:51 (GMT)
commit4e95e1f738720e2f768098f73e76109c15a4e1ff (patch)
parente100712968cb781183a549f164e34596d6e7fcb2 (diff)
gitk: Add a help menu item to display key bindings
Suggested by Paul Schulz. I made it a separate entry under the Help menu rather than putting it in the About box, though. Signed-off-by: Paul Mackerras <>
1 files changed, 43 insertions, 1 deletions
diff --git a/gitk b/gitk
index 4bc7946..472c12a 100755
--- a/gitk
+++ b/gitk
@@ -353,6 +353,7 @@ proc makewindow {rargs} {
.bar add cascade -label "Help" -menu add command -label "About gitk" -command about
+ add command -label "Key bindings" -command keys
. configure -menu .bar
if {![info exists geometry(canv1)]} {
@@ -718,6 +719,47 @@ Use and redistribute under the terms of the GNU General Public License} \
pack $w.ok -side bottom
+proc keys {} {
+ set w .keys
+ if {[winfo exists $w]} {
+ raise $w
+ return
+ }
+ toplevel $w
+ wm title $w "Gitk key bindings"
+ message $w.m -text {
+Gitk key bindings:
+<Ctrl-Q> Quit
+<Up>, p, i Move up one commit
+<Down>, n, k Move down one commit
+<Left>, z, j Go back in history list
+<Right>, x, l Go forward in history list
+<Page up> Scroll commit list up one page
+<Page down> Scroll commit list down one page
+<Delete>, b Scroll diff view up one page
+<Backspace> Scroll diff view up one page
+<Space> Scroll diff view down one page
+u Scroll diff view up 18 lines
+d Scroll diff view down 18 lines
+<Ctrl-F> Find
+<Ctrl-G> Move to next find hit
+<Ctrl-R> Move to previous find hit
+<Return> Move to next find hit
+/ Move to next find hit, or redo find
+? Move to previous find hit
+f Scroll diff view to next file
+<Ctrl-KP+> Increase font size
+<Ctrl-plus> Increase font size
+<Ctrl-KP-> Decrease font size
+<Ctrl-minus> Decrease font size
+} \
+ -justify left -bg white -border 2 -relief sunken
+ pack $w.m -side top -fill both
+ button $w.ok -text Close -command "destroy $w"
+ pack $w.ok -side bottom
proc shortids {ids} {
set res {}
foreach id $ids {
@@ -1763,7 +1805,7 @@ proc drawrest {} {
showstuff $commitidx
set drawmsecs [expr {[clock clicks -milliseconds] - $startmsecs}]
- puts "overall $drawmsecs ms for $numcommits commits"
+ #puts "overall $drawmsecs ms for $numcommits commits"
proc findmatches {f} {