#
# This file is a part of the NsCDE - Not so Common Desktop Environment
# Author: Hegel3DReloaded
# Licence: GPLv3
#

UseGettext {$NSCDE_ROOT/share/locale;NsCDE-GWM}
WindowLocaleTitle {Graphical Workspace Manager Options}
WindowSize 520 560
Colorset 22

Init
Begin
   Set $FontDefault = (GetOutput {$NSCDE_TOOLSDIR/getfont -v -t normal -s medium -Z 15} 1 -1)
   Set $FontHscroll = (GetOutput {$NSCDE_TOOLSDIR/getfont -v -t normal -s small -Z 9} 1 -1)
   ChangeFont 1 $FontDefault
   ChangeFont 3 $FontDefault
   ChangeFont 4 $FontDefault
   ChangeFont 5 $FontDefault
   ChangeFont 6 $FontDefault
   ChangeFont 7 $FontDefault
   ChangeFont 8 $FontHscroll
   ChangeFont 9 $FontDefault
   ChangeFont 10 $FontHscroll
   ChangeFont 11 $FontDefault
   ChangeFont 13 $FontDefault
   ChangeFont 14 $FontDefault
   ChangeFont 15 $FontDefault
   ChangeFont 16 $FontDefault
   ChangeFont 18 $FontDefault
   ChangeFont 19 $FontDefault
   ChangeFont 20 $FontDefault

   # Locale flush right/left workaround
   ChangeLocaleTitle 1 (GetTitle 1)
   ChangeLocaleTitle 3 (GetTitle 3)
   ChangeLocaleTitle 4 (GetTitle 4)
   ChangeLocaleTitle 5 (GetTitle 5)
   ChangeLocaleTitle 6 (GetTitle 6)
   ChangeLocaleTitle 7 (GetTitle 7)
   ChangeLocaleTitle 9 (GetTitle 9)
   ChangeLocaleTitle 11 (GetTitle 11)
   ChangeLocaleTitle 13 (GetTitle 13)
   ChangeLocaleTitle 14 (GetTitle 14)
   ChangeLocaleTitle 15 (GetTitle 15)
   ChangeLocaleTitle 16 (GetTitle 16)
   ChangeLocaleTitle 18 (GetTitle 18)
   ChangeLocaleTitle 19 (GetTitle 19)
   ChangeLocaleTitle 20 (GetTitle 20)

   Set $DefaultPagerRatio = (GetScriptArgument 1)
   If $DefaultPagerRatio == {} Then
   Begin
      Set $DefaultPagerRatio = 15
   End

   Set $Ndesks = (GetScriptArgument 2)
   If $Ndesks == {} Then
   Begin
      Set $Ndesks = 4
   End
   If $Ndesks == {2} Then
   Begin
      ChangeMaxValue 8 2
   End
   If $Ndesks == {4} Then
   Begin
      ChangeMaxValue 8 4
   End
   If $Ndesks == {6} Then
   Begin
      ChangeMaxValue 8 6
   End
   If $Ndesks == {8} Then
   Begin
      ChangeMaxValue 8 8
   End

   Set $RestartGWM = 0

   Set $WSMCONF = {$FVWM_USERDIR/WSM.conf}
   SendSignal 18 2

   Key Help A 20 1 {DisplayHelp}
   Key F1 A 20 1 {DisplayHelp}
   Key Escape A 19 1 {Quit}
   Key Return A 18 1 {OK}
End

Widget 1
   Property
   Size 20 20
   Position 18 8
   Type ItemDraw
   Flags NoReliefString Left NoFocus
   Title {  Workspaces  }
   Font "xft:::pixelsize=15"
End

Widget 2
   Property
   Size 504 288
   Position 8 18
   Type Rectangle
   Flags NoReliefString
End

Widget 3
   Property
   Size 160 24
   Position 24 38
   Type CheckBox
   Flags NoReliefString Left
   Value 0
   Title { Show Workspace Backdrops          }
   Font "xft:::pixelsize=14"
   Main
      Case message of
      SingleClic :
      Begin
      End
