* [PATCH 3/3] gitk: improve dark background, select light or dark tags
@ 2010-07-22 23:14 David Fries
0 siblings, 0 replies; 2+ messages in thread
From: David Fries @ 2010-07-22 23:14 UTC (permalink / raw
To: git
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.
---
gitk-git/gitk | 29 ++++++++++++++++++++++++++---
1 files changed, 26 insertions(+), 3 deletions(-)
diff --git a/gitk-git/gitk b/gitk-git/gitk
index a851762..ca9244f 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,13 +6281,13 @@ 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 tag.$id]
$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
if {$tag eq $mainhead} {
set font mainfontbold
}
@@ -6302,7 +6303,7 @@ proc drawtags {id x xt y1} {
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 tag.$id
}
}
set t [$canv create text $xl $y1 -anchor w -text $tag -fill $fgcolor \
@@ -10878,6 +10879,23 @@ proc setbg {c} {
}
}
+proc setfill {c} {
+ global tagcolor branchcolor remotecolor
+
+ 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"
+ }
+}
+
proc setfg {c} {
global fglist canv
@@ -10887,6 +10905,8 @@ proc setfg {c} {
allcanvs itemconf text -fill $c
$canv itemconf circle -outline $c
$canv itemconf markid -outline $c
+
+ setfill $c
}
proc prefscan {} {
@@ -11382,11 +11402,13 @@ if {[tk windowingsystem] eq "win32"} {
set uicolor SystemButtonFace
set bgcolor SystemWindow
set fgcolor SystemButtonText
+ setfill $fgcolor
set selectbgcolor SystemHighlight
} else {
set uicolor grey85
set bgcolor white
set fgcolor black
+ setfill $fgcolor
set selectbgcolor gray85
}
set diffcolors {red "#00a000" blue}
@@ -11423,6 +11445,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.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [PATCH 3/3] gitk: improve dark background, select light or dark tags
2010-11-11 4:59 [PATCH 0/3] gitk: improve dark background David Fries
@ 2010-11-11 5:19 ` David Fries
0 siblings, 0 replies; 2+ messages in thread
From: David Fries @ 2010-11-11 5:19 UTC (permalink / raw
To: git; +Cc: David Fries
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
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-11-11 5:19 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-22 23:14 [PATCH 3/3] gitk: improve dark background, select light or dark tags David Fries
-- strict thread matches above, loose matches on Subject: below --
2010-11-11 4:59 [PATCH 0/3] gitk: improve dark background David Fries
2010-11-11 5:19 ` [PATCH 3/3] gitk: improve dark background, select light or dark tags David Fries
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
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 read-only IMAP folder(s) and NNTP newsgroup(s).