|
#!/usr/local/bin/tclsh |
|
# Undocumented program. Don't use it. |
|
# |
|
# Usage: |
|
# |
|
# tixmkpref option name.src > name.tcl |
|
# |
|
|
|
proc tixDefOption {classes specs {level \$tixOption(prioLevel)}} { |
|
global isFont tixOption |
|
|
|
foreach class $classes { |
|
foreach spec $specs { |
|
if [regexp (Font)|(font) $spec] { |
|
if {$isFont} { |
|
puts "option add *$class$spec $level" |
|
} |
|
} else { |
|
if {!$isFont} { |
|
set aspec [subst $spec] |
|
puts "option add *$class$spec $level" |
|
} |
|
} |
|
} |
|
} |
|
} |
|
|
|
proc option {classes specs {level \$tixOption(prioLevel)}} { |
|
tixDefOption $classes $specs $level |
|
} |
|
|
|
proc tixInitOptionDatabase {strictTK} { |
|
global tixOption isFont |
|
|
|
# general stuff, everything gets these defaults unless otherwise specified |
|
#------------------------------------------------------------------------- |
|
tixDefOption {""} {{Font $tixOption(font)}} |
|
tixDefOption {""} {{font $tixOption(font)}} |
|
|
|
tixDefOption {""} {{background $tixOption(bg)}} 10 |
|
tixDefOption {""} {{Background $tixOption(bg)}} |
|
tixDefOption {""} {{background $tixOption(bg)}} |
|
tixDefOption {""} {{Foreground $tixOption(fg)}} |
|
tixDefOption {""} {{foreground $tixOption(fg)}} |
|
tixDefOption {""} {{activeBackground $tixOption(active_bg)}} |
|
tixDefOption {""} {{activeForeground $tixOption(active_fg)}} |
|
tixDefOption {""} {{HighlightBackground $tixOption(bg)}} |
|
tixDefOption {""} {{selectBackground $tixOption(select_bg)}} |
|
tixDefOption {""} {{selectForeground $tixOption(select_fg)}} |
|
tixDefOption {""} {{selectBorderWidth 0}} |
|
|
|
#---------------------------------------- |
|
# Standard TK Widget Options |
|
# |
|
# We set up the options for the TK widgets only if |
|
# the strictTK option is not selected. |
|
#---------------------------------------- |
|
|
|
tixDefOption {Menu TixMenu} { |
|
{.font $tixOption(menu_font)} |
|
{.selectColor $tixOption(selector)} |
|
} |
|
|
|
tixDefOption {Menubutton} { |
|
{.font $tixOption(menu_font)} |
|
{.padY 5} |
|
} |
|
|
|
tixDefOption {Button} { |
|
{.borderWidth 2} |
|
{.anchor c} |
|
} |
|
|
|
tixDefOption {Checkbutton Radiobutton} { |
|
{.selectColor $tixOption(selector)} |
|
} |
|
|
|
tixDefOption {Entry} { |
|
{.relief sunken} |
|
{.highlightBackground $tixOption(bg)} |
|
{.background $tixOption(input1_bg)} |
|
{.foreground black} |
|
{.insertBackground black} |
|
} |
|
|
|
tixDefOption {Label} { |
|
{.anchor w} |
|
{.borderWidth 0} |
|
{.font $tixOption(bold_font)} |
|
} |
|
|
|
tixDefOption {Listbox} { |
|
{.background $tixOption(light1_bg)} |
|
{.relief sunken} |
|
} |
|
|
|
tixDefOption {Scale} { |
|
{.foreground $tixOption(fg)} |
|
{.activeForeground $tixOption(bg)} |
|
{.background $tixOption(bg)} |
|
{.sliderForeground $tixOption(bg)} |
|
{.sliderBackground $tixOption(light1_bg)} |
|
{.font $tixOption(italic_font)} |
|
} |
|
|
|
tixDefOption {Scrollbar} { |
|
{.background $tixOption(bg)} |
|
{.troughColor $tixOption(light1_bg)} |
|
{.relief sunken} |
|
{.borderWidth 1} |
|
{.width 15} |
|
} |
|
|
|
tixDefOption {Text} { |
|
{.background $tixOption(input1_bg)} |
|
{.relief sunken} |
|
} |
|
|
|
#---------------------------------------------------------------------- |
|
# TIX WIDGETS |
|
#---------------------------------------------------------------------- |
|
|
|
tixDefOption {TixBalloon} { |
|
{*background #ffff60} |
|
{*foreground black} |
|
{.background black} |
|
{*Label.font $tixOption(font)} |
|
{*Label.anchor w} |
|
} |
|
|
|
tixDefOption {TixBitmapButton} { |
|
{*label.font $tixOption(font)} |
|
} |
|
|
|
tixDefOption {TixControl} { |
|
{*entry.highlightBackground $tixOption(bg)} |
|
{*entry.background $tixOption(input1_bg)} |
|
{*entry.foreground black} |
|
{*entry.insertBackground black} |
|
{*label.font $tixOption(bold_font)} |
|
} |
|
|
|
# DLG_BTNS |
|
# |
|
tixDefOption {TixStdButtonBox} { |
|
} |
|
|
|
# DIR_LIST |
|
# |
|
tixDefOption {TixDirTree TixDirList TixScrolledHList TixTree} { |
|
{*Scrollbar.background $tixOption(bg)} |
|
{*Scrollbar.troughColor $tixOption(light1_bg)} |
|
{*hlist.highlightBackground $tixOption(bg)} |
|
{*hlist.background $tixOption(light1_bg)} |
|
{*hlist.activeBackground $tixOption(light1_bg)} |
|
{*hlist.disabledBackground $tixOption(light1_bg)} |
|
{*f1.borderWidth 1} |
|
{*f1.relief sunken} |
|
} |
|
|
|
tixDefOption {TixFileEntry} { |
|
{*Entry.background $tixOption(input1_bg)} |
|
} |
|
|
|
tixDefOption {TixHList} { |
|
{.background $tixOption(light1_bg)} |
|
{.activeBackground $tixOption(light1_bg)} |
|
{.disabledBackground $tixOption(light1_bg)} |
|
} |
|
|
|
tixDefOption {TixLabelEntry} { |
|
{*entry.highlightBackground $tixOption(bg)} |
|
{*entry.background $tixOption(input1_bg)} |
|
{*entry.foreground black} |
|
{*entry.insertBackground black} |
|
{*label.font $tixOption(bold_font)} |
|
} |
|
|
|
tixDefOption {TixLabelFrame} { |
|
{*label.font $tixOption(bold_font)} |
|
} |
|
|
|
tixDefOption {TixMultiList} { |
|
{*Listbox.borderWidth 0} |
|
{*Listbox.highlightThickness 0} |
|
{*Scrollbar.background $tixOption(bg)} |
|
{*Scrollbar.troughColor $tixOption(light1_bg)} |
|
{*Scrollbar.relief sunken} |
|
{*Scrollbar.width 15} |
|
{*f1.borderWidth 2} |
|
{*f1.relief sunken} |
|
{*f1.highlightThickness 2} |
|
} |
|
|
|
# MwmClient |
|
# |
|
tixDefOption {TixMwmClient} { |
|
{*title.font $tixOption(menu_font)} |
|
} |
|
|
|
tixDefOption {TixMDIMenuBar} { |
|
{*menubar.relief raised} |
|
{*menubar.borderWidth 2} |
|
{*Menubutton.padY 2} |
|
} |
|
|
|
# NoteBook |
|
# |
|
tixDefOption {TixNoteBook} { |
|
{.Background $tixOption(bg)} |
|
{.nbframe.Background $tixOption(bg)} |
|
{.nbframe.font $tixOption(menu_font)} |
|
{.nbframe.backPageColor $tixOption(bg)} |
|
{.nbframe.inactiveBackground $tixOption(inactive_bg)} |
|
} |
|
|
|
# OPTION_MENU |
|
# |
|
tixDefOption {TixOptionMenu} { |
|
{*menubutton.font $tixOption(font)} |
|
} |
|
|
|
# PANED_WINDOW |
|
# |
|
tixDefOption {TixPanedWindow} { |
|
{.handleActiveBg $tixOption(active_bg)} |
|
{.seperatorBg $tixOption(bg)} |
|
{.handleBg $tixOption(dark1_bg)} |
|
} |
|
|
|
# POPUP MENU |
|
# |
|
tixDefOption {TixPopupMenu} { |
|
{*menubutton.background $tixOption(dark1_bg)} |
|
} |
|
|
|
# SCROLLED_HLIST |
|
# |
|
tixDefOption {TixScrolledHList} { |
|
{*Scrollbar.background $tixOption(bg)} |
|
{*Scrollbar.troughColor $tixOption(light1_bg)} |
|
{*hlist.highlightBackground $tixOption(bg)} |
|
{*hlist.background $tixOption(light1_bg)} |
|
} |
|
|
|
tixDefOption {TixScrolledTList} { |
|
{*Scrollbar.background $tixOption(bg)} |
|
{*Scrollbar.troughColor $tixOption(light1_bg)} |
|
{*tlist.highlightBackground $tixOption(bg)} |
|
{*tlist.background $tixOption(light1_bg)} |
|
} |
|
|
|
# SCROLLED_LISTBOX, .. ETC |
|
# |
|
tixDefOption {TixScrolledListBox} { |
|
{*Scrollbar.background $tixOption(bg)} |
|
{*Scrollbar.troughColor $tixOption(light1_bg)} |
|
{*listbox.highlightBackground $tixOption(bg)} |
|
{*listbox.background $tixOption(light1_bg)} |
|
} |
|
|
|
tixDefOption {TixScrolledText} { |
|
{*Scrollbar.background $tixOption(bg)} |
|
{*Scrollbar.troughColor $tixOption(light1_bg)} |
|
} |
|
|
|
|
|
# SCROLLED_WINDOW |
|
# |
|
tixDefOption {TixScrolledWindow} { |
|
{*Scrollbar.background $tixOption(bg)} |
|
{*Scrollbar.troughColor $tixOption(light1_bg)} |
|
{.frame.background $tixOption(light1_bg)} |
|
} |
|
|
|
|
|
# SELECT |
|
# |
|
tixDefOption {TixSelect} { |
|
} |
|
|
|
tixDefOption {TixTree} { |
|
{*Scrollbar.background $tixOption(bg)} |
|
{*Scrollbar.troughColor $tixOption(light1_bg)} |
|
{*hlist.highlightBackground $tixOption(bg)} |
|
{*hlist.background $tixOption(light1_bg)} |
|
{*hlist.borderWidth 1} |
|
} |
|
# NON ALPHABETICAL ORDER WIDGETS |
|
|
|
# Since TK's option database follows the order-of-declaration rule, not |
|
# specific-vs-general rule, the options of the widgets below depends on |
|
# the options of the widget above, so their options must be defined here |
|
|
|
# COMBOBOX |
|
tixDefOption {TixComboBox} { |
|
{*Entry.font $tixOption(font)} |
|
{*Entry.highlightBackground $tixOption(bg)} |
|
{*Entry.background $tixOption(input1_bg)} |
|
{*Entry.foreground black} |
|
{*Entry.insertBackground black} |
|
} |
|
|
|
# FILE_SELECT_BOX |
|
# |
|
tixDefOption {TixFileSelectBox} { |
|
{*Label.font $tixOption(bold_font)} |
|
} |
|
|
|
tixDefOption {TixExFileSelectBox} { |
|
} |
|
} |
|
|
|
#---------------------------------------------------------------------- |
|
# The default fontset and schemes |
|
# |
|
#---------------------------------------------------------------------- |
|
|
|
source ../DefSchm.tcl |
|
rename tixSetDefaultFontset tixSetFontset |
|
rename tixSetDefaultScheme-Color tixSetScheme-Color |
|
rename tixSetDefaultScheme-Mono tixSetScheme-Mono |
|
|
|
#---------------------------------------------------------------------- |
|
# Action: |
|
#---------------------------------------------------------------------- |
|
if [string match TK* [lindex $argv 1]] { |
|
set isTK 1 |
|
} else { |
|
set isTK 0 |
|
} |
|
set schemeName [lindex [split [lindex $argv 1] "."] 0] |
|
source [lindex $argv 1] |
|
|
|
|
|
tixSetFontset |
|
|
|
if {[lindex $argv 0] == "-font"} { |
|
|
|
set isFont 1 |
|
|
|
# FontSets will be set in two steps. |
|
# (1) init fontsets |
|
# ... tix checks the validity of the fonts ... |
|
# (2) add the fontsets into the option database. |
|
# |
|
puts "proc tixPref:InitFontSet:$schemeName {} { " |
|
puts [info body tixSetFontset] |
|
puts "}" |
|
|
|
puts "proc tixPref:SetFontSet:$schemeName {} { " |
|
puts "global tixOption" |
|
if {! $isTK} { |
|
tixInitOptionDatabase 0 |
|
} |
|
puts "}" |
|
|
|
|
|
} else { |
|
set isFont 0 |
|
|
|
# Do the Color First |
|
# |
|
puts "proc tixPref:SetScheme-Color:$schemeName {} {" |
|
puts [info body tixSetScheme-Color] |
|
if {! $isTK} { |
|
tixSetScheme-Color |
|
tixInitOptionDatabase 0 |
|
} |
|
puts "}" |
|
|
|
# Now Do the Mono |
|
# |
|
puts "proc tixPref:SetScheme-Mono:$schemeName {} {" |
|
puts [info body tixSetScheme-Mono] |
|
if {! $isTK} { |
|
tixSetScheme-Mono |
|
tixInitOptionDatabase 0 |
|
} |
|
puts "}" |
|
} |
|
|