End

Widget 4
   Property
   Size 160 24
   Position 24 74
   Type CheckBox
   Flags NoReliefString Left
   Value 0
   Title { Highlight Current Workspace Page                  }
   Font "xft:::pixelsize=14"
   Main
      Case message of
      SingleClic :
      Begin
      End
End

Widget 5
   Property
   Size 100 0
   Position 24 114
   Type RadioButton
   Flags NoReliefString Right
   LocaleTitle {Workspace Names Above Workspaces}
   Font "xft:::pixelsize=15"
   Colorset 22
   Value 0
   Main
      Case message of
      SingleClic :
      Begin
         If (GetValue 5) == 1 Then
         Begin
            ChangeValue 6 0
            Set $WorkspaceNamesValue = 1
         End
      End
End

Widget 6
   Property
   Size 100 0
   Position 24 150
   Type RadioButton
   Flags NoReliefString Right
   LocaleTitle {Workspace Names Below Workspaces}
   Font "xft:::pixelsize=15"
   Colorset 22
   Value 0
   Main
      Case message of
      SingleClic :
      Begin
         If (GetValue 6) == 1 Then
         Begin
            ChangeValue 5 0
            Set $WorkspaceNamesValue = 2
         End
      End
End

Widget 7
   Property
   Size 100 0
   Position 22 194
   Type ItemDraw
   Flags NoReliefString Left NoFocus
   LocaleTitle {Number Of Visible Rows }
   Font "xft:::pixelsize=15"
   Colorset 22
   Value 0
   Main
      Case message of
      SingleClic :
      Begin
      End
End

Widget 8
   Property
   Size 208 1
   Position 290 174
   Flags NoReliefString Left
   Type HScrollBar
   Font "xft:::pixelsize=14"
   MinValue 1
   MaxValue 8
   Value 2
   Main
      Case message of
      SingleClic :
      Begin
         If $Ndesks == 4 Then
         Begin
            If (GetValue 8) == 3 Then
            Begin
               ChangeValue 8 4
            End
         End
         If $Ndesks == 6 Then
         Begin
            If (GetValue 8) == 4 Then
            Begin
               ChangeValue 8 3
            End
            If (GetValue 8) == 5 Then
            Begin
               ChangeValue 8 6
            End
         End
         If $Ndesks == 8 Then
         Begin
            If (GetValue 8) == 3 Then
            Begin
               ChangeValue 8 2
            End
            If (GetValue 8) == 5 Then
            Begin
               ChangeValue 8 4
            End
            If (GetValue 8) == 6 Then
            Begin
               ChangeValue 8 4
            End
            If (GetValue 8) == 7 Then
            Begin
               ChangeValue 8 8
            End
         End
      End
End

Widget 9
   Property
   Size 100 0
   Position 22 256
   Type ItemDraw
   Flags NoReliefString Left NoFocus
   LocaleTitle {Desired Workspace Width (Ratio) }
   Font "xft:::pixelsize=15"
   Colorset 22
   Value 0
   Main
      Case message of
      SingleClic :
      Begin
      End
End

Widget 10
   Property
   Size 208 1
   Position 290 236
   Flags NoReliefString Left
   Type HScrollBar
   Font "xft:::pixelsize=14"
   MinValue 10
   MaxValue 20
   Value 15
   Main
      Case message of
      SingleClic :
      Begin
      End
End

Widget 11
   Property
   Size 20 20
   Position 18 310
   Type ItemDraw
   Flags NoReliefString Left NoFocus
   Title { Windows }
   Font "xft:::pixelsize=15"
End

Widget 12
   Property
   Size 504 174
   Position 8 320
   Type Rectangle
   Flags NoReliefString
End

Widget 13
   Property
   Size 160 24
   Position 24 340
   Type CheckBox
   Flags NoReliefString Left
   Value 0
   Title { Show Window Names In Balloons }
   Font "xft:::pixelsize=14"
   Main
      Case message of
      SingleClic :
      Begin
      End
End

