threads / patch / 51946

patchgitk: Add horizontal scrollbar to the files list

Subject: [PATCH] gitk: Add horizontal scrollbar to the files list

## tl;dr

2 messages between Oct 1, 2019 and Oct 1, 2019. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Bert Wesarg· Oct 1, 2019, 10:08 UTC · lore

Wrapping filenames is an unexpected experience in UX design. Disable wrapping and add a horizontal scrollbar to the files list to remove this.

Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
---
 gitk | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)
Show changes to gitk +7 −4
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]
-- 
2.23.0.11.g242cf7f110
Marc Branchaud· Oct 1, 2019, 15:42 UTC · re: Bert Wesarg · lore

Re: [PATCH] gitk: Add horizontal scrollbar to the files list

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.
Show 31 quoted lines
> Signed-off-by: Bert Wesarg <bert.wesarg@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]
> 

← back to recent threads