| #!/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 "}" | |
| } | |