@matheusbsbs / matheus-bagliano / commits / 113ce1243f
Fork 0

gitk: add diff lines background colors

Not using colored background for added and removed lines is a missed opportunity to make diff lines easier to grasp visually. Use a subtle red/green background by default. Make the font slightly darker to improve contrast. Signed-off-by: Stefan Dotterweich <stefandotterweich@gmx.de> Signed-off-by: Paul Mackerras <paulus@ozlabs.org>

Stefan Dotterweich committed Feb 11, 2020 at 22:24 UTC 113ce1243f0bcd870b24ff22aca212575027f79f
1 file changed +19 -3
gitk
+19 -3
@@ -2072,7 +2072,7 @@ proc makewindow {} {
2072 global rowctxmenu fakerowmenu mergemax wrapcomment
2073 global highlight_files gdttype
2074 global searchstring sstring
2075 - global bgcolor fgcolor bglist fglist diffcolors selectbgcolor
2075 + global bgcolor fgcolor bglist fglist diffcolors diffbgcolors selectbgcolor
2076 global uifgcolor uifgdisabledcolor
2077 global filesepbgcolor filesepfgcolor
2078 global mergecolors foundbgcolor currentsearchhitbgcolor
@@ -2433,7 +2433,9 @@ proc makewindow {} {
2433 $ctext tag conf filesep -font textfontbold -fore $filesepfgcolor -back $filesepbgcolor
2434 $ctext tag conf hunksep -fore [lindex $diffcolors 2]
2435 $ctext tag conf d0 -fore [lindex $diffcolors 0]
2436 + $ctext tag conf d0 -back [lindex $diffbgcolors 0]
2437 $ctext tag conf dresult -fore [lindex $diffcolors 1]
2438 + $ctext tag conf dresult -back [lindex $diffbgcolors 1]
2439 $ctext tag conf m0 -fore [lindex $mergecolors 0]
2440 $ctext tag conf m1 -fore [lindex $mergecolors 1]
2441 $ctext tag conf m2 -fore [lindex $mergecolors 2]
@@ -11606,6 +11608,7 @@ proc prefspage_general {notebook} {
11608
11609 proc prefspage_colors {notebook} {
11610 global NS uicolor bgcolor fgcolor ctext diffcolors selectbgcolor markbgcolor
11611 + global diffbgcolors
11612
11613 set page [create_prefs_page $notebook.colors]
11614
@@ -11628,11 +11631,23 @@ proc prefspage_colors {notebook} {
11631 -command [list choosecolor diffcolors 0 $page.diffold [mc "diff old lines"] \
11632 [list $ctext tag conf d0 -foreground]]
11633 grid x $page.diffoldbut $page.diffold -sticky w
11634 + label $page.diffoldbg -padx 40 -relief sunk -background [lindex $diffbgcolors 0]
11635 + ${NS}::button $page.diffoldbgbut -text [mc "Diff: old lines bg"] \
11636 + -command [list choosecolor diffbgcolors 0 $page.diffoldbg \
11637 + [mc "diff old lines bg"] \
11638 + [list $ctext tag conf d0 -background]]
11639 + grid x $page.diffoldbgbut $page.diffoldbg -sticky w
11640 label $page.diffnew -padx 40 -relief sunk -background [lindex $diffcolors 1]
11641 ${NS}::button $page.diffnewbut -text [mc "Diff: new lines"] \
11642 -command [list choosecolor diffcolors 1 $page.diffnew [mc "diff new lines"] \
11643 [list $ctext tag conf dresult -foreground]]
11644 grid x $page.diffnewbut $page.diffnew -sticky w
11645 + label $page.diffnewbg -padx 40 -relief sunk -background [lindex $diffbgcolors 1]
11646 + ${NS}::button $page.diffnewbgbut -text [mc "Diff: new lines bg"] \
11647 + -command [list choosecolor diffbgcolors 1 $page.diffnewbg \
11648 + [mc "diff new lines bg"] \
11649 + [list $ctext tag conf dresult -background]]
11650 + grid x $page.diffnewbgbut $page.diffnewbg -sticky w
11651 label $page.hunksep -padx 40 -relief sunk -background [lindex $diffcolors 2]
11652 ${NS}::button $page.hunksepbut -text [mc "Diff: hunk header"] \
11653 -command [list choosecolor diffcolors 2 $page.hunksep \
@@ -12376,7 +12391,8 @@ if {[tk windowingsystem] eq "win32"} {
12391 set web_browser "xdg-open"
12392 }
12393 }
12379 -set diffcolors {red "#00a000" blue}
12394 +set diffcolors {"#c30000" "#009800" blue}
12395 +set diffbgcolors {"#fff3f3" "#f0fff0"}
12396 set diffcontext 3
12397 set mergecolors {red blue "#00ff00" purple brown "#009090" magenta "#808000" "#009000" "#ff0080" cyan "#b07070" "#70b0f0" "#70f0b0" "#f0b070" "#ff70b0"}
12398 set ignorespace 0
@@ -12447,7 +12463,7 @@ set config_variables {
12463 remotebgcolor tagbgcolor tagfgcolor tagoutlinecolor reflinecolor
12464 filesepbgcolor filesepfgcolor linehoverbgcolor linehoverfgcolor
12465 linehoveroutlinecolor mainheadcirclecolor workingfilescirclecolor
12450 - indexcirclecolor circlecolors linkfgcolor circleoutlinecolor
12466 + indexcirclecolor circlecolors linkfgcolor circleoutlinecolor diffbgcolors
12467 web_browser
12468 }
12469 foreach var $config_variables {