[REBOL] responding to 'inactive - what's the catch?
From: greggirwin:mindspring at: 22-May-2002 20:51
Here's a question for the VID/View gurus on the list.
I want to hide my window when it becomes inactive. Catching the event is no
problem, but there's some little trick I'm missing to make it work. The
following code works great if you paste it into a View console session, and
it also works correctly if you uncomment the print statements in
slide-on/off but, as it is below, it doesn't quite work. Without a console
open, the deactivated window doesn't hide until you move the mouse over it.
What does the console cause to happen to make it work?
evt-func: func [face event][
switch event/type [
if not find system/view/screen-face/feel/event-funcs :evt-func [
shutdown: does [
slide-off: does [
;print ["sliding off" main-lay/offset]
main-lay/offset: to-pair reduce [negate subtract main-lay/size/x 4 -22]
slide-on: does [
;print ["sliding on" main-lay/offset]
main-lay: layout [
button "Quit" [shutdown]
view/offset main-lay 0x0