begin external class windowtools; Integer U; sidewindow class random; begin procedure Alarm_handler; begin flash; setAlarm(period); end; procedure ClickInButton(B); ref(button) B; begin destroy; end; ref(button) Quit; Integer period; Quit :- makeButton("Quit"); setSize(200,150); period := randint(1,6,U); Show; setAlarm(1); end; U := clocktime; Inspect new MainWindow("Basic") do begin ref(button) Quit, Spawn, B; Spawn :- makeButton("New Flashing Window"); Quit :- makeButton("Quit").placeBelow(Spawn); SetSizeToSubwindowSize; Show; WaitForButtonCLICK(B); while B =/= Quit do begin new random("FLASHER", this Xwindow); waitForButtonClick(B); end; end; end