Skip to content

Commit

Permalink
gitk: fix arrow keys in input fields with Tcl/Tk >= 8.6
Browse files Browse the repository at this point in the history
Tcl/Tk 8.6 introduced new events for the cursor left/right keys and
apparently changed the behavior of the previous event.

Let's work around that by using the new events when we are running with
Tcl/Tk 8.6 or later.

This fixes #495

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
  • Loading branch information
dscho committed Sep 24, 2024
1 parent 0a75037 commit 95ad775
Showing 1 changed file with 9 additions and 3 deletions.
12 changes: 9 additions & 3 deletions gitk-git/gitk
Original file line number Diff line number Diff line change
Expand Up @@ -2234,7 +2234,7 @@ proc makewindow {} {
global headctxmenu progresscanv progressitem progresscoords statusw
global fprogitem fprogcoord lastprogupdate progupdatepending
global rprogitem rprogcoord rownumsel numcommits
global have_tk85 use_ttk NS
global have_tk85 have_tk86 use_ttk NS
global git_version
global worddiff
Expand Down Expand Up @@ -2732,8 +2732,13 @@ proc makewindow {} {
bind . <Key-Down> "selnextline 1"
bind . <Shift-Key-Up> "dofind -1 0"
bind . <Shift-Key-Down> "dofind 1 0"
bindkey <Key-Right> "goforw"
bindkey <Key-Left> "goback"
if {$have_tk86} {
bindkey <<NextChar>> "goforw"
bindkey <<PrevChar>> "goback"
} else {
bindkey <Key-Right> "goforw"
bindkey <Key-Left> "goback"
}
bind . <Key-Prior> "selnextpage -1"
bind . <Key-Next> "selnextpage 1"
bind . <$M1B-Home> "allcanvs yview moveto 0.0"
Expand Down Expand Up @@ -12734,6 +12739,7 @@ set nullid2 "0000000000000000000000000000000000000001"
set nullfile "/dev/null"
set have_tk85 [expr {[package vcompare $tk_version "8.5"] >= 0}]
set have_tk86 [expr {[package vcompare $tk_version "8.6"] >= 0}]
if {![info exists have_ttk]} {
set have_ttk [llength [info commands ::ttk::style]]
}
Expand Down

0 comments on commit 95ad775

Please sign in to comment.