159 lines
3.8 KiB
Plaintext
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)
|