Browse Source

[PATCH] gitk: Make selection highlight color configurable

Cygwin's tk by default uses a very dark selection background color that
makes the currently selected text almost unreadable.  On linux, the default
selection background is a light gray which is very usable. This makes the
default a light gray everywhere but allows the user to configure the
color as well.

Signed-off-by: Mark Levedahl <mdl123@verizon.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
maint
Mark Levedahl 18 years ago committed by Paul Mackerras
parent
commit
60378c0c09
  1. 26
      gitk

26
gitk

@ -402,7 +402,7 @@ proc makewindow {} {
global rowctxmenu mergemax wrapcomment global rowctxmenu mergemax wrapcomment
global highlight_files gdttype global highlight_files gdttype
global searchstring sstring global searchstring sstring
global bgcolor fgcolor bglist fglist diffcolors global bgcolor fgcolor bglist fglist diffcolors selectbgcolor
global headctxmenu global headctxmenu


menu .bar menu .bar
@ -457,15 +457,18 @@ proc makewindow {} {
set cscroll .tf.histframe.csb set cscroll .tf.histframe.csb
set canv .tf.histframe.pwclist.canv set canv .tf.histframe.pwclist.canv
canvas $canv \ canvas $canv \
-selectbackground $selectbgcolor \
-background $bgcolor -bd 0 \ -background $bgcolor -bd 0 \
-yscrollincr $linespc -yscrollcommand "scrollcanv $cscroll" -yscrollincr $linespc -yscrollcommand "scrollcanv $cscroll"
.tf.histframe.pwclist add $canv .tf.histframe.pwclist add $canv
set canv2 .tf.histframe.pwclist.canv2 set canv2 .tf.histframe.pwclist.canv2
canvas $canv2 \ canvas $canv2 \
-selectbackground $selectbgcolor \
-background $bgcolor -bd 0 -yscrollincr $linespc -background $bgcolor -bd 0 -yscrollincr $linespc
.tf.histframe.pwclist add $canv2 .tf.histframe.pwclist add $canv2
set canv3 .tf.histframe.pwclist.canv3 set canv3 .tf.histframe.pwclist.canv3
canvas $canv3 \ canvas $canv3 \
-selectbackground $selectbgcolor \
-background $bgcolor -bd 0 -yscrollincr $linespc -background $bgcolor -bd 0 -yscrollincr $linespc
.tf.histframe.pwclist add $canv3 .tf.histframe.pwclist add $canv3
eval .tf.histframe.pwclist sash place 0 $geometry(pwsash0) eval .tf.histframe.pwclist sash place 0 $geometry(pwsash0)
@ -666,6 +669,7 @@ proc makewindow {} {
set cflist .bright.cfiles set cflist .bright.cfiles
set indent [font measure $mainfont "nn"] set indent [font measure $mainfont "nn"]
text $cflist \ text $cflist \
-selectbackground $selectbgcolor \
-background $bgcolor -foreground $fgcolor \ -background $bgcolor -foreground $fgcolor \
-font $mainfont \ -font $mainfont \
-tabs [list $indent [expr {2 * $indent}]] \ -tabs [list $indent [expr {2 * $indent}]] \
@ -825,7 +829,7 @@ proc savestuff {w} {
global maxwidth showneartags global maxwidth showneartags
global viewname viewfiles viewargs viewperm nextviewnum global viewname viewfiles viewargs viewperm nextviewnum
global cmitmode wrapcomment global cmitmode wrapcomment
global colors bgcolor fgcolor diffcolors global colors bgcolor fgcolor diffcolors selectbgcolor


if {$stuffsaved} return if {$stuffsaved} return
if {![winfo viewable .]} return if {![winfo viewable .]} return
@ -844,6 +848,7 @@ proc savestuff {w} {
puts $f [list set fgcolor $fgcolor] puts $f [list set fgcolor $fgcolor]
puts $f [list set colors $colors] puts $f [list set colors $colors]
puts $f [list set diffcolors $diffcolors] puts $f [list set diffcolors $diffcolors]
puts $f [list set selectbgcolor $selectbgcolor]


puts $f "set geometry(main) [wm geometry .]" puts $f "set geometry(main) [wm geometry .]"
puts $f "set geometry(topwidth) [winfo width .tf]" puts $f "set geometry(topwidth) [winfo width .tf]"
@ -5845,7 +5850,7 @@ proc doquit {} {
proc doprefs {} { proc doprefs {} {
global maxwidth maxgraphpct diffopts global maxwidth maxgraphpct diffopts
global oldprefs prefstop showneartags global oldprefs prefstop showneartags
global bgcolor fgcolor ctext diffcolors global bgcolor fgcolor ctext diffcolors selectbgcolor
global uifont global uifont


set top .gitkprefs set top .gitkprefs
@ -5912,6 +5917,10 @@ proc doprefs {} {
"diff hunk header" \ "diff hunk header" \
[list $ctext tag conf hunksep -foreground]] [list $ctext tag conf hunksep -foreground]]
grid x $top.hunksepbut $top.hunksep -sticky w grid x $top.hunksepbut $top.hunksep -sticky w
label $top.selbgsep -padx 40 -relief sunk -background $selectbgcolor
button $top.selbgbut -text "Select bg" -font optionfont \
-command [list choosecolor selectbgcolor 0 $top.bg background setselbg]
grid x $top.selbgbut $top.selbgsep -sticky w


frame $top.buts frame $top.buts
button $top.buts.ok -text "OK" -command prefsok -default active button $top.buts.ok -text "OK" -command prefsok -default active
@ -5936,6 +5945,16 @@ proc choosecolor {v vi w x cmd} {
eval $cmd $c eval $cmd $c
} }


proc setselbg {c} {
global bglist cflist
foreach w $bglist {
$w configure -selectbackground $c
}
$cflist tag configure highlight \
-background [$cflist cget -selectbackground]
allcanvs itemconf secsel -fill $c
}

proc setbg {c} { proc setbg {c} {
global bglist global bglist


@ -6292,6 +6311,7 @@ set colors {green red blue magenta darkgrey brown orange}
set bgcolor white set bgcolor white
set fgcolor black set fgcolor black
set diffcolors {red "#00a000" blue} set diffcolors {red "#00a000" blue}
set selectbgcolor gray85


catch {source ~/.gitk} catch {source ~/.gitk}



Loading…
Cancel
Save