UseGettext
WindowLocaleTitle {Pointer Setup}
WindowSize 365 265		# Size
Font "xft:monospace:pixelsize=11;"

Init
 Begin
  WarpPointer 2

  Set $FILE=(GetScriptArgument 1)
  If $FILE=={} Then
   Set $FILE={.xinitrc-fvwm}

  Set $pos=0
  Set $finish=1
  While $finish=={1} Do
  Begin
    Set $pos=(Add $pos 1)
    Set $tmp=(GetOutput {xset -q} $pos 1)
    If $tmp=={Pointer} Then
      Set $finish=0
    If $pos=={50} Then
      Set $finish=0
  End
  If $pos=={50} Then
  Begin
   Do {Exec sh -c "echo 'PointerSetup: uncompatible xset'"}
   Quit
  End
  Set $pos=(Add $pos 1)
  Set $tmp=(GetOutput {xset -q} $pos 2)
  Set $pos2=1
  While (StrCopy $tmp $pos2 $pos2)<>{/} Do
   Set $pos2=(Add $pos2 1)
  Set $pos2=(Add $pos2 -1)
  
  ChangeValue 6 (Div (Mult (StrCopy $tmp 1 $pos2) 20) (StrCopy $tmp (Add $pos2 2) 256))
  ChangeTitle 8 (GetOutput {xset -q} $pos 4)
 End
 
Widget 1
Property
 Size 85 20
 Position 30 225
 Flags NoReliefString
 Type PushButton
 LocaleTitle {Apply}
Main
 Case message of
  SingleClic :
  Begin
   Do {Exec xset m } (GetValue 6) {/20 } (GetTitle 8)
   If (GetValue 4) == 1 Then
    Do {Exec xmodmap -e "pointer = 1 2 3"}
   Else
    Do {Exec xmodmap -e "pointer = 3 2 1"}
  End
End

Widget 2
Property
 Size 85 25
 Position 140 225
 Flags NoReliefString
 Type PushButton
 LocaleTitle {Save}
Main
 Case message of
  SingleClic :
  Begin
   Do {Exec xset m } (GetValue 6) {/20 } (GetTitle 8)
   WriteToFile $FILE {xset m } (GetValue 6) {/20 } (GetTitle 8)
   If (GetValue 4) == 1 Then
   Begin
    Do {Exec xmodmap -e "pointer = 1 2 3"}
    WriteToFile $FILE {xmodmap -e "pointer = 1 2 3"}
   End
   Else
   Begin
    Do {Exec xmodmap -e "pointer = 3 2 1"}
    WriteToFile $FILE {xmodmap -e "pointer = 3 2 1"}
   End
      Do {Exec chmod +x ~/} $FILE
   Quit
  End
End

Widget 3
Property
 Size 85 25
 Position 250 225
 Flags NoReliefString
 Type PushButton
 LocaleTitle {Quit}
Main
 Case message of
  SingleClic :
  Begin
   Quit
  End
End

Widget 4
Property
 Position 185 155
 Flags NoReliefString
 Type PopupMenu
 LocaleTitle {Right-handed user|Left-handed user}
 Value 1
Main
 Case message of
  SingleClic :
  Begin
  End
End

Widget 5
Property
 Position 20 160
 Flags NoReliefString NoFocus
 Type ItemDraw
 LocaleTitle {Mouse configuration:}
Main
 Case message of
  SingleClic :
  Begin
  End
End

Widget 6
Property
 Size 188 1
 Position 150 25
 Flags NoReliefString
 MinValue 5
 MaxValue 100
 Type HScrollBar
Main
 Case message of
  SingleClic :
  Begin
  End
End

Widget 7
Property
 Position 20 45
 Flags NoReliefString NoFocus
 Type ItemDraw
 LocaleTitle {Acceleration:}
Main
 Case message of
  SingleClic :
  Begin
  End
End

Widget 8
Property
 Size 60 1
 Position 185 100
 Flags NoReliefString
 Type TextField
Main
 Case message of
  SingleClic :
  Begin
  End
End

Widget 9
Property
 Size 110 1
 Position 20 105
 Flags NoReliefString NoFocus
 Type ItemDraw
 LocaleTitle {Threshold (pixels):}
Main
 Case message of
  SingleClic :
  Begin
  End
End

Widget 10
Property
 Size 345 205
 Position 10 10
 Type Rectangle
Main
 Case message of
  SingleClic :
  Begin
  End
End

Widget 11
Property
 Position 15 3
 Flags NoReliefString NoFocus
 Type ItemDraw
 LocaleTitle {Pointer}
Main
 Case message of
  SingleClic :
  Begin
  End
End
