38 lines
954 B
Plaintext
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)
|