  rem -- Periodically refresh/reload a webpage - By Mac --
  rem -- Uses @key(F5) to refresh web browser --
  rem -- Uses whole minutes only --
  rem -- %m = minutes, %s = seconds, %w = webpage --

  OPTION SCALE, 96
  TITLE Program By Mac
  DIALOG CREATE,"Refresh Webpage",-1,0,180,68
  DIALOG ADD,TEXT,T1,10,5,,,"Webpage Title"
  DIALOG ADD,EDIT,E1,25,5,170,20
  DIALOG ADD,BUTTON,Timer,2,95,38,20
  DIALOG ADD,BUTTON,Stop,2,137,38,20
  DIALOG ADD,BUTTON,Start,2,137,38,20,,DEFAULT
  DIALOG ADD,Status,Stat
  DIALOG SHOW

  LIST CREATE, 1
  %s = 300
  %m = 5
  %w = ""

:EVLOOP
  if %w
    WAIT EVENT, 1
  else 
    DIALOG SET, Stat, "Timer stopped..."
    DIALOG SHOW, Start
    DIALOG FOCUS, Start
    WAIT EVENT
  end 
  goto @event()

:TIMER
  %s = @pred(%s)
  if @greater(1, %s)
    if @winexists(%w)
      WINDOW SEND, %w, @key(F5)
    else 
      WARN Webpage window is not available@tab()
      %w = ""
      DIALOG CLEAR, E1
    end 
    %s = @prod(%m, 60)
  end 
  if @greater(@mod(%s, 60), 9)
    DIALOG SET, Stat, @div(%s, 60)":"@mod(%s, 60)
  else 
    DIALOG SET, Stat, @div(%s, 60)":0"@mod(%s, 60)
  end 
  goto EVLOOP

:StartBUTTON
  %w = ""
  LIST CLEAR, 1
  LIST WINLIST, 1, N
  if @dlgtext(E1)
    if @match(1, @dlgtext(E1))
      %w = @item(1)
      DIALOG SET, E1, %w
      DIALOG HIDE, Start
    else 
      WARN "No valid webpage (use browser title)"@tab()
    end 
  else 
    WARN "No valid webpage (use browser title)"@tab()
  end 
  goto EVLOOP

:StopBUTTON
  %w = ""
  goto EVLOOP

:TimerBUTTON
  %m = @input("Minutes between refresh/reload?", 5)
  if @numeric(%m)
    if @greater(%m, 0)
      %m = @format(%m, .0)
    else 
      %m = 1
    end 
  else 
    %m = 5
  end 
  %s = @prod(%m, 60)
  goto EVLOOP

:CLOSE
  EXIT 
