155 lines
3.9 KiB
Plaintext
155 lines
3.9 KiB
Plaintext
; 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)))
|
|
|