Widget 14
   Property
   Size 160 24
   Position 24 378
   Type CheckBox
   Flags NoReliefString Left
   Value 1
   Title { Respect Window Skip List            }
   Font "xft:::pixelsize=14"
   Main
      Case message of
      SingleClic :
      Begin
      End
End

Widget 15
   Property
   Size 100 0
   Position 24 416
   Type RadioButton
   Flags NoReliefString Right
   LocaleTitle { Show Small Icons Inside Windows}
   Font "xft:::pixelsize=15"
   Colorset 22
   Value 1
   Main
      Case message of
      SingleClic :
      Begin
         If (GetValue 15) == 1 Then
         Begin
            ChangeValue 16 0
            Set $WindowContentValue = 1
         End
      End
End

Widget 16
   Property
   Size 100 0
   Position 24 456
   Type RadioButton
   Flags NoReliefString Right
   LocaleTitle { Show Names Inside Windows}
   Font "xft:::pixelsize=15"
   Colorset 22
   Value 0
   Main
      Case message of
      SingleClic :
      Begin
         If (GetValue 16) == 1 Then
         Begin
            ChangeValue 15 0
            Set $WindowContentValue = 2
         End
      End
End

Widget 17
   Property
   Size 514 0
   Position 2 506
   Type Rectangle
   Flags NoReliefString
End

