Generic_Window_Manager/data/mwm.gwm

159 lines
3.8 KiB
Plaintext

;;File: mwm.gwm -- the main file for MWM emulation under GWM
;;Author: colas@mirsa.inria.fr (Colas NAHABOO) -- Bull Research FRANCE
;;Author: glen WHITNEY -- UCLA Math Department
;;Revision: 1.4 -- June 12 1989
;;Revision: 1.5 -- June 26 1992
;;State: Exp
;;GWM Version: 1.7l
;; this profile is monoscreen only
(if (> (length (list-of-screens)) 1)
(progn
(? "The mwm profile works only on one screen. Restarting with -1fmwm\n")
(restart "gwm" "-1fmwm")))
; banner
; ======
(if (= display-name "unix:0")
(if (: machine (getenv "machine"))
(: display-name (+ machine ":0"))))
(if (= 0 gwm-quiet)
(? display-name "." screen " " screen-width " x " screen-height " x "
screen-depth "\n"))
(if (= 0 gwm-quiet) (print "reading..."))
(: original-load load)
(if (= 0 gwm-quiet) (defun load (file) (? ".")(original-load file)))
; global switches
; ===============
(: property ())
(: borderwidth 1)
(: to-be-done-after-setup '(progn))
(: screen-opening '(progn)) ; actions to be done before operation
(: screen-closing '(progn)) ; actions to be done when ending
; per-screen data setting
; =======================
(defunq defname-in-screen-to args
(with (value (eval (# 0 args))
vars (sublist 1 (length args) args))
(for var vars
(defname var screen. value))))
(defunq set-color (name value)
(if (not (= screen. (namespace-of name))) {
(defname name screen.)
(for screen (list-of-screens)
(set name (color-make value)))
}
))
(defunq set-pixmap args
(with (name (# 0 args)
pixmap-make-call (# 0 args 'pixmap-make))
(if (not (= screen. (namespace-of name))) {
(defname name screen.)
(for screen (list-of-screens)
(set name (eval pixmap-make-call)))
}
))))
; per-screen data
; ===============
(defname-in-screen-to () tile screen-tile bordertile menu root-cursor)
(set-color black Black)
(set-color white White)
(set-color grey Grey)
(set-color darkgrey DarkSlateGrey)
(load "mwmrc")
(load "mwm-bindings")
(set-pixmap icon-pixmap "icon20")
(defname 'look-3d screen.)
(for screen (list-of-screens)
(if (= 'mono screen-type)
(: look-3d ())
(: look-3d t)
))))
(load "mwm-utils.gwm")
; automatic placement
; ===================
(load "mwm-placements")
; Pop-ups
; =======
(: window-grabs
(list (button any with-alt)
(button 1 (together with-shift with-alt))))
(: root-grabs
(list (button any with-alt)
(button 1 (together with-shift with-alt))))
(load "mwm-menus.gwm")
; Menus and Bindings
;-------------------
; get the internal default versions of these.
(load "mwm-internal.gwmMwmrc")
; For now, get the menu, key, and buttonbindings in gwm format
; from .gwmMwmrc, or if that doesn't exist, from system.gwmMwmrc
; The next revision would be to fork a process which interprets
; the .mwmrc file into gwm code and then causes gwm to load it.
(if (not (load ".gwmMwmrc")) (load "system.gwmMwmrc"))
(: buttonBindings (eval buttonBindings))
(: keyBindings (eval keyBindings))
; Read what used to be the profile
(if (= 0 gwm-quiet) (? "["))
(for screen (list-of-screens) (load "mwmprofile.gwm"))
(if (= 0 gwm-quiet) (? "]"))
; Get the mwm window and icon description
(load "mwm-win")
(load "mwm-icon")
; DESCRIBE-SCREEN & DESCRIBE-WINDOW
; =================================
(de describe-screen ()
(with (fsm root-fsm cursor root-cursor tile screen-tile
grabs (+ (# 1 (# 'root keyBindings)) root-std-grabs)
opening
'(progn (eval to-be-done-after-setup)
(eval screen-opening)
(if (= 0 gwm-quiet) (? "Screen #" screen " ready.\n")))
closing '(eval screen-closing)
)
(window-make () () () () ())))
(de describe-window ()
(list mwm-win mwm-icon))
; Bye bye
; ========
(setq load original-load)
(if (= 0 gwm-quiet) (print "...done\n"))
(? "keyboardFocusPolicy = " keyboardFocusPolicy "\n")
(setq keyboardFocusPolicy 'pointer)