On 2019-10-01 6:08 a.m., Bert Wesarg wrote:
Wrapping filenames is an unexpected experience in UX design. Disable
wrapping and add a horizontal scrollbar to the files list to remove this.

(Thanks for working on gitk and git-gui!)

I have to say I'm mildly opposed to this change. The reason is that having to scroll to see the end of the filename is extra work, and it's work that would have to be repeated as one navigates between commits in the same area of code. Git-gui has scrollbars for its filename panes, and I find them more of a hassle that gitk's wrapping. (The horizontal scrollbar might work better if it defaulted to scrolling all the way to the *right* instead of to the left.)

But I would instead prefer there to be some visual indication that the filename was wrapped. Maybe indent the wrapped lines? Or how about contracting the file path with an ellipsis (...), like "git diff --stat"?

                M.


Signed-off-by: Bert Wesarg <bert.wes...@googlemail.com>
---
  gitk | 11 +++++++----
  1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/gitk b/gitk
index abe4805..bf2a061 100755
--- a/gitk
+++ b/gitk
@@ -2477,13 +2477,16 @@ proc makewindow {} {
        -background $bgcolor -foreground $fgcolor \
        -font mainfont \
        -tabs [list $indent [expr {2 * $indent}]] \
-       -yscrollcommand ".bright.sb set" \
+       -xscrollcommand ".bright.sbx set" \
+       -yscrollcommand ".bright.sby set" \
        -cursor [. cget -cursor] \
-       -spacing1 1 -spacing3 1
+       -spacing1 1 -spacing3 1 -wrap none
      lappend bglist $cflist
      lappend fglist $cflist
-    ${NS}::scrollbar .bright.sb -command "$cflist yview"
-    pack .bright.sb -side right -fill y
+    ${NS}::scrollbar .bright.sbx -orient horizontal -command "$cflist xview"
+    ${NS}::scrollbar .bright.sby -orient vertical   -command "$cflist yview"
+    pack .bright.sbx -side bottom -fill x
+    pack .bright.sby -side right -fill y
      pack $cflist -side left -fill both -expand 1
      $cflist tag configure highlight \
        -background [$cflist cget -selectbackground]

Reply via email to