From: David Fries <david@Fries.net>
To: git@vger.kernel.org
Cc: David Fries <David@Fries.net>
Subject: [PATCH 3/3] gitk: improve dark background, select light or dark tags
Date: Wed, 10 Nov 2010 23:19:02 -0600 [thread overview]
Message-ID: <1289452742-7235-3-git-send-email-david@fries.net> (raw)
In-Reply-To: <1289451597-6950-1-git-send-email-david@fries.net>
If the foreground color is dark use light tags, branches, and
remote fill colors. If it is light use darker versions so the
text is readable.
Signed-off-by: David Fries <David@Fries.net>
---
gitk-git/gitk | 41 +++++++++++++++++++++++++++++++++++++----
1 files changed, 37 insertions(+), 4 deletions(-)
diff --git a/gitk-git/gitk b/gitk-git/gitk
index bef2e53..6342a31 100644
--- a/gitk-git/gitk
+++ b/gitk-git/gitk
@@ -6233,6 +6233,7 @@ proc drawtags {id x xt y1} {
global idtags idheads idotherrefs mainhead
global linespc lthickness
global canv rowtextx curview fgcolor bgcolor ctxbut
+ global tagcolor branchcolor remotecolor
set marks {}
set ntags 0
@@ -6280,29 +6281,32 @@ proc drawtags {id x xt y1} {
# draw a tag
set t [$canv create polygon $x [expr {$yt + $delta}] $xl $yt \
$xr $yt $xr $yb $xl $yb $x [expr {$yb - $delta}] \
- -width 1 -outline $fgcolor -fill yellow -tags tag.$id]
+ -width 1 -outline $fgcolor -fill $tagcolor -tags \
+ [list tag.$id tagcolor]]
$canv bind $t <1> [list showtag $tag 1]
set rowtextx([rowofcommit $id]) [expr {$xr + $linespc}]
} else {
# draw a head or other ref
if {[incr nheads -1] >= 0} {
- set col green
+ set col $branchcolor
+ set t [list tag.$id branchcolor]
if {$tag eq $mainhead} {
set font mainfontbold
}
} else {
set col "#ddddff"
+ set t tag.$id
}
set xl [expr {$xl - $delta/2}]
$canv create polygon $x $yt $xr $yt $xr $yb $x $yb \
- -width 1 -outline $fgcolor -fill $col -tags tag.$id
+ -width 1 -outline $fgcolor -fill $col -tags $t
if {[regexp {^(remotes/.*/|remotes/)} $tag match remoteprefix]} {
set rwid [font measure mainfont $remoteprefix]
set xi [expr {$x + 1}]
set yti [expr {$yt + 1}]
set xri [expr {$x + $rwid}]
$canv create polygon $xi $yti $xri $yti $xri $yb $xi $yb \
- -width 0 -fill "#ffddaa" -tags tag.$id
+ -width 0 -fill $remotecolor -tags [list tag.$id remotecolor]
}
}
set t [$canv create text $xl $y1 -anchor w -text $tag -fill $fgcolor \
@@ -10877,6 +10881,30 @@ proc setbg {c} {
}
}
+proc setfill {c} {
+ global tagcolor branchcolor remotecolor
+ global canv;
+
+ set fg [winfo rgb . $c]
+ if {[lindex $fg 0] + 1.5 * [lindex $fg 1] + 0.5 * [lindex $fg 2] > 100000} {
+ # dark fill to read a light foreground font
+ set tagcolor yellow4
+ set branchcolor green4
+ set remotecolor "#806F55"
+ } else {
+ # light fill to read a dark foreground font
+ set tagcolor yellow
+ set branchcolor green
+ set remotecolor "#ffddaa"
+ }
+ # update tags assocated with non-text elements
+ if {[info exists canv]} {
+ $canv itemconf tagcolor -fill $tagcolor
+ $canv itemconf branchcolor -fill $branchcolor
+ $canv itemconf remotecolor -fill $remotecolor
+ }
+}
+
proc setfg {c} {
global fglist canv
@@ -10887,6 +10915,10 @@ proc setfg {c} {
$canv itemconf circle -outline $c
$canv itemconf markid -outline $c
$canv itemconf line -fill $c
+ $canv itemconf tagcolor -outline $c
+ $canv itemconf branchcolor -outline $c
+
+ setfill $c
}
# update hunksep and each link foreground color
@@ -11436,6 +11468,7 @@ namespace import ::msgcat::mc
::msgcat::mcload $gitk_msgsdir
catch {source ~/.gitk}
+setfill $fgcolor
parsefont mainfont $mainfont
eval font create mainfont [fontflags mainfont]
--
1.7.2.3
next prev parent reply other threads:[~2010-11-11 5:19 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-11 4:59 [PATCH 0/3] gitk: improve dark background David Fries
2010-11-11 5:19 ` [PATCH 1/3] gitk: improve dark background, s/black/$fgcolor/ David Fries
2010-11-11 5:19 ` [PATCH 2/3] gitk: improve dark background, use diffcolor 2 for link David Fries
2010-11-11 5:19 ` David Fries [this message]
2010-11-26 22:41 ` [PATCH 0/3] gitk: improve dark background David Fries
2010-11-27 1:34 ` Junio C Hamano
-- strict thread matches above, loose matches on Subject: below --
2010-07-22 23:14 [PATCH 3/3] gitk: improve dark background, select light or dark tags David Fries
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1289452742-7235-3-git-send-email-david@fries.net \
--to=david@fries.net \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).