gitk: use config settings for head/tag colors

The drawtags procedure currently uses headfgcolor for all label text,
ignoring the tagfgcolor setting.

The call to create the outline polygon for (non-tag) heads currently
has the color for headoutlinecolor hardcoded to black.

This patch maintains the variables for the non-tag refs so that heads
are colored differently from non-head (non-tag) refs.

The outline and fill colors for the non-head refs remain hardcoded to
the prior values, black & #ddddff.

Signed-off-by: Shannon Barber <sgbarber@gmail.com>
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
maint
Shannon Barber 2026-01-13 06:28:41 +00:00 committed by Johannes Sixt
parent 776223c4d8
commit bcb4fd1799
1 changed files with 7 additions and 4 deletions

11
gitk
View File

@ -6831,16 +6831,18 @@ proc drawtags {id x xt y1} {
} else {
# draw a head or other ref
if {[incr nheads -1] >= 0} {
set col $headbgcolor
set refoutlinecol $headoutlinecolor
set reffillcol $headbgcolor
if {$tag eq $mainhead} {
set font mainfontbold
}
} else {
set col "#ddddff"
set refoutlinecol black
set reffillcol "#ddddff"
}
set xl [expr {$xl - $delta/2}]
$canv create polygon $x $yt $xr $yt $xr $yb $x $yb \
-width 1 -outline black -fill $col -tags tag.$id
-width 1 -outline $refoutlinecol -fill $reffillcol -tags tag.$id
if {[regexp {^(remotes/.*/|remotes/)} $tag match remoteprefix]} {
set rwid [font measure mainfont $remoteprefix]
set xi [expr {$x + 1}]
@ -6850,7 +6852,8 @@ proc drawtags {id x xt y1} {
-width 0 -fill $remotebgcolor -tags tag.$id
}
}
set t [$canv create text $xl $y1 -anchor w -text $tag -fill $headfgcolor \
set textfgcolor [expr {$ntags >= 0 ? $tagfgcolor : $headfgcolor}]
set t [$canv create text $xl $y1 -anchor w -text $tag -fill $textfgcolor \
-font $font -tags [list tag.$id text]]
if {$ntags >= 0} {
$canv bind $t <1> $tagclick