home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 22 gnu
/
22-gnu.zip
/
gwm18a.zip
/
data
/
frame-win.gwm
< prev
next >
Wrap
Lisp/Scheme
|
1995-07-03
|
4KB
|
155 lines
; General-frame decoration (for clock, mail, ...)
; ========================
;;File: frame-win.gwm -- General-frame decoration
;;Author: vincent@mirsa.inria.fr (Vincent BOUTHORS) -- Bull Research FRANCE
;;Revision: 1.0 -- Feb 7 1989
;;State: Exp
;;GWM Version: 1.4
; Exported functions and variables:
; frame-win
; frame3d-win
; frame3d-context
; frame2d-win
; frame2d-context
; External variable used:
; look-3d:
; can be set to () (default) or tri-dim1 (t)
; frame.top-text
; frame.bottom-text
; if these variables are set they are evaluated at creation
; to form a label (string type is mandatory)
; frame.font
; font of text
; frame.pixmap-file must contain prefix of 8 bitmap files:
; suffixes are: t l r b (top left right bottom)
; tl tr bl br (corners)
; default: "frame2d"
; frame.pixmap-format indicates wich format is used;
; 'bitmap (default) standard bitmap format, pixmap-make is used
; 'pixmap pixmap oriented format, pixmap-load is used
; frame.name-separator indicates which character is used to separate
; suffix from prefix in filename (default "-")
; frame.bar-width
; (default 1)
; frame.inner-border-width
; (default 1)
(de frame.suffix (name1 name2)
(+ name1 frame.name-separator name2))
(de frame.win ()
(with (
fsm (fsm-make (state-make window-behavior standard-behavior))
name (default frame.pixmap-file "frame2d")
frame.name-separator (default frame.name-separator "-")
frame.font (default frame.font small-font)
pixmap-make (if (= (default frame.pixmap-format 'bitmap) 'pixmap)
pixmap-load
pixmap-make)
frame.bar-width (if (boundp 'frame.bar-width)
frame.bar-width
10)
)
(with (
borderwidth 0
bar-min-width frame.bar-width
bar-max-width frame.bar-width)
(: side-top (pixmap-make (frame.suffix name "t")))
(: side-left (pixmap-make (frame.suffix name "l")))
(: side-right (pixmap-make (frame.suffix name "r")))
(: side-bottom (pixmap-make (frame.suffix name "b")))
(: plug-corner-tl (plug-make(pixmap-make(frame.suffix name "tl"))))
(: plug-corner-br (plug-make(pixmap-make(frame.suffix name "br"))))
(: plug-corner-bl (plug-make(pixmap-make(frame.suffix name "bl"))))
(: plug-corner-tr (plug-make(pixmap-make(frame.suffix name "tr"))))
(: bar-top
(with (tile side-top borderwidth 0)
(if (boundp 'frame.top-text)
(bar-make
plug-corner-tl
()
(list 'plug-make
(list 'label-make
frame.top-text
'frame.font))
()
plug-corner-tr)
(bar-make
plug-corner-tl
()
plug-corner-tr))))
(: bar-bottom
(with (tile side-bottom borderwidth 0)
(if (boundp 'frame.bottom-text)
(bar-make
plug-corner-bl
()
(list 'plug-make
(list 'label-make
frame.bottom-text
'frame.font))
()
plug-corner-br)
(bar-make
plug-corner-bl
()
plug-corner-br))))
(: bar-left (with (tile side-left) (bar-make)))
(: bar-right (with (tile side-right) (bar-make)))
)
; : result
(with (
inner-borderwidth (default frame.inner-border-width 1)
borderwidth (default frame.border-width 1))
(window-make bar-top bar-left bar-right bar-bottom ())))
)
(setq frame3d-context
'(
frame.pixmap-file "frame3d"
frame.name-separator "-"
frame.bar-width 8
frame.pixmap-format 'pixmap
frame.inner-border-width 0
frame.border-width (default frame.border-width 1)
))
(df frame3d-win ()
(with frame3d-context
(frame.win)))
(setq frame2d-context
'(
frame.pixmap-file "frame2d"
frame.name-separator "-"
frame.bar-width 10
frame.pixmap-format 'bitmap
frame.inner-border-width 0
frame.border-width (default frame.border-width 1)
))
(df frame2d-win ()
(with frame2d-context
(frame.win)))
(df frame-win ()
(if (= t (default look-3d ()))
(frame3d-win)
(frame2d-win)))