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 {