1 # This script is free software; you can redistribute it and/or modify
2 # it under the terms of the GNU General Public License as published by
3 # the Free Software Foundation; either version 2 of the License, or
4 # (at your option) any later version.
6 # This program is distributed in the hope that it will be useful,
7 # but WITHOUT ANY WARRANTY; without even the implied warranty of
8 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 # GNU General Public License for more details.
11 # You should have received a copy of the GNU General Public License
12 # along with this program; if not, write to the Free Software
13 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16 #-----------------------------------------------------------------------------
17 # Copyright 2000, Olivier Chapuis
18 #-----------------------------------------------------------------------------
21 WindowTitle {FVWM Themes Center}
23 Font -adobe-helvetica-bold-r-*-*-12-*
27 Do {FvwmScript FvwmScript-NoteMessage "Loading Themes"}
29 Set $TextColorset = {}
30 Set $ViewerColorset = {}
31 Set $IconColorset = {}
34 Set $arg = (GetScriptArgument $i)
38 If $arg == {--viewer-colorset} Then
39 Set $ViewerColorset = (GetScriptArgument $j)
40 If $arg == {--text-colorset} Then
41 Set $TextColorset = (GetScriptArgument $j)
42 If $arg == {--icon-colorset} Then
43 Set $IconColorset = (GetScriptArgument $j)
44 If $arg == {--lang} Then
45 Set $Lang = (GetScriptArgument $j)
47 Set $arg = (GetScriptArgument $i)
51 If $TextColorset <> {} Then
53 ChangeColorset 6 $TextColorset
54 ChangeColorset 12 $TextColorset
55 ChangeColorset 17 $TextColorset
56 ChangeColorset 41 $TextColorset
57 ChangeColorset 27 $TextColorset
58 ChangeColorset 22 $TextColorset
61 If $ViewerColorset <> {} Then
63 ChangeColorset 95 $ViewerColorset
66 Set $SelFont = {-adobe-helvetica-bold-r-*-*-12-*}
67 Set $ShadeFont = {-adobe-helvetica-medium-r-*-*-12-*}
68 Set $FixedFont = {-*-fixed-medium-r-semicondensed-*-13-*}
69 Set $nonDefaultFont = 0
73 # ------------------------------- Internationalization.
77 Set $cmd = {echo "$LANG" | cut -c1-2}
78 Set $Lang = (GetOutput $cmd 1 -1)
85 Set $cmd = {fvwm-themes-script --get-msg }FvwmScript-ThemesCenter{ --lang }$Lang
86 Set $MSG = (GetOutput $cmd 1 -1)
89 While $notdone == 1 Do
91 Set $index = (Add $index 1)
92 Set $id = (StrCopy $MSG $index (Add $index 11))
93 Set $index = (Add $index 12)
94 Set $tmp = (StrCopy $MSG $index (Add $index 3))
95 Set $index = (Add $index 4)
96 Set $pos = (Add $index $tmp)
97 Set $msg = (StrCopy $MSG $index $pos)
98 Set $index = (Add $index $tmp)
99 #Do {Echo id:}$id{:msg:}$msg{:}
101 If $index > 9999 Then
103 If $id == {END } Then
110 If $id == {CTList } Then
112 If $id == {ThemesList } Then
114 If $id == {Readme } Then
116 If $id == {LoadAll } Then
118 If $id == {LoadLook } Then
120 If $id == {MSelTheme } Then
121 Set $l_MustSelecteTheme = $msg
122 If $id == {AComponent } Then
123 Set $l_A_Component = $msg
124 If $id == {AComponent } Then
125 Set $l_A_Component = $msg
126 If $id == {NoThemeSel } Then
128 If $id == {Load } Then
130 If $id == {Info } Then
135 If $id == {View } Then
137 If $id == {MSelThemeCp } Then
138 Set $l_MustSelectThemeComp = $msg
139 If $id == {MSelCC } Then
140 Set $l_MustSelectCurrentComp = $msg
141 If $id == {NoScreenShot} Then
142 Set $l_NoScreenShot = $msg
143 If $id == {NoHelp } Then
145 If $id == {USThemeComp } Then
147 If $id == {Properties } Then
149 If $id == {Restore } Then
154 If $id == {Drop } Then
159 If $id == {Lock } Then
161 If $id == {Unlock } Then
163 If $id == {NoProp } Then
164 Set $l_NoProperties = $msg
165 If $id == {ThreeEditor } Then
166 Set $l_OnlyThreeEditor = $msg
167 If $id == {PropEditor } Then
168 Set $l_PropertyEditor = $msg
169 If $id == {AActive } Then
170 Set $l_AlreadyActive = $msg
171 If $id == {CompNotSet } Then
172 Set $l_CompNotSet = $msg
173 If $id == {DropNotImp } Then
174 Set $l_DropNotImp = $msg
175 If $id == {NoDrop } Then
178 If $id == {SetUSComp } Then
180 If $id == {SelAComp } Then
182 If $id == {VariantsFor } Then
183 Set $l_VariantsFor = $msg
184 If $id == {Set } Then
186 If $id == {MSelVar } Then
187 Set $l_MustSelectVariant = $msg
189 If $id == {CurSession } Then
190 Set $l_CurrentSession = $msg
191 If $id == {UpTime } Then
193 If $id == {SessionsList} Then
195 If $id == {FinishEdit } Then
196 Set $l_FinishEdit = $msg
197 If $id == {SelSession } Then
199 Set $l_SelectedSession = $msg
202 If $id == {MSelSession } Then
203 Set $l_MustSelectSession = $msg
205 If $id == {BEdit } Then
207 If $id == {AEdit } Then
209 If $id == {Edit } Then
211 If $id == {Add } Then
213 If $id == {Remove } Then
215 If $id == {SessionH1 } Then
217 If $id == {SessionH2 } Then
219 If $id == {SessionH3 } Then
221 If $id == {SessionH4 } Then
223 If $id == {AddSession } Then
224 Set $l_AddSession = $msg
225 If $id == {NRemoveMain } Then
226 Set $l_NotRemoveMain = $msg
227 If $id == {NRemoveCur } Then
228 Set $l_NotRemoveCur = $msg
229 If $id == {BReallyRem } Then
230 Set $l_B_ReallyRemove = $msg
231 If $id == {AReallyRem } Then
232 Set $l_A_ReallyRemove = $msg
233 If $id == {SessionName } Then
235 If $id == {ConfigOf } Then
239 If $id == {Cancel } Then
241 If $id == {Yes } Then
245 If $id == {NameNotValid} Then
246 Set $l_NameNotValid = $msg
247 If $id == {NameAlreadyU} Then
248 Set $l_NameAlreadyUse = $msg
249 If $id == {SysErr } Then
251 If $id == {CNewSession } Then
252 Set $l_ClickNewSession = $msg
253 If $id == {NoChanges } Then
254 Set $l_NoChanges = $msg
255 If $id == {AThemeConf } Then
256 Set $l_ApplyThemeConfig = $msg
257 If $id == {ANewSession } Then
258 Set $l_ApplyNewSession= $msg
259 If $id == {RefreshConf } Then
260 Set $l_Refresh = $msg
261 If $id == {UpdateConf } Then
263 If $id == {MsgInfo } Then
265 If $id == {Apply } Then
267 If $id == {Refresh } Then
269 If $id == {Update } Then
271 If $id == {Help } Then
273 If $id == {Quit } Then
275 If $id == {ChangeFont } Then
276 Set $nonDefaultFont = $msg
277 If $id == {SelFont } Then
279 If $id == {ShadeFont } Then
280 Set $ShadeFont = $msg
281 If $id == {FixedFont } Then
282 Set $FixedFont = $msg
286 ChangeTitle 54 $l_Cancel
287 ChangeTitle 100 $l_Lock
289 # found the FvwmScript pid
291 Set $ComName = {config-}$pid
293 # Run fvwm-themes-config until the end of the script
294 Do {Exec fvwm-themes-config --com-mode --com-name=}$ComName{ &}
296 # Get the themes list, the current config, ...etc.
297 Set $cmd = {all-startup-stuff|}
298 Set $RES = (SendMsgAndGet $ComName $cmd 1)
299 Set $ThemesList = (Parse $RES 1)
300 ChangeTitle 6 $ThemesList
301 Set $CurrentConfig = (Parse $RES 2)
302 ChangeTitle 17 $CurrentConfig
304 # Get the settings config
305 Set $SettingsConfig = (Parse $RES 3)
306 ChangeTitle 22 $SettingsConfig
308 # Get the session info
309 Set $CurrentSession = (Parse $RES 4)
310 Set $SessionUpTime = (Parse $RES 5)
311 Set $tmp = {Current Session: }$CurrentSession{ Up Time: }$SessionUpTime
313 Set $SessionList = (Parse $RES 6)
314 ChangeTitle 41 $SessionList
315 Set $ConfigurationList = (Parse $RES 7)
316 ChangeTitle 52 $ConfigurationList
319 Set $SpecialMessage = {}
321 # TS: Themes Selector; GS: General Settings; SM: FT Sessions Management
322 Set $ConfigTool = {TS}
327 Set $ComponentName = {}
328 Set $ComponentIndex = 0
331 Set $CSThemeName = {}
332 Set $CSCompHasOpt = 0
334 Set $CSCompCanBeDropped = 0
335 Set $PropertyEditorOne = {}
336 Set $PropertyEditorOneTandC = {}
337 Set $PropertyEditorTwo = {}
338 Set $PropertyEditorTwoTandC = {}
339 Set $PropertyEditorLast = {}
340 Set $PropertyEditorLastTandC = {}
343 Set $SettingsIndex = 0
344 Set $SettingsComponent = {}
345 Set $SettingsName ={}
346 Set $SettingsVariantsIndex = 0
349 Set $SessionIndex = 0
350 Set $SelectedSession = {}
351 Set $SMEditorState = 0
356 ChangeFont $tmp $ShadeFont
357 Set $tmp2 = (Add $tmp 6)
358 ChangeFont $tmp2 $ShadeFont
359 Set $tmp2 = (Add $tmp2 5)
360 ChangeFont $tmp2 $ShadeFont
361 Set $tmp = (Add $tmp 1)
363 ChangeFont 23 $ShadeFont
364 ChangeFont 24 $ShadeFont
365 #ChangeFont 25 $ShadeFont
366 ChangeFont 28 $ShadeFont
367 ChangeFont 100 $ShadeFont
368 # change the fonts for non west-european language
369 If $nonDefaultFont == 1 Then
371 ChangeFont 1 $SelFont
372 ChangeFont 2 $SelFont
373 ChangeFont 6 $FixedFont
374 ChangeFont 5 $SelFont
375 ChangeFont 11 $SelFont
376 ChangeFont 12 $FixedFont
377 ChangeFont 16 $SelFont
378 ChangeFont 17 $FixedFont
379 ChangeFont 21 $SelFont
380 ChangeFont 22 $FixedFont
381 ChangeFont 26 $SelFont
382 ChangeFont 27 $FixedFont
383 ChangeFont 39 $SelFont
384 ChangeFont 40 $SelFont
385 ChangeFont 41 $FixedFont
386 ChangeFont 42 $SelFont
387 ChangeFont 43 $SelFont
388 ChangeFont 44 $SelFont
389 ChangeFont 45 $SelFont
390 ChangeFont 46 $FixedFont
391 ChangeFont 47 $FixedFont
392 ChangeFont 48 $FixedFont
393 ChangeFont 58 $FixedFont
394 ChangeFont 49 $SelFont
395 ChangeFont 50 $FixedFont
396 ChangeFont 51 $FixedFont
397 ChangeFont 53 $SelFont
398 ChangeFont 54 $SelFont
399 ChangeFont 57 $SelFont
403 ChangeFont $tmp $SelFont
404 Set $tmp = (Add $tmp 1)
417 Set $tmp = (Add $tmp 1)
423 Set $tmp = (Add $tmp 1)
429 Set $tmp = (Add $tmp 1)
432 Do {All (FvwmScript-NoteMessage) Delete}
435 # ---------------------------------------------------------------------------
439 # ---------------------------------------------------------------------------
444 #----------------------------------------------------------------------------
445 # config tool switching
447 If $HideThemeChooser == {1} Then
449 Set $HideThemeChooser = 0
454 Set $tmp = (Add $tmp 1)
460 Set $tmp = (Add $tmp 1)
465 If $HideGeneralSettings == {1} Then
467 Set $HideGeneralSettings = 0
472 Set $tmp = (Add $tmp 1)
478 Set $tmp = (Add $tmp 1)
482 If $HideSession == {1} Then
489 Set $tmp = (Add $tmp 1)
493 If $ShowThemeChooser == {1} Then
495 Set $ShowThemeChooser = 0
496 Set $ConfigTool = {TS}
501 Set $tmp = (Add $tmp 1)
507 Set $tmp = (Add $tmp 1)
512 If $ShowGeneralSettings == {1} Then
514 Set $ShowGeneralSettings = 0
515 Set $ConfigTool = {GS}
520 Set $tmp = (Add $tmp 1)
523 If $SettingsIndex <> 0 Then
530 If $ShowSession == {1} Then
533 Set $ConfigTool = {SM}
538 Set $tmp = (Add $tmp 1)
540 If $SMEditorState == 0 Then
553 Set $tmp = (Add $tmp 1)
555 If $SMEditorState == 1 Then
560 Set $UpdateSessionUpTime = 1
563 #-----------------------------------------------------------------------------
566 # -----------------------------------------------
569 If $ApplyTSCmdOpts == 1 Then
571 Set $ApplyTSCmdOpts = 0
572 Set $CMD = {apply-ts-cmd-opts|}
575 If $RES <> {0000} Then
577 Set $SwitchCmd = $RES
578 If $SwitchCmd <> {} Then
582 Set $UpdateAllTSLists = 1
583 Set $UpdateSettingsListAndVariants = 1
584 Set $SendUpdateMsg = 1
589 ChangeTitle 95 $l_NoChanges
594 # -----------------------------------------------
595 # refresh or update for TS & GS & SM
596 If $RefreshORUpdate == 1 Then
598 Set $RefreshORUpdate = 0
599 Set $CMD = {update }$RefreshUpdateValue{|}
602 If $RefreshUpdateValue == 1 Then
603 Do {FuncFvwmThemesFresh}
604 Set $UpdateSMLists = 1
605 Set $UpdateAllTSLists = 1
606 Set $UpdateSettingsListAndVariants = 1
607 Set $SendUpdateMsg = 1
611 #-----------------------------------------------------------------------------
614 #------------------------------------------------
615 # update Theme Selectors List
617 If $UpdateAllTSLists == {1} Then
619 Set $UpdateAllTSLists = 0
620 Set $CMD = {all-ts-lists }$ThemeIndex{ }$CSCompIndex{|}
623 If $RES <> {0000} Then
625 Set $ThemesList = (Parse $RES 1)
626 ChangeTitle 6 $ThemesList
627 Set $tmp = (Parse $RES 2)
628 If $ThemeIndex <> 0 Then
630 Set $ThemeComponents = $tmp
631 ChangeTitle 12 $ThemeComponents
633 Set $CurrentConfig = (Parse $RES 3)
634 ChangeTitle 17 $CurrentConfig
635 If $CSCompIndex <> 0 Then
637 Set $CSCompName = (Parse $RES 4)
638 Set $CSThemeName = (Parse $RES 5)
639 Set $tmp = (Parse $RES 6)
640 Set $CSCompHasOpt = (StrCopy $tmp 1 1)
641 Set $CSCompIsSet = (StrCopy $tmp 2 2)
642 Set $CSCompCanBeDropped = (StrCopy $tmp 3 3)
643 Set $CSCompIsLocked = (StrCopy $tmp 4 4)
644 Set $UpdateCSButtons = 1
649 If $UpdateCurrentConfig == 1 Then
651 Set $UpdateCurrentConfig = 0
652 Set $CMD = {current-config }$CSCompIndex{|}
655 If $RES <> {0000} Then
657 Set $CurrentConfig = (Parse $RES 1)
658 ChangeTitle 17 $CurrentConfig
659 If $CSCompIndex <> 0 Then
661 Set $CSCompName = (Parse $RES 2)
662 Set $CSThemeName = (Parse $RES 3)
663 Set $tmp = (Parse $RES 4)
664 Set $CSCompHasOpt = (StrCopy $tmp 1 1)
665 Set $CSCompIsSet = (StrCopy $tmp 2 2)
666 Set $CSCompCanBeDropped = (StrCopy $tmp 3 3)
667 Set $CSCompIsLocked = (StrCopy $tmp 4 4)
668 Set $UpdateCSButtons = 1
673 If $UpdateCurrentConfigLine == 1 Then
675 Set $UpdateCurrentConfigLine = 0
676 If $CSCompIndex <> 0 Then
678 Set $CMD = {current-comp-name }$CSCompIndex{|}
681 If $RES <> {0000} Then
683 Set $CSCompName = (Parse $RES 1)
684 Set $CSThemeName = (Parse $RES 2)
685 Set $tmp = (Parse $RES 3)
686 Set $CSCompHasOpt = (StrCopy $tmp 1 1)
687 Set $CSCompIsSet = (StrCopy $tmp 2 2)
688 Set $CSCompCanBeDropped = (StrCopy $tmp 3 3)
689 Set $CSCompIsLocked = (StrCopy $tmp 4 4)
690 Set $UpdateCSButtons = 1
695 If $UpdateCSButtons == 1 Then
697 ChangeFont 100 $SelFont
698 If $CSCompIsLocked == 1 Then
699 ChangeTitle 100 $l_Unlock
701 ChangeTitle 100 $l_Lock
702 Set $UpdateCSButtons = 0
703 If $CSCompHasOpt == 1 Then
704 ChangeFont 18 $SelFont
706 ChangeFont 18 $ShadeFont
707 If $CSCompIsSet == 1 Then
708 ChangeFont 19 $SelFont
710 ChangeFont 19 $ShadeFont
711 If $CSCompCanBeDropped == 1 Then
712 ChangeFont 20 $SelFont
714 ChangeFont 20 $ShadeFont
717 #----------------------------------------------------------------------------
720 If $UpdateSettingsListAndVariants == 1 Then
722 Set $UpdateSettingsListAndVariants = 0
723 If $SettingsComponent <> {} Then
725 Set $CMD = {settings-config-and-variant }$SettingsComponent{ default }$SettingsIndex{|}
729 Set $CMD = {settings-config-and-variant None None 0|}
733 If $RES <> {0000} Then
735 Set $SettingsConfig = (Parse $RES 1)
736 ChangeTitle 22 $SettingsConfig
737 If $SettingsComponent <> {} Then
739 Set $SettingsVariants = (Parse $RES 2)
740 ChangeTitle 27 $SettingsVariants
745 If $UpdateSettingsList == 1 Then
747 Set $UpdateSettingsList = 0
748 Set $CMD = {settings-config|}
751 If $RES <> {0000} Then
753 Set $SettingsConfig = $RES
754 ChangeTitle 22 $SettingsConfig
758 #----------------------------------------------------------------------------
761 If $ConfigTool == {SM} Then
763 If (RemainderOfDiv (GetTime) 60)== 0 Then
764 Set $UpdateSessionUpTime = 1
767 If $UpdateSessionUpTime == 1 Then
769 Set $UpdateSessionUpTime = 0
770 Set $CMD = {session-uptime|}
773 If $RES <> {0000} Then
775 Set $SessionUpTime = $RES
776 Set $tmp = $l_CurrentSession{: }$CurrentSession{ }$l_UpTime{: }$SessionUpTime
781 If $ShowSMEditor == 1 Then
783 Set $ShowSMEditor = 0
788 If $SMEditorState == 3 Then
793 ChangeTitle 53 $l_Yes
802 Set $tmp = (Add $tmp 1)
804 If $SMEditorState == 1 Then
809 ChangeTitle 54 $l_Cancel
813 If $HideSMEditor == 1 Then
815 Set $HideSMEditor = 0
820 Set $tmp = (Add $tmp 1)
826 Set $SMEditorState = 0
829 If $UpdateSMLists == 1 Then
831 Set $UpdateSMLists = 0
832 Set $CMD = {session-info|}
835 If $RES <> {0000} Then
837 Set $CurrentSession = (Parse $RES 1)
838 Set $SessionUpTime = (Parse $RES 2)
839 Set $tmp = {Current Session: }$CurrentSession{ Up Time: }$SessionUpTime
841 Set $SessionList = (Parse $RES 3)
842 ChangeTitle 41 $SessionList
843 Set $ConfigurationList = (Parse $RES 4)
844 ChangeTitle 52 $ConfigurationList
848 #----------------------------------------------------------------------------
851 If $NullMessage == {1} Then
858 If $SpecialMessage <> {} Then
860 ChangeTitle 95 $SpecialMessage
861 Set $SpecialMessage = {}
864 #----------------------------------------------------------------------------
867 If $SendUpdateMsg == 1 Then
869 Set $SendUpdateMsg = 0
870 Do {SendToModule FvwmScript-ComponentProperties SendString 1 1 update}
876 # ---------------------------------------------------------------------------
880 # ---------------------------------------------------------------------------
883 Do {SendToModule FvwmScript-ComponentProperties SendString 1 1 exit}
886 # ---------------------------------------------------------------------------
890 # ---------------------------------------------------------------------------
891 # ---------------------------------------------------------------------------
895 # ---------------------------------------------------------------------------
914 Set $CMD = {apply-ts-cmd-opts|}
917 If $RES <> {0000} Then
919 Set $SwitchCmd = $RES
920 If $SwitchCmd <> {} Then
924 Set $UpdateAllTSLists = 1
925 Set $UpdateSettingsListAndVariants = 1
926 Set $SendUpdateMsg = 1
931 ChangeTitle 95 $l_NoChanges
942 Set $tmp = (SendMsgAndGet $ComName $CMD 1)
943 Set $count = (Add $count 1)
954 # ---------------------------------------------------------------------------
956 # Head: GUI chooser and rectangle delimiter
958 # ---------------------------------------------------------------------------
962 Flags NoReliefString NoFocus
973 # message from FvwmScript-ComponentProperties
976 Set $ls = (LastString)
977 Set $id = (StrCopy $ls 1 1)
981 If $ls == {1quit} Then
983 Set $PropertyEditorOne = {}
984 Set $PropertyEditorOneTandC = {}
986 If $ls == {1update} Then
988 Set $UpdateCurrentConfig = 1
990 If $ls == {1updatequit} Then
992 Set $PropertyEditorOne = {}
993 Set $PropertyEditorOneTandC = {}
994 Set $UpdateCurrentConfig = 1
1000 If $ls == {2quit} Then
1002 Set $PropertyEditorTwo = {}
1003 Set $PropertyEditorTwoTandC = {}
1005 If $ls == {2update} Then
1007 Set $UpdateCurrentConfig = 1
1009 If $ls == {2updatequit} Then
1011 Set $PropertyEditorTwo = {}
1012 Set $PropertyEditorTwoTandC = {}
1013 Set $UpdateCurrentConfig = 1
1019 If $ls == {3quit} Then
1021 Set $PropertyEditorLast = {}
1022 Set $PropertyEditorLastTandC = {}
1024 If $ls == {3update} Then
1026 Set $UpdateCurrentConfig = 1
1028 If $ls == {3updatequit} Then
1030 Set $PropertyEditorLast = {}
1031 Set $PropertyEditorLastTandC = {}
1032 Set $UpdateCurrentConfig = 1
1042 Flags NoReliefString
1045 Title { Themes Selector | General Settings | FVWM Themes Sessions }
1050 Set $tmp = (GetValue 2)
1053 Set $ShowThemeChooser = 1
1054 Set $HideSession = 1
1055 Set $HideGeneralSettings = 1
1059 Set $HideThemeChooser = 1
1060 Set $HideSession = 1
1061 Set $ShowGeneralSettings = 1
1065 Set $HideThemeChooser = 1
1066 Set $HideGeneralSettings = 1
1067 Set $ShowSession = 1
1069 Set $NullMessage = 1
1086 #-----------------------------------------------------------------------------
1090 #-----------------------------------------------------------------------------
1092 #-----------------------------------------------------------------------------
1097 Flags NoReliefString NoFocus
1111 Flags NoReliefString
1114 Font -*-fixed-medium-r-semicondensed-*-13-*
1121 Set $index = (GetValue 6)
1122 If $index <> $ThemeIndex Then
1124 Set $CMD = {theme-components }$index{|}
1127 If $RES <> {0000} Then
1129 Set $safe = (Parse $RES 1)
1130 If $safe <> {None} Then
1135 ChangeFont $tmp $SelFont
1136 Set $tmp = (Add $tmp 1)
1138 Set $ThemeIndex = $index
1139 Set $ThemeComponents = $safe
1140 Set $ThemeName = (Parse $RES 2)
1141 Set $ThemeDir = (Parse $RES 3)
1142 ChangeTitle 12 $ThemeComponents
1143 Set $t = $l_B_Component $ThemeName $l_A_Component
1146 Set $NullMessage = 1
1147 Set $ComponentName = {}
1152 ChangeFont $tmp $ShadeFont
1153 Set $tmp = (Add $tmp 1)
1164 Flags NoReliefString
1173 If $ThemeName == {} Then
1175 ChangeTitle 95 $l_msg_MustSelecteTheme
1179 Do {FuncFvwmViewFile }$ThemeDir{/README}
1180 Set $NullMessage = 1
1188 Flags NoReliefString
1197 If $ThemeName == {} Then
1199 ChangeTitle 95 $l_msg_MustSelecteTheme
1203 Set $CMD = {load-all }$ThemeName{|}
1206 Set $NullMessage = 1
1207 Set $UpdateAllTSLists = 1
1215 Flags NoReliefString
1224 If $ThemeName == {} Then
1226 ChangeTitle 95 $l_msg_MustSelecteTheme
1230 Set $CMD = {load-main-look }$ThemeName{|}
1233 Set $NullMessage = 1
1234 Set $UpdateAllTSLists = 1
1239 #-----------------------------------------------------------------------------
1240 # List of component of a theme
1244 Flags NoReliefString NoFocus
1258 Flags NoReliefString
1261 Font -*-fixed-medium-r-semicondensed-*-13-*
1268 Set $index = (GetValue 12)
1269 If $ThemeName <> {} Then
1271 Set $CMD = {component-name }$ThemeName{ }$index{|}
1274 If $RES <> {0000} Then
1278 Set $ComponentIndex = $index
1279 # 15 is not yet avaiable
1280 ChangeFont 13 $SelFont
1281 ChangeFont 14 $SelFont
1282 Set $ComponentName = $RES
1283 Set $NullMessage = 1
1287 Set $ComponentName = {}
1288 # 15 is not yet avaiable
1289 ChangeFont 13 $ShadeFont
1290 ChangeFont 14 $ShadeFont
1291 Set $NullMessage = 1
1301 Flags NoReliefString
1310 If $ComponentName == {} Then
1312 ChangeTitle 95 $l_MustSelectThemeComp
1316 Set $CMD = {load-one }$ThemeName{ }$ComponentName{|}
1319 Set $NullMessage = 1
1320 Set $UpdateAllTSLists = 1
1328 Flags NoReliefString
1337 If $ComponentName == {} Then
1339 ChangeTitle 95 $l_MustSelectThemeComp
1343 #ChangeTitle 95 $l_NoHelp
1344 Do {FuncFvwmShowComponentInfo }$ComponentName{@}$ThemeName
1352 Flags NoReliefString
1361 ChangeTitle 95 $l_NoScreenShot
1365 #-----------------------------------------------------------------------------
1366 # Current/setted Config
1370 Flags NoReliefString NoFocus
1384 Flags NoReliefString
1387 Font -*-fixed-medium-r-semicondensed-*-13-*
1394 Set $index = (GetValue 17)
1395 If $index <> $CSCompIndex Then
1397 Set $CSCompIndex = $index
1398 Set $UpdateCurrentConfigLine = 1
1399 Set $NullMessage = 1
1407 Flags NoReliefString
1419 If $CSCompIndex == 0 Then
1421 ChangeTitle 95 $l_MustSelectCurrentComp
1426 If $CSCompName == {} Then
1429 ChangeTitle 95 {Internal error: no component name for Properties}
1434 If $CSThemeName == {} Then
1437 ChangeTitle 95 {Internal error: no theme name for Properties}
1440 If $CSCompHasOpt == 0 Then
1442 Set $test = (Mult $break $test)
1445 ChangeTitle 95 $l_NoProperties
1451 Set $tmp = $CSCompName{@}$CSThemeName
1452 Set $arg={FvwmScript-ComponentProperties --text-colorset }$TextColorset{ --com-pid }$pid{ --component }$CSCompName{ --theme }$CSThemeName
1453 If $tmp == $PropertyEditorOneTandC Then
1455 If $tmp == $PropertyEditorTwoTandC Then
1457 If $tmp == $PropertyEditorLastTandC Then
1461 Set $msg = $l_PropertyEditor{ }$tmp{ }$l_AlreadyActive
1467 If $PropertyEditorOne == {} Then
1469 Set $arg = $arg{ --id 1}
1470 Set $PropertyEditorOne = (LaunchScript $arg)
1471 Set $PropertyEditorOneTandC = $tmp
1473 Set $NullMessage = 1
1475 If $PropertyEditorTwo == {} Then
1477 Set $test = (Mult $test $break)
1480 Set $arg = $arg{ --id 2}
1481 Set $PropertyEditorTwo = (LaunchScript $arg)
1482 Set $PropertyEditorTwoTandC = $tmp
1484 Set $NullMessage = 1
1486 If $PropertyEditorLast == {} Then
1488 Set $test = (Mult $test $break)
1491 Set $arg = $arg{ --id 3}
1492 Set $PropertyEditorLast = (LaunchScript $arg)
1493 Set $PropertyEditorLastTandC = $tmp
1495 Set $NullMessage = 1
1499 ChangeTitle 95 $l_OnlyThreeEditor
1509 Flags NoReliefString
1520 If $CSCompIndex == 0 Then
1522 ChangeTitle 95 $l_MustSelectCurrentComp
1525 If $CSCompIsSet == 0 Then
1527 Set $test = (Mult $break $test)
1530 ChangeTitle 95 $l_CompNotSet
1535 Set $CMD = {restore }$CSCompName{|}
1538 Set $UpdateAllTSLists = 1
1539 Set $NullMessage = 1
1540 Set $SendUpdateMsg = 1
1548 Flags NoReliefString
1559 If $CSCompIndex == 0 Then
1561 ChangeTitle 95 $l_MustSelectCurrentComp
1564 If $CSCompCanBeDropped == 0 Then
1566 Set $test = (Mult $break $test)
1569 ChangeTitle 95 $l_NoDrop
1574 #ChangeTitle 95 $l_DropNotImp
1575 Set $CMD = {drop }$CSCompName{|}
1578 Set $UpdateAllTSLists = 1
1579 Set $NullMessage = 1
1587 Flags NoReliefString
1598 If $CSCompIndex == 0 Then
1600 ChangeTitle 95 $l_MustSelectCurrentComp
1605 Set $CMD = {lock }$CSCompName{|}
1608 Set $UpdateAllTSLists = 1
1609 Set $NullMessage = 1
1614 #-----------------------------------------------------------------------------
1616 # General Settings Configuration
1618 #-----------------------------------------------------------------------------
1622 Flags NoReliefString NoFocus
1636 Flags NoReliefString
1639 Font -*-fixed-medium-r-semicondensed-*-13-*
1646 Set $value = (GetValue 22)
1647 If $value <> $SettingsIndex Then
1649 If $SettingsIndex == 0 Then
1653 # info and drop not yet supported ...
1654 ChangeFont 24 $SelFont
1655 #ChangeFont 25 $SelFont
1657 Set $SettingsIndex = $value
1658 Set $CMD = {settings-comp }$SettingsIndex{|}
1661 If $RES <> {0000} Then
1663 Set $SettingsName = (Parse $RES 1)
1664 Set $tmp = $l_VariantsFor{ }$SettingsName
1666 Set $SettingsComponent = (Parse $RES 2)
1667 Set $SettingsComponentIsSet = (Parse $RES 3)
1668 Set $SettingsVariants = (Parse $RES 4)
1669 ChangeTitle 27 $SettingsVariants
1670 If $SettingsComponentIsSet == 1 Then
1671 ChangeFont 23 $SelFont
1673 ChangeFont 23 $ShadeFont
1674 Set $SettingsVariantsIndex = 0
1676 ChangeFont 28 $ShadeFont
1677 Set $NullMessage = 1
1686 Flags NoReliefString
1697 If $SettingsIndex == 0 Then
1699 ChangeTitle 95 $l_MustSelectCurrentComp
1702 If $SettingsComponentIsSet == 0 Then
1704 Set $test = (Mult $break $test)
1707 ChangeTitle 95 $l_CompNotSet
1712 Set $CMD = {restore }$SettingsComponent{|}
1715 Set $UpdateSettingsListAndVariants = 1
1716 ChangeFont 23 $ShadeFont
1717 Set $NullMessage = 1
1725 Flags NoReliefString
1734 If $SettingsComponent == {} Then
1736 ChangeTitle 95 $l_MustSelectCurrentComp
1740 Do {FuncFvwmShowComponentInfo }$SettingsComponent{@default}
1741 #ChangeTitle 95 $l_NoHelp
1749 Flags NoReliefString NoFocus
1763 Flags NoReliefString
1766 Font -*-fixed-medium-r-semicondensed-*-13-*
1773 Set $tmp = (GetValue 27)
1775 ChangeFont 28 $ShadeFont
1777 ChangeFont 28 $SelFont
1778 Set $NullMessage = 1
1785 Flags NoReliefString
1794 Set $SettingsVariantsIndex = (GetValue 27)
1795 If $SettingsVariantsIndex <> 0 Then
1797 Set $CMD = {set-options }$SettingsComponent{ default 1 }$SettingsVariantsIndex{|}
1800 Set $SettingsComponentIsSet = 1
1801 ChangeFont 23 $SelFont
1802 Set $UpdateSettingsListAndVariants = 1
1803 Set $NullMessage = 1
1807 ChangeTitle 95 $l_MustSelectVariant
1812 #-----------------------------------------------------------------------------
1816 #-----------------------------------------------------------------------------
1819 Flags NoReliefString NoFocus
1834 Flags NoReliefString NoFocus
1848 Flags NoReliefString
1851 Font -*-fixed-medium-r-semicondensed-*-13-*
1859 If $SMEditorState <> 0 Then
1861 ChangeTitle 95 $l_FinishEdit
1863 ChangeValue 41 $SessionIndex
1867 Set $SessionIndex = (GetValue 41)
1868 Set $CMD = {session-name }$SessionIndex{|}
1871 If $RES <> {0000} Then
1873 Set $SelectedSession = $RES
1874 If $SelectedSession <> {1} Then
1875 Set $tmp = $l_SelectedSession{ }$SelectedSession
1878 Set $tmp = $l_SelectedSession
1879 Set $SessionIndex = 0
1880 Set $SelectedSession = {}
1883 Set $NullMessage = 1
1892 Flags NoReliefString
1902 If $SelectedSession == {} Then
1904 ChangeTitle 95 $l_MustSelectSession
1908 If $SMEditorState <> 0 Then
1910 Set $test = (Mult $break $test)
1913 ChangeTitle 95 $l_FinishEdit
1919 If $SelectedSession == {main} Then
1921 ChangeTitle 56 $SelectedSession
1922 Set $SMEditorState = 2
1926 Set $SMEditorState = 1
1927 ChangeTitle 55 $SelectedSession
1929 Set $tmp = $l_B_Edit $SelectedSession $l_A_Edit
1931 Set $tmp = (Add $SessionIndex 1)
1933 Set $SMEditorType = {Edit}
1934 Set $ShowSMEditor = 1
1935 Set $NullMessage = 1
1943 Flags NoReliefString
1953 If $SMEditorState <> 0 Then
1955 ChangeTitle 95 $l_FinishEdit
1961 Set $SMEditorState = 1
1964 ChangeTitle 49 $l_AddSession
1965 Set $SMEditorType = {Add}
1966 Set $ShowSMEditor = 1
1967 Set $NullMessage = 1
1975 Flags NoReliefString
1985 If $SelectedSession == {} Then
1987 ChangeTitle 95 $l_MustSelectSession
1991 If $SMEditorState <> 0 Then
1993 Set $test = (Mult $break $test)
1996 ChangeTitle 95 $l_FinishEdit
2000 If $SelectedSession == {main} Then
2002 Set $test = (Mult $break $test)
2005 ChangeTitle 95 $l_NotRemoveMain
2009 If $SelectedSession == $CurrentSession Then
2011 Set $test = (Mult $break $test)
2014 ChangeTitle 95 $l_NotRemoveCur
2019 Set $ShowSMEditor = 1
2020 Set $SMEditorState = 3
2021 Set $SMEditorType = {Remove}
2022 Set $tmp = $l_B_ReallyRemove $SelectedSession $l_A_ReallyRemove
2024 Set $NullMessage = 1
2032 Flags NoReliefString NoFocus
2046 Flags NoReliefString NoFocus
2049 Font -*-fixed-medium-r-semicondensed-*-13-*
2050 Title {* To load a session, select it and click on Apply }
2060 Flags NoReliefString NoFocus
2063 Font -*-fixed-medium-r-semicondensed-*-13-*
2064 Title {* To Reload the current session, click on Refresh }
2074 Flags NoReliefString NoFocus
2077 Font -*-fixed-medium-r-semicondensed-*-13-*
2078 Title {* A click on "Update" will rebuild the session list }
2088 Flags NoReliefString NoFocus
2091 Font -*-fixed-medium-r-semicondensed-*-13-*
2092 Title {* If you Apply, the not applied changes in the others config tools will be lost}
2104 Flags NoReliefString NoFocus
2119 Flags NoReliefString NoFocus
2121 Font -*-fixed-medium-r-semicondensed-*-13-*
2133 Flags NoReliefString
2147 Flags NoReliefString NoFocus
2158 # Configurtaion of ...
2161 Flags NoReliefString NoFocus
2164 Font -*-fixed-medium-r-semicondensed-*-13-*
2175 Flags NoReliefString
2189 Flags NoReliefString
2199 Set $session = {main}
2200 If $SMEditorState == 1 Then
2201 Set $session = (GetTitle 55)
2202 Set $config = (GetValue 52)
2203 If $SMEditorType == {Edit} Then
2205 Set $CMD = {edit-session }$SelectedSession{:}$session{:}$config{|}
2207 If $SMEditorType == {Add} Then
2209 Set $CMD = {add-session }$session{:}$config{|}
2211 If $SMEditorType == {Remove} Then
2213 Set $CMD = {remove-session }$SelectedSession{|}
2217 If $RES <> {0000} Then
2219 If $RES == {Err1} Then
2222 ChangeTitle 95 $l_NameNotValid
2224 If $RES == {Err2} Then
2227 ChangeTitle 95 $l_NameAlreadyUse
2229 If $RES == {Err3} Then
2232 ChangeTitle 95 $l_SysErr
2236 # Maybe need to do the translation one day
2237 If $SMEditorType == {Add} Then
2239 Set $msg = {Adding }$session{ FVWM Themes Session}
2242 If $SMEditorType == {Edit} Then
2244 Set $msg = {Applying Changes To }$session{ FVWM Themes Session}
2247 If $SMEditorType == {Remove} Then
2249 Set $msg = {Removing }$SelectedSession{ FVWM Themes Session}
2251 Set $session = (Parse $RES 1)
2252 Set $RES = (Parse $RES 2)
2255 Set $SessionIndex = $RES
2256 Set $SelectedSession = $session
2257 Set $t = {Selected Session: }$SelectedSession
2259 If $SMEditorType <> {Remove} Then
2260 Set $SpecialMessage = $l_ClickNewSession
2262 Set $NullMessage = 1
2263 Set $HideSMEditor = 1
2264 # this update also the current session ...
2265 Set $UpdateSMLists = 1
2274 Flags NoReliefString
2283 Set $HideSMEditor = 1
2284 Set $NullMessage = 1
2291 Flags NoReliefString NoFocus
2303 #-----------------------------------------------------------------------------
2305 # Message, Apply, quit, ...
2307 #-----------------------------------------------------------------------------
2312 Flags NoReliefString NoFocus
2327 Flags NoReliefString
2336 If $ConfigTool == {SM} Then
2338 ChangeTitle 95 $l_ApplyNewSession
2340 If $SelectedSession == {} Then
2342 ChangeTitle 95 $l_MustSelectSession
2345 If $SMEditorState <> 0 Then
2347 ChangeTitle 95 $l_FinishEdit
2350 # need to fix that one day
2351 #If $SelectedSession == $CurrentSession Then
2353 # Set $msg = {Warn: You already use }$CurrentSession{ session}
2354 # ChangeTitle 95 $msg
2359 #ChangeTitle 95 $l_ApplyNewSession
2360 Set $CMD = {apply-sm }$SelectedSession{|}
2363 Set $UpdateSMLists = 1
2364 Set $UpdateAllTSLists = 1
2365 Set $UpdateSettingsListAndVariants = 1
2366 Do {SendToModule FvwmScript-ComponentProperties SendString 1 1 exit}
2367 Set $NullMessage = 1
2368 Do {Read themes-rc-3}
2369 Do {FuncFvwmThemesFresh}
2374 ChangeTitle 95 $l_ApplyThemeConfig
2375 #Set $ApplyTSCmdOpts = 1
2384 Flags NoReliefString
2393 ChangeTitle 95 $l_Refresh
2394 Set $RefreshORUpdate = 1
2395 Set $RefreshUpdateValue = 1
2402 Flags NoReliefString
2411 ChangeTitle 95 $l_Update
2412 Set $RefreshORUpdate = 1
2413 Set $RefreshUpdateValue = 0
2420 Flags NoReliefString
2429 Set $arg={FvwmScript-Help --in-line-doc FvwmScript-ThemesCenter --title "Themes Center"}
2430 If $TextColorset <> {} Then
2431 Set $arg=$arg{ --text-colorset }$TextColorset
2433 Set $arg=$arg{ --lang }$Lang
2434 Set $dummy = (LaunchScript $arg)
2441 Flags NoReliefString
2450 Do {SendToModule FvwmScript-ComponentProperties SendString 1 1 exit}
2452 Set $dummy = (SendMsgAndGet $ComName $cmd 0)