5 proc TkW:wineconf1 {} {
7 # propmt the user for a choice of the default config file:
9 # Existing {--> menu ~/.winerc or /etc/wineconf or custom}
10 # autogenarated with tools/wineconf
13 # test of existing is preformed first; test of existing wineconf also
16 set ExistEtc [TkW:ListConfig /etc/wine.conf]
17 set ExistHome [TkW:ListConfig "~/.winerc"]
19 TkW:AskUserConfMethod $ExistEtc $ExistHome
21 while [winfo exists .askConf] {update}
24 proc TkW:ListConfig {fileConf} {
29 if [file writa $fileConf] {return 1} {return 0}
32 proc TkW:AskUserConfMethod {ExistEtc ExistHome} {
34 global USER ChDefautConf DejaConf HOME OK CANCEL WAITfilename
35 global DefaultType EtcState HomeState GiveCustomDefault Default
36 global GetFileName GenereConf TkWBuiltConf
38 toplevel .askConf -backgr #ffffff
39 label .askConf.banner -text $ChDefautConf -backgr #0000ff \
40 -foregr #ffffff -height 2
41 pack .askConf.banner -side top -fill x
43 if {$USER == "root" && $ExistEtc == 1} {
44 set Default /etc/wine.conf
46 if {$ExistHome == 1} {set Default "~/.winerc"} \
47 else {set Default Custom}
49 if {[file writable /etc/wine.conf]} {set EtcState normal} {set EtcState disabled}
50 if {$ExistHome == 1} {set HomeState normal} {set HomeState disabled}
52 frame .askConf.deja -width 200 -backgr #ffffff
53 radiobutton .askConf.deja.rad -backgr #dddddd -text $DejaConf\
54 -anchor nw -value 0 -variable DefaultType \
55 -indicatoron 1 -relief raised -selectcolor #00ff00
56 pack .askConf.deja.rad -side left -padx 5
57 menubutton .askConf.deja.men -backgr #dddddd \
58 -menu .askConf.deja.men.m -width 50 -text $Default\
61 menu .askConf.deja.men.m -cursor {} -tearoff 0
62 .askConf.deja.men.m add command \
64 set Default "$HOME/.winerc"
65 .askConf.deja.men configure -text $Default
66 } -label "~/.winerc" -state $HomeState
67 .askConf.deja.men.m add command \
69 set Default "/etc/wine.conf"
70 .askConf.deja.men configure -text $Default
72 -label "/etc/wine.conf (System wide configuration)"
73 .askConf.deja.men.m add command \
75 TkW:GetFileName $GiveCustomDefault $OK $CANCEL File
76 #set WAITfilename wait
77 #while {$WAITfilename == "wait"} {update}
78 if {$WAITfilename == "opt1"} {
79 set Default $GetFileName
81 .askConf.deja.men configure -text $Default
84 -label "Custom (Give your own configuration file)"
85 pack .askConf.deja -padx 5 -pady 10
86 pack .askConf.deja.men
88 label .askConf.img -image wine_half -backgr #ffffff -relief flat
89 pack .askConf.img -side right -anchor se -padx 5 -pady 5
91 # Next radiobutton: tools/wineconf:
93 frame .askConf.radio -backgr #ffffff -relief flat
94 radiobutton .askConf.radio.generate -text $GenereConf\
95 -anchor nw -value 1 -variable DefaultType \
96 -selectcolor #00ff00 -relief raised
97 pack .askConf.radio.generate -padx 5 -pady 5 -anchor w -fill x
99 # Next radiobutton : TkWine Built-in
101 radiobutton .askConf.radio.tkwbuilt -text $TkWBuiltConf\
102 -anchor nw -value 2 -variable DefaultType \
103 -selectcolor #00ff00 -relief raised
104 pack .askConf.radio.tkwbuilt -padx 5 -pady 5 -anchor w -fill x
105 pack .askConf.radio -padx 0 -pady 0 -anchor w
107 # now OK or CANCEL....
108 frame .askConf.buttons -backgr #ffffff -relief flat -height 25
109 button .askConf.buttons.ok -width 8 -text $OK -command {
113 button .askConf.buttons.cancel -width 8 -text $CANCEL -command {
116 pack .askConf.buttons.ok -side left -padx 25 -pady 5
117 pack .askConf.buttons.cancel -side left -padx 5 -pady 5
118 pack .askConf.buttons -anchor w -padx 5
121 proc TkW:CallWineConf {} {
123 global Default DefaultType TKW
124 switch $DefaultType {
125 0 {TkW:wineconf $Default}
128 set FoundWineConf [TkW:autoconf /tmp/auto_generated_wineconf]
129 while {$FoundWineConf == 0} update
130 TkW:wineconf /tmp/auto_generated_wineconf
133 2 {TkW:wineconf $TKW/setupfiles/wine.ini}
138 proc TkW:GenereTmpConf {wineconfTool} {
140 set wherearewe ConfTool
141 set Pipe [open "| $wineconfTool " r+]
142 exec rm -f /tmp/auto_generated_wineconf
143 set TmpConf [open /tmp/auto_generated_wineconf w]
144 while {![eof $Pipe]} {
149 set specialwhere CloseWineAutoConf