1 ;;; sunpro-sparcworks.el --- support SPARCworks manager ToolTalk messages
3 ;; Copyright (C) Sun Microsystems, Inc.
5 ;; Author: Vladimir Ivanovic <vladimir@Eng.Sun.COM>
6 ;; Maintainer: Vladimir Ivanovic <vladimir@Eng.Sun.COM>
9 ;; Keywords: SPARCworks, ToolTalk, messages
13 ;; Called from the SPARCworks Manager with the command:
15 ;; xemacs -q -l sunpro-sparcworks $SUNPRO_SWM_TT_ARGS $SUNPRO_SWM_GUI_ARGS
22 (require 'cl) ; Common Lisp compatibility
24 (defvar sunpro-sparcworks-ops
31 "The ToolTalk operations that are handled.")
33 (defvar sunpro-sparcworks-callbacks
40 "The ToolTalk operations that are handled.")
42 (defvar sunpro-sparcworks-invocation-count nil
43 "The number of XEmacsen invoked via the SPARCworks Manager.")
45 (defun sp-sw-quit-handler (msg pat)
46 (return-tooltalk-message msg 'reply)
47 (save-buffers-kill-emacs))
49 (defun sp-sw-hide-handler (msg pat)
50 (return-tooltalk-message msg 'reply)
51 (mapcar #'make-frame-invisible (frame-list)))
53 (defun sp-sw-expose-handler (msg pat)
54 (return-tooltalk-message msg 'reply)
55 (mapcar #'make-frame-visible (frame-list)))
57 (defun sp-sw-close-handler (msg pat)
58 (return-tooltalk-message msg 'reply)
59 (mapcar #'iconify-frame (frame-list)))
61 (defun sp-sw-open-handler (msg pat)
62 (return-tooltalk-message msg 'reply)
63 (mapcar #'deiconify-frame (frame-list)))
65 (defun sp-sw-nop-handler (msg pat)
66 (return-tooltalk-message msg 'reply)
69 (register-tooltalk-pattern
70 (make-tooltalk-pattern
74 callback sp-sw-quit-handler)))
76 (register-tooltalk-pattern
77 (make-tooltalk-pattern
81 callback sp-sw-hide-handler)))
83 (register-tooltalk-pattern
84 (make-tooltalk-pattern
88 callback sp-sw-expose-handler)))
90 (register-tooltalk-pattern
91 (make-tooltalk-pattern
95 callback sp-sw-close-handler)))
97 (register-tooltalk-pattern
98 (make-tooltalk-pattern
102 callback sp-sw-open-handler)))
104 (register-tooltalk-pattern
105 (make-tooltalk-pattern
109 callback sp-sw-nop-handler)))
111 (defun sunpro-sparcworks-handle-command-line (arg)
112 "Handle the SPARCworks Manager-specific command line arguments."
113 (setq *sunpro-sparcworks-invocation-count* arg)
114 ;;Fix up the command-line in case there are more arguments
115 (setq command-line-args-left
116 (cdr command-line-args-left)))
120 (setq command-switch-alist
122 (append '(("-swtm" . sunpro-sparcworks-handle-command-line))
123 command-switch-alist)))
126 ;;; sunpro-sparcworks.el ends here