git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 2/2] gitk: include y coord in recorded sash position

From
HGhalilsen via GitGitGadget <gitgitgadget@gmail.com>
Date
Feb 20, 2022, 19:47 UTC
Message-ID
<0b5b8fb591e434a2a24b1f58d1ce3fc7da48a28e.1645386457.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.1219.git.git.1645386457.gitgitgadget@gmail.com>
From: halilsen <halil.sen@mapotempo.com>

6cd80496e9 ("gitk: Resize panes correctly when reducing window size", 2020-10-03) introduces a mechanism to record previously-set sash positions to make sure that correct values are used while computing resize proportions. However, if we are not using ttk, then sash represents only the x coordinate and the recorded sash (`oldsash`) only includes the x coordinate. When we need to access the y coordinate via the recorded sash position, we generate the following Application Error popup:

Error: expected integer but got ""
expected integer but got ""
expected integer but got ""
     while executing
"$win sash place 0 $sash0 [lindex $s0 1]"
     (procedure "resizeclistpanes" line 38)
     invoked from within
"resizeclistpanes .tf.histframe.pwclist 2818"
     (command bound to event)

To fix this, if we are not using ttk, we append the sash positions with the y coordinates before recording them to match the use_ttk case.

Signed-off-by: Halil Sen <halil.sen@gmail.com>
---
 gitk-git/gitk | 3 +++
 1 file changed, 3 insertions(+)
diff --git a/gitk-git/gitk b/gitk-git/gitk
index c31a8b4e2f8..0ae7d685904 100755
--- a/gitk-git/gitk
+++ b/gitk-git/gitk
@@ -2991,6 +2991,8 @@ proc resizeclistpanes {win w} {
         } else {
             $win sash place 0 $sash0 [lindex $s0 1]
             $win sash place 1 $sash1 [lindex $s1 1]
+            set sash0 [list $sash0 [lindex $s0 1]]
+            set sash1 [list $sash1 [lindex $s1 1]]
         }
         set oldsash($win) [list $sash0 $sash1]
     }
@@ -3023,6 +3025,7 @@ proc resizecdetpanes {win w} {
             $win sashpos 0 $sash0
         } else {
             $win sash place 0 $sash0 [lindex $s0 1]
+            set sash0 [list $sash0 [lindex $s0 1]]
         }
         set oldsash($win) $sash0
     }
-- 
gitgitgadget
Previous: halilsen via GitGitGadget
Message 3 of 3 in “gitk: include y coord in recorded sash position”
  1. 0/2 gitk: include y coord in recorded sash positionHalil Sen via GitGitGadget, Feb 20, 2022
  2. 1/2 gitk: trivial indentation fixhalilsen via GitGitGadget, Feb 20, 2022
  3. 2/2 gitk: include y coord in recorded sash positionhalilsen via GitGitGadget, Feb 20, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.