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.wesarg@xxxxxxxxxxxxxx>
---
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]