#!/usr/bin/env tclsh8.4

proc main {} {
 cd $::env(HOME)
 set fd [open ".Xdefaults" w]
 puts $fd "*XTerm*loginShell: 1"
 puts $fd "*XTerm*background: black"
 puts $fd "*XTerm*foreground: deepskyblue" 
 #puts $fd "*XTerm*faceName: slicker"
 #puts $fd "*XTerm*faceSize: 9"
 puts $fd "*font: -*-lucidatypewriter-medium-*-*-*-12-*-*-*-*-*-*-*"

 set a royalblue3
 set b gray40
 set active #5934b1
 set text black

 puts $fd "*background: $a"
 puts $fd "*foreground: $text"
 puts $fd "*borderWidth: 1"

 foreach class [list Entry Listbox Text] {
  puts $fd "*[set class].background: black"
  puts $fd "*[set class].foreground: deepskyblue"
  puts $fd "*[set class].insertBackground: yellow"
 }

 foreach class [list Button Checkbutton Menu \
  Menubutton Message Spinbox] {
  puts $fd "*[set class].activeBackground: $active"
  puts $fd "*[set class].background: $a"
  puts $fd "*[set class].foreground: $text"
  puts $fd "*[set class].borderWidth: 1"
  puts $fd "*[set class].highlightThickness: 0"
 }

 foreach class [list Entry Listbox] {
  puts $fd "*[set class].relief: sunken"
  puts $fd "*[set class].selectForeground: white"
  puts $fd "*[set class].selectBackground: black"
 }

 foreach class [list Frame Label] {
  puts $fd "*[set class].background: $a"
  puts $fd "*[set class].foreground: $text"
  puts $fd "*[set class].borderWidth: 0"
  puts $fd "*[set class].highlightThickness: 0"
 }
 puts $fd "*Scrollbar.borderWidth: 1"
 puts $fd "*Scrollbar.background: $a"
 puts $fd "*Scrollbar.elementBorderWidth: 1"
 puts $fd "*Scrollbar.relief: raised"
 puts $fd "*Scrollbar.troughColor: $b"
 close $fd

 exec xrdb [file nativename ~/.Xdefaults]
}
main
