# An FvwmScript GUI to change colorsets
# I can't believe how big this is
# I haven't got the energy to implement a Save button
# Just goes to show that command lines are better
# Don't switch on Dynamic update unless using ReadWriteColors
WindowTitle	{Colorset Editor}
WindowSize	380 290
Colorset 0

Init
 Begin
  # This is the colorset being worked on
  Set $Cset = 0
  Set $OldCset = 0
  Set $Color = (GetBack 1)
  Do {Colorset } $Cset { Pixmap, Background #} $Color {, Foreground Contrast}
  # Sliders are initially hidden
  HideWidget 1
  HideWidget 2
  HideWidget 3
  HideWidget 21
  HideWidget 22
  HideWidget 23
 End

# radio buttons to pick the colorset aspect to change
Widget 13
Property
 Position	120 10
 Type		RadioButton
 Title		{Background}
Main
 Case message of
 SingleClic :
 Begin
  Set $Color = (GetBack 1)
  ChangeValue 1 (HexToNum (StrCopy $Color 1 2))
  ChangeValue 2 (HexToNum (StrCopy $Color 3 4))
  ChangeValue 3 (HexToNum (StrCopy $Color 5 6))
  ChangeValue 10 0
  ChangeValue 11 0
  ChangeValue 12 0
  ShowWidget 1
  ShowWidget 2
  ShowWidget 3
  ShowWidget 21
  ShowWidget 22
  ShowWidget 23
 End
End

Widget 10
Property
 Position	220 10
 Type		RadioButton
 Title		{Foreground}
Main
 Case message of
 SingleClic :
 Begin
  Set $Color = (GetFore 1)
  ChangeValue 1 (HexToNum (StrCopy $Color 1 2))
  ChangeValue 2 (HexToNum (StrCopy $Color 3 4))
  ChangeValue 3 (HexToNum (StrCopy $Color 5 6))
  ChangeValue 11 0
  ChangeValue 12 0
  ChangeValue 13 0
  ShowWidget 1
  ShowWidget 2
  ShowWidget 3
  ShowWidget 21
  ShowWidget 22
  ShowWidget 23
 End
End

Widget 11
Property
 Position	120 30
 Type		RadioButton
 Title		{Hilite}
Main
 Case message of
 SingleClic :
 Begin
  Set $Color = (GetHilight 1)
  ChangeValue 1 (HexToNum (StrCopy $Color 1 2))
  ChangeValue 2 (HexToNum (StrCopy $Color 3 4))
  ChangeValue 3 (HexToNum (StrCopy $Color 5 6))
  ChangeValue 10 0
  ChangeValue 12 0
  ChangeValue 13 0
  ShowWidget 1
  ShowWidget 2
  ShowWidget 3
  ShowWidget 21
  ShowWidget 22
  ShowWidget 23
 End
End

Widget 12
Property
 Position	220 30
 Type		RadioButton
 Title		{Shadow}
Main
 Case message of
 SingleClic :
 Begin
  Set $Color = (GetShadow 1)
  ChangeValue 1 (HexToNum (StrCopy $Color 1 2))
  ChangeValue 2 (HexToNum (StrCopy $Color 3 4))
  ChangeValue 3 (HexToNum (StrCopy $Color 5 6))
  ChangeValue 10 0
  ChangeValue 11 0
  ChangeValue 13 0
  ShowWidget 1
  ShowWidget 2
  ShowWidget 3
  ShowWidget 21
  ShowWidget 22
  ShowWidget 23
 End
End

# colorset selector
# miniscrolls clic on button press and release hence the (div x 2)
# and they roll over which is bad for defining colorsets
Widget 4
Property
 Position       10 10
 Type           MiniScroll
 Value		0
 MinValue	0
 MaxValue	101
Main
 Case message of
 SingleClic :
 Begin
  # hold at max value
  If (GetValue 4) == 100 Then
   ChangeValue 4 99
  # hold at min value
  If (GetValue 4) > 100 Then
   ChangeValue 4 0
  Set $OldCset = $Cset
  Set $Cset = (Div (GetValue 4) 2)
  Set $CsetName = {Colorset } $Cset
  ChangeTitle 5 $CsetName
  # redisplay in new colorset
  ChangeColorset 0 $Cset
  ChangeColorset 1 $Cset
  ChangeColorset 2 $Cset
  ChangeColorset 3 $Cset
  ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  ChangeColorset 5 $Cset
  ChangeColorset ChangeColorset 4 $Cset
  Ch