home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 22 gnu
/
22-gnu.zip
/
gwm18a.zip
/
data
/
deltabutton.gwm
< prev
next >
Wrap
Text File
|
1995-07-03
|
1KB
|
38 lines
;; a function to have a delta functionnality with gwm
; how to use it: in your .profile, before any deco, do
; (load 'deltabutton)
; (: standard-behavior
; (state-make
; (on (buttonpress 1 alone) (if (deltabutton)
; (progn (raise-window)(move-window))
; (raise-window)))
; standard-behavior
; ))
; (reparse-standard-behaviors)
(defaults-to deltabutton.delta 4)
(de abs (n)
(if (> n 0) n
(- n)))
(de deltabutton ()
(if (and (> (current-event-code) 0) ; last event received
(< (current-event-modifier) 256)) ; is a buttonpress
(tag DELTABUTTON
(: e-m (# (current-event-code) '(0 1 2 4)))
(: e-x (current-event-x))
(: e-y (current-event-y))
(: m-p (current-mouse-position))
(while (= (/ (# 2 m-p) 256) e-m) ; the button is still pressed
(: dx (abs (- (# 0 m-p) e-x)))
(: dy (abs (- (# 1 m-p) e-y)))
(if (or (> dx deltabutton.delta)
(> dy deltabutton.delta))
(exit DELTABUTTON t))
(: m-p (current-mouse-position)))
()))
)