From: Mark Levedahl Date: Tue, 3 Jun 2025 19:04:27 +0000 (-0400) Subject: gitk: update aqua scrolling for TclTk 8.6 / TIP171 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=24fb77a2a8218017ca38e28165eec4f9b7be141d;p=thirdparty%2Fgit.git gitk: update aqua scrolling for TclTk 8.6 / TIP171 Tk provides MouseWheel events to aqua, similar to win32. But, these events on aqua have a nominal motion value (%D) of 1, not 120 as on win32. gitk on aqua provides specific bindings only for the top 3 panes, giving a nominal scrolling amount of +/- 1 for all events. gitk includes a hidden feature providing horizontal scrolling of the commit graph, added in 5fdcbb1390 ("gitk: Fixes for Mac OS X TkAqua", 2009-03-23). This horizontal scrolling is triggered by mouse events in any of the top 3 panes, and thus violates normal gui design where the object under the mouse cursor scrolls. Let's update this using the common bindings in 'proc bind_mousewheel', allowing user preferences on motion scaling to apply to all windows. The commit graph scrolling feature is removed by this, and will be added back for all platforms in a later commit. Signed-off-by: Mark Levedahl --- diff --git a/gitk b/gitk index dd36e4c1b9..bd57a55466 100755 --- a/gitk +++ b/gitk @@ -2735,14 +2735,8 @@ proc makewindow {} { set scroll_D0 1 bind_mousewheel_buttons } elseif {[tk windowingsystem] == "aqua"} { - bindall { - set delta [expr {- (%D)}] - allcanvs yview scroll $delta units - } - bindall { - set delta [expr {- (%D)}] - $canv xview scroll $delta units - } + set scroll_D0 1 + bind_mousewheel } else { puts stderr [mc "Unknown windowing system, cannot bind mouse"] }