Widget 18
   Property
   Size 120 20
   Position 12 520
   Type PushButton
   Flags NoReliefString
   LocaleTitle {OK}
   Font "xft:::pixelsize=15"
   Main
      Case message of
      SingleClic :
      Begin
         SendSignal 18 1
      End
      1 :
      Begin
         # Write Backdrops
         If $GetBackdropsState <> (GetValue 3) Then
         Begin
            Set $RestartGWM = 1
            If $CreateBackdropsConf == 1 Then
            Begin
               Set $AppendBackdropsValueCmd = {echo 'GWM:0:BACKDROPS:} (GetValue 3) {' >> "} $WSMCONF {" 2>&1}
               Set $AppendBackdropsValue = (GetOutput $AppendBackdropsValueCmd 1 -1)
               If $AppendBackdropsValue <> {} Then
               Begin
                  Do {None ("} (Gettext {Graphical Workspace Manager Error}) {")}
                     { f_Notifier "} (Gettext {Graphical Workspace Manager Error}) {" "Dismiss" "NsCDE/Error.xpm" }
                     {"} (Gettext {Error}) { \\\"} $AppendBackdropsValue {\\\" } (Gettext {emerged while appending backdrops value in}) { } $WSMCONF {." "e1"}
                  Quit
               End
            End
            Else
            Begin
               Set $ChangeBackdropsValueCmd = {$NSCDE_TOOLSDIR/ised -c 's/^GWM:0:BACKDROPS:} $GetBackdropsState {/GWM:0:BACKDROPS:} (GetValue 3) {/g' -f "} $WSMCONF {" 2>&1}
               Set $ChangeBackdropsValue = (GetOutput $ChangeBackdropsValueCmd 1 -1)
               If $ChangeBackdropsValue <> {} Then
               Begin
                  Do {None ("} (Gettext {Graphical Workspace Manager Error}) {")}
                     { f_Notifier "} (Gettext {Graphical Workspace Manager Error}) {" "Dismiss" "NsCDE/Error.xpm" }
                     {"} (Gettext {Error}) { \\\"} $ChangeBackdropsValue {\\\" } (Gettext {emerged while changing backdrops value in}) { } $WSMCONF
                  Quit
               End
            End
         End

         # Write Current Desk/Page Highlight
         If $GetHlCurrentState <> (GetValue 4) Then
         Begin
            Set $RestartGWM = 1
            If $CreateHlCurrentConf == 1 Then
            Begin
               Set $AppendHlCurrentValueCmd = {echo 'GWM:0:HLCURRENT:} (GetValue 4) {' >> "} $WSMCONF {" 2>&1}
               Set $AppendHlCurrentValue = (GetOutput $AppendHlCurrentValueCmd 1 -1)
               If $AppendHlCurrentValue <> {} Then
               Begin
                  Do {None ("} (Gettext {Graphical Workspace Manager Error}) {")}
                     { f_Notifier "} (Gettext {Graphical Workspace Manager Error}) {" "Dismiss" "NsCDE/Error.xpm" }
                     {"} (Gettext {Error}) { \\\"} $AppendHlCurrentValue {\\\" } (Gettext {emerged while appending highlight value in}) { } $WSMCONF {." "e3"}
                  Quit
               End
            End
            Else
            Begin
               Set $ChangeHlCurrentValueCmd = {$NSCDE_TOOLSDIR/ised -c 's/^GWM:0:HLCURRENT:} $GetHlCurrentState {/GWM:0:HLCURRENT:} (GetValue 4) {/g' -f "} $WSMCONF {" 2>&1}
               Set $ChangeHlCurrentValue = (GetOutput $ChangeHlCurrentValueCmd 1 -1)
               If $ChangeHlCurrentValue <> {} Then
               Begin
                  Do {None ("} (Gettext {Graphical Workspace Manager Error}) {")}
                     { f_Notifier "} (Gettext {Graphical Workspace Manager Error}) {" "Dismiss" "NsCDE/Error.xpm" }
                     {"} (Gettext {Error}) { \\\"} $ChangeHlCurrentValue {\\\" } (Gettext {emerged while changing highlight value in}) { } $WSMCONF {." "e4"}
                  Quit
               End
            End
         End

         # Write Workspace Label Position Choice
         If $GetLabelPosState <> $WorkspaceNamesValue Then
         Begin
            Set $RestartGWM = 1
            If $CreateLabelPosConf == 1 Then
            Begin
               Set $AppendLabelPosValueCmd = {echo 'GWM:0:LABELPOS:} $WorkspaceNamesValue {' >> "} $WSMCONF {" 2>&1}
               Set $AppendLabelPosValue = (GetOutput $AppendLabelPosValueCmd 1 -1)
               If $AppendLabelPosValue <> {} Then
               Begin
                  Do {None ("} (Gettext {Graphical Workspace Manager Error}) {")}
                     { f_Notifier "} (Gettext {Graphical Workspace Manager Error}) {" "Dismiss" "NsCDE/Error.xpm" }
                     {"} (Gettext {Error}) { \\\"} $AppendLabelPosValue {\\\" } (Gettext {emerged while appending workspace name label value in}) { } $WSMCONF {." "e5"}
                  Quit
               End
            End
            Else
            Begin
               Set $ChangeLabelPosValueCmd = {$NSCDE_TOOLSDIR/ised -c 's/^GWM:0:LABELPOS:} $GetLabelPosState {/GWM:0:LABELPOS:} $WorkspaceNamesValue {/g' -f "} $WSMCONF {" 2>&1}
               Set $ChangeLabelPosValue = (GetOutput $ChangeLabelPosValueCmd 1 -1)
               If $ChangeLabelPosValue <> {} Then
               Begin
                  Do {None ("} (Gettext {Graphical Workspace Manager Error}) {")}
                     { f_Notifier "} (Gettext {Graphical Workspace Manager Error}) {" "Dismiss" "NsCDE/Error.xpm" }
                     {"} (Gettext {Error}) { \\\"} $ChangeLabelPosValue {\\\" } (Gettext {emerged while changing workspace name label value in}) { } $WSMCONF {." "e6"}
                  Quit
               End
            End
         End

         # Write GWM Rows Choice
         If $GetGwmRowsState <> (GetValue 8) Then
         Begin
            Set $RestartGWM = 1
            If $CreateGwmRowsConf == 1 Then
            Begin
               Set $AppendGwmRowsValueCmd = {echo 'GWM:} $Ndesks {:ROWS:} (GetValue 8) {' >> "} $WSMCONF {" 2>&1}
               Set $AppendGwmRowsValue = (GetOutput $AppendGwmRowsValueCmd 1 -1)
               If $AppendGwmRowsValue <> {} Then
               Begin
                  Do {None ("} (Gettext {Graphical Workspace Manager Error}) {")}
                     { f_Notifier "} (Gettext {Graphical Workspace Manager Error}) {" "Dismiss" "NsCDE/Error.xpm" }
                     {"} (Gettext {Error}) { \\\"} $AppendGwmRowsValue {\\\" } (Gettext {emerged while appending GWM rows value in}) { } $WSMCONF {." "e7"}
                  Quit
               End
            End
            Else
            Begin
               Set $ChangeGwmRowsValueCmd = {$NSCDE_TOOLSDIR/ised -c 's/^GWM:} $Ndesks {:ROWS:} $GetGwmRowsState {/GWM:} $Ndesks {:ROWS:} (GetValue 8) {/g' -f "} $WSMCONF {" 2>&1}
               Set $ChangeGwmRowsValue = (GetOutput $ChangeGwmRowsValueCmd 1 -1)
               If $ChangeGwmRowsValue <> {} Then
               Begin
                  Do {None ("} (Gettext {Graphical Workspace Manager Error}) {")}
                     { f_Notifier "} (Gettext {Graphical Workspace Manager Error}) {" "Dismiss" "NsCDE/Error.xpm" }
                     {"} (Gettext {Error}) { \\\"} $ChangeGwmRowsValue {\\\" } (Gettext {emerged while changing GWM rows value in}) { } $WSMCONF {." "e8"}
                  Quit
               End
            End
         End

         # Write GWM Workspace Scale Choice
         If $GetWscaleState <> (GetValue 10) Then
         Begin
            Set $RestartGWM = 1
            If $CreateWscaleConf == 1 Then
            Begin
               Set $AppendWscaleValueCmd = {echo 'GWM:} $Ndesks {:WSCALE:} (GetValue 10) {' >> "} $WSMCONF {" 2>&1}
               Set $AppendWscaleValue = (GetOutput $AppendWscaleValueCmd 1 -1)
               If $AppendWscaleValue <> {} Then
               Begin
                  Do {None ("} (Gettext {Graphical Workspace Manager Error}) {")}
                     { f_Notifier "} (Gettext {Graphical Workspace Manager Error}) {" "Dismiss" "NsCDE/Error.xpm" }
                     {"} (Gettext {Error}) { \\\"} $AppendWscaleValue {\\\" } (Gettext {emerged while adding GWM width scale value in}) { } $WSMCONF {." "e9"}
                  Quit
               End
            End
            Else
            Begin
               Set $ChangeWscaleValueCmd = {$NSCDE_TOOLSDIR/ised -c 's/^GWM:} $Ndesks {:WSCALE:} $GetWscaleState {/GWM:} $Ndesks {:WSCALE:} (GetValue 10) {/g' -f "} $WSMCONF {" 2>&1}
               Set $ChangeWscaleValue = (GetOutput $ChangeWscaleValueCmd 1 -1)
               If $ChangeWscaleValue <> {} Then
               Begin
                  Do {None ("} (Gettext {Graphical Workspace Manager Error}) {")}
                     { f_Notifier "} (Gettext {Graphical Workspace Manager Error}) {" "Dismiss" "NsCDE/Error.xpm" }
                     {"} (Gettext {Error}) { \\\"} $ChangeWscaleValue {\\\" } (Gettext {emerged while changing GWM width scale value in}) { } $WSMCONF {." "e10"}
                  Quit
               End
            End
         End

         # Write Window Balloons Display Choice
         If $GetBalloonsState <> (GetValue 13) Then
         Begin
            Set $RestartGWM = 1
            If $CreateBalloonsConf == 1 Then
            Begin
               Set $AppendBalloonsValueCmd = {echo 'GWM:0:BALLOONS:} (GetValue 13) {' >> "} $WSMCONF {" 2>&1}
               Set $AppendBalloonsValue = (GetOutput $AppendBalloonsValueCmd 1 -1)
               If $AppendBalloonsValue <> {} Then
               Begin
                  Do {None ("} (Gettext {Graphical Workspace Manager Error}) {")}
                     { f_Notifier "} (Gettext {Graphical Workspace Manager Error}) {" "Dismiss" "NsCDE/Error.xpm" }
                     {"} (Gettext {Error}) { \\\"} $AppendBalloonsValue {\\\" } (Gettext {emerged while adding balloons display value in}) { } $WSMCONF {." "e11"}
                  Quit
               End
            End
            Else
            Begin
               Set $ChangeBalloonsValueCmd = {$NSCDE_TOOLSDIR/ised -c 's/^GWM:0:BALLOONS:} $GetBalloonsState {/GWM:0:BALLOONS:} (GetValue 13) {/g' -f "} $WSMCONF {" 2>&1}
               Set $ChangeBalloonsValue = (GetOutput $ChangeBalloonsValueCmd 1 -1)
               If $ChangeBalloonsValue <> {} Then
               Begin
                  Do {None ("} (Gettext {Graphical Workspace Manager Error}) {")}
                     { f_Notifier "} (Gettext {Graphical Workspace Manager Error}) {" "Dismiss" "NsCDE/Error.xpm" }
                     {"} (Gettext {Error}) { \\\"} $ChangeBalloonsValue {\\\" } (Gettext {emerged while changing balloons display value in}) { } $WSMCONF {." "e12"}
                  Quit
               End
            End
         End

         # Write Window Skip List Respect Choice
         If $GetSkipListState <> (GetValue 14) Then
         Begin
            Set $RestartGWM = 1
            If $CreateSkipListConf == 1 Then
            Begin
               Set $AppendSkipListValueCmd = {echo 'GWM:0:SKIPLIST:} (GetValue 14) {' >> "} $WSMCONF {" 2>&1}
               Set $AppendSkipListValue = (GetOutput $AppendSkipListValueCmd 1 -1)
               If $AppendSkipListValue <> {} Then
               Begin
                  Do {None ("} (Gettext {Graphical Workspace Manager Error}) {")}
                     { f_Notifier "} (Gettext {Graphical Workspace Manager Error}) {" "Dismiss" "NsCDE/Error.xpm" }
                     {"} (Gettext {Error}) { \\\"} $AppendSkipListValue {\\\" } (Gettext {emerged while adding skip list value in}) { } $WSMCONF {." "e13"}
                  Quit
               End
            End
            Else
            Begin
               Set $ChangeSkipListValueCmd = {$NSCDE_TOOLSDIR/ised -c 's/^GWM:0:SKIPLIST:} $GetSkipListState {/GWM:0:SKIPLIST:} (GetValue 14) {/g' -f "} $WSMCONF {" 2>&1}
               Set $ChangeSkipListValue = (GetOutput $ChangeSkipListValueCmd 1 -1)
               If $ChangeSkipListValue <> {} Then
               Begin
                  Do {None ("} (Gettext {Graphical Workspace Manager Error}) {")}
                     { f_Notifier "} (Gettext {Graphical Workspace Manager Error}) {" "Dismiss" "NsCDE/Error.xpm" }
                     {"} (Gettext {Error}) { \\\"} $ChangeSkipListValue {\\\" } (Gettext {emerged while changing skip list value in}) { } $WSMCONF {." "e14"}
                  Quit
               End
            End
         End

         # Write Icons Names Windows Display Choice
         If $GetWinContentState <> $WindowContentValue Then
         Begin
            Set $RestartGWM = 1
            If $CreateWinContentConf == 1 Then
            Begin
               Set $AppendWinContentValueCmd = {echo 'GWM:0:WINCONTENT:} $WindowContentValue {' >> "} $WSMCONF {" 2>&1}
               Set $AppendWinContentValue = (GetOutput $AppendWinContentValueCmd 1 -1)
               If $AppendWinContentValue <> {} Then
               Begin
                  Do {None ("} (Gettext {Graphical Workspace Manager Error}) {")}
                     { f_Notifier "} (Gettext {Graphical Workspace Manager Error}) {" "Dismiss" "NsCDE/Error.xpm" }
                     {"} (Gettext {Error}) { \\\"} $AppendWinContentValue {\\\" } (Gettext {emerged while appending window content type value in}) { } $WSMCONF {." "e15"}
                  Quit
               End
            End
            Else
            Begin
               Set $ChangeWinContentValueCmd = {$NSCDE_TOOLSDIR/ised -c 's/^GWM:0:WINCONTENT:} $GetWinContentState {/GWM:0:WINCONTENT:} $WindowContentValue {/g' -f "} $WSMCONF {" 2>&1}
               Set $ChangeWinContentValue = (GetOutput $ChangeWinContentValueCmd 1 -1)
               If $ChangeWinContentValue <> {} Then
               Begin
                  Do {None ("} (Gettext {Graphical Workspace Manager Error}) {")}
                     { f_Notifier "} (Gettext {Graphical Workspace Manager Error}) {" "Dismiss" "NsCDE/Error.xpm" }
                     {"} (Gettext {Error}) { \\\"} $ChangeWinContentValue {\\\" } (Gettext {emerged while changing window content type value in}) { } $WSMCONF {." "e16"}
                  Quit
               End
            End
         End

         If $RestartGWM ==  1 Then
         Begin
            Do {SendToModule $[FVWM_USERDIR]/tmp/GWM SendString 1 1 Quit}
            Do {Schedule 500 f_GWM}
         End

         # Exit here
         Quit
      End
      2 :
      Begin
         # Backdrops
         Set $GetBackdropsStateCmd = {egrep "^GWM:0:BACKDROPS:(0|1)" "} $WSMCONF {" | cut -d: -f4}
         Set $GetBackdropsState = (GetOutput $GetBackdropsStateCmd 1 1)
         If $GetBackdropsState == {} Then
         Begin
            ChangeValue 3 1
            Set $CreateBackdropsConf = 1
         End
         Else
         Begin
            If $GetBackdropsState == 1 Then
            Begin
               ChangeValue 3 1
            End
            Else
            Begin
               ChangeValue 3 0
            End
         End

         # Highlight current workspace
         Set $GetHlCurrentStateCmd = {egrep "^GWM:0:HLCURRENT:(0|1)" "} $WSMCONF {" | cut -d: -f4}
         Set $GetHlCurrentState = (GetOutput $GetHlCurrentStateCmd 1 1)
         If $GetHlCurrentState == {} Then
         Begin
            ChangeValue 4 0
            Set $CreateHlCurrentConf = 1
         End
         Else
         Begin
            If $GetHlCurrentState == 0 Then
            Begin
               ChangeValue 4 0
            End
            Else
            Begin
               ChangeValue 4 1
            End
         End

         # Workspace label position
         Set $GetLabelPosStateCmd = {egrep "^GWM:0:LABELPOS:(1|2)" "} $WSMCONF {" | cut -d: -f4}
         Set $GetLabelPosState = (GetOutput $GetLabelPosStateCmd 1 1)
         If $GetLabelPosState == {} Then
         Begin
            ChangeValue 5 1
            ChangeValue 6 0
            Set $WorkspaceNamesValue = 1
            Set $CreateLabelPosConf = 1
         End
         Else
         Begin
            If $GetLabelPosState == 1 Then
            Begin
               ChangeValue 5 1
               ChangeValue 6 0
               Set $WorkspaceNamesValue = 1
            End
            Else
            Begin
               ChangeValue 5 0
               ChangeValue 6 1
               Set $WorkspaceNamesValue = 2
            End
         End

         # GWM Rows
         Set $GetGwmRowsStateCmd = {egrep "^GWM:} $Ndesks {:ROWS:(1|2|3|4|6|8)" "} $WSMCONF {" | cut -d: -f4}
         Set $GetGwmRowsState = (GetOutput $GetGwmRowsStateCmd 1 1)
         If $GetGwmRowsState == {} Then
         Begin
            If $Ndesks == 8 Then
            Begin
               ChangeValue 8 4
            End
            Else
            Begin
               ChangeValue 8 2
            End
            Set $CreateGwmRowsConf = 1
         End
         Else
         Begin
            Set $CheckInt = (Add $GetGwmRowsState 100)
            If $CheckInt > 100 Then
            Begin
               ChangeValue 8 $GetGwmRowsState
            End
            Else
            Begin
               ChangeValue 8 2
            End
         End

         # GWM Width
         Set $GetWscaleStateCmd = {egrep "^GWM:} $Ndesks {:WSCALE:[10-20]" "} $WSMCONF {" | cut -d: -f4}
         Set $GetWscaleState = (GetOutput $GetWscaleStateCmd 1 1)
         If $GetWscaleState == {} Then
         Begin
            Set $CheckInt = (Add $DefaultPagerRatio 100)
            If $CheckInt >= 110 Then
            Begin
               ChangeValue 10 $DefaultPagerRatio
            End
            Else
            Begin
               ChangeValue 10 15
            End

            Set $CreateWscaleConf = 1
         End
         Else
         Begin
            Set $CheckInt = (Add $GetWscaleState 100)
            If $CheckInt > 100 Then
            Begin
               ChangeValue 10 $GetWscaleState
            End
            Else
            Begin
               ChangeValue 10 15
            End
         End

         # Window Balloons
         Set $GetBalloonsStateCmd = {egrep "^GWM:0:BALLOONS:(0|1)" "} $WSMCONF {" | cut -d: -f4}
         Set $GetBalloonsState = (GetOutput $GetBalloonsStateCmd 1 1)
         If $GetBalloonsState == {} Then
         Begin
            ChangeValue 13 1
            Set $CreateBalloonsConf = 1
         End
         Else
         Begin
            If $GetBalloonsState == 1 Then
            Begin
               ChangeValue 13 1
            End
            Else
            Begin
               ChangeValue 13 0
            End
         End

         # Window Skip List Value
         Set $GetSkipListStateCmd = {egrep "^GWM:0:SKIPLIST:(0|1)" "} $WSMCONF {" | cut -d: -f4}
         Set $GetSkipListState = (GetOutput $GetSkipListStateCmd 1 1)
         If $GetSkipListState == {} Then
         Begin
            ChangeValue 14 1
            Set $CreateSkipListConf = 1
         End
         Else
         Begin
            If $GetSkipListState == 1 Then
            Begin
               ChangeValue 14 1
            End
            Else
            Begin
               ChangeValue 14 0
            End
         End

         # Window Content
         Set $GetWinContentStateCmd = {egrep "^GWM:0:WINCONTENT:(1|2)" "} $WSMCONF {" | cut -d: -f4}
         Set $GetWinContentState = (GetOutput $GetWinContentStateCmd 1 1)
         If $GetWinContentState == {} Then
         Begin
            ChangeValue 15 1
            ChangeValue 16 0
            Set $WindowContentValue = 1
            Set $CreateWinContentConf = 1
         End
         Else
         Begin
            If $GetWinContentState == 1 Then
            Begin
               ChangeValue 15 1
               ChangeValue 16 0
               Set $WindowContentValue = 1
            End
            Else
            Begin
               ChangeValue 15 0
               ChangeValue 16 1
               Set $WindowContentValue = 2
            End
         End
      End
End

Widget 19
   Property
   Size 120 20
   Position 206 520
   Type PushButton
   Flags NoReliefString
   LocaleTitle {Cancel}
   Font "xft:::pixelsize=15"
   Main
      Case message of
      SingleClic :
      Begin
         SendSignal 19 1
      End
      1 :
      Begin
         Quit
      End
End

Widget 20
   Property
   Size 120 20
   Position 390 520
   Type PushButton
   Flags NoReliefString
   LocaleTitle {Help}
   Font "xft:::pixelsize=15"
   Main
      Case message of
      SingleClic :
      Begin
         SendSignal 20 1
      End
      1 :
      Begin
         Do {f_DisplayURL "$[gt.GWM]" html/NsCDE-GWM.html}
      End
End

