#!/usr/bin/newlisp
;; modified Norman's clock.lsp
;; needs only one process
(if (= ostype "Win32")
(load (string (env "PROGRAMFILES") "/newlisp/guiserver.lsp"))
(load "/usr/share/newlisp/guiserver.lsp"))
(gs:init)
(gs:frame 'Hours 0 0 300 100 "hours")
(gs:label 'H " ")
(gs:set-font 'H "Mono Spaced" 64 "bold")
(gs:set-foreground 'H 1 1 1)
(gs:add-to 'Hours 'H)
(gs:set-visible 'Hours true)
(gs:frame 'Minutes 300 0 300 100 "minutes")
(gs:label 'M " ")
(gs:set-font 'M "Mono Spaced" 64 "bold")
(gs:set-foreground 'M 1 1 1)
(gs:add-to 'Minutes 'M)
(gs:set-visible 'Minutes true)
(gs:frame 'Seconds 600 0 300 100 "seconds")
(gs:label 'S " ")
(gs:set-font 'S "Mono Spaced" 64 "bold")
(gs:set-foreground 'S 1 1 1)
(gs:add-to 'Seconds 'S)
(gs:set-visible 'Seconds true)
(while (= (length (net-sessions)) 2)
(sleep 1000)
(gs:set-text 'S (date (date-value) 0 "%S") 0 10)
(gs:set-background 'Seconds (random) (random) (random))
(gs:set-text 'M (date (date-value) 0 "%M") 0 10)
(gs:set-background 'Minutes (random) (random) (random))
(gs:set-text 'H (date (date-value) 0 "%H") 0 10)
(gs:set-background 'Hours (random) (random) (random))
)
(gs:listen)
syntax highlighting with newLISP and syntax.cgi