Generic_Window_Manager/data/epoch.gwm

38 lines
954 B
Plaintext

;;; Code to communicate with epoch
;; Colas 1991-02-18
;; this needs the epoch code "property.el" loaded into epoch
;; (property.el is in the epocgh distribution)
;; routine to send a string to be executed by epoch, supposed to be the
;; current window
(setq epoch:menu ())
(defun send-epoch (code)
(set-x-property "EPOCH_EXECUTE"
(+ "(let ((protect epoch::event-handler)) (unwind-protect "
code
"(setq epoch::event-handler protect))))"
)))
;; Menu package:
;; how to make a menu of epoch buffers to select current buffer
(defunq string-menu-make (args)
(if epoch:menu
(with (wob (menu-wob epoch:menu)) (delete-window))
)
(pop-menu
(setq epoch:menu (menu-make-from-list (+
'((pop-label-make "Epoch Screens"))
(mapfor s args (list 'item-make s (list 'send-epoch-switch-buffer s))
))))))
(defunq send-epoch-switch-buffer (name)
(send-epoch (+ "(switch-to-buffer \"" name "\")")
))
;; All done
(provide 'epoch)