0
|
1 ;;; sunpro-sparcworks.el --- support SPARCworks manager ToolTalk messages
|
|
2
|
|
3 ;; Copyright (C) Sun Microsystems, Inc.
|
|
4
|
|
5 ;; Author: Vladimir Ivanovic <vladimir@Eng.Sun.COM>
|
|
6 ;; Maintainer: Vladimir Ivanovic <vladimir@Eng.Sun.COM>
|
|
7 ;; Created: 20 Mar 95
|
|
8
|
|
9 ;; Keywords: SPARCworks, ToolTalk, messages
|
|
10
|
|
11 ;;; Commentary:
|
|
12
|
|
13 ;; Called from the SPARCworks Manager with the command:
|
|
14 ;;
|
|
15 ;; xemacs -q -l sunpro-sparcworks $SUNPRO_SWM_TT_ARGS $SUNPRO_SWM_GUI_ARGS
|
|
16 ;;
|
|
17
|
|
18 ;;; To Do:
|
|
19
|
|
20 ;;; Code:
|
|
21
|
|
22 (require 'cl) ; Common Lisp compatibility
|
|
23 (require 'cl-19) ; Version for XEmacs 19
|
|
24
|
|
25 (defvar sunpro-sparcworks-ops
|
|
26 '("quit"
|
|
27 "hide"
|
|
28 "expose"
|
|
29 "PEI_CLOSE"
|
|
30 "PEI_OPEN"
|
|
31 "PEI_NOP")
|
|
32 "The ToolTalk operations that are handled.")
|
|
33
|
|
34 (defvar sunpro-sparcworks-callbacks
|
|
35 '(sp-sw-quit-handler
|
|
36 sp-sw-hide-handler
|
|
37 sp-sw-expose-handler
|
|
38 sp-sw-close-handler
|
|
39 sp-sw--open-handler
|
|
40 sp-sw-nop-handler)
|
|
41 "The ToolTalk operations that are handled.")
|
|
42
|
|
43 (defvar sunpro-sparcworks-invocation-count nil
|
|
44 "The number of XEmacsen invoked via the SPARCworks Manager.")
|
|
45
|
|
46 (defun sp-sw-quit-handler (msg pat)
|
|
47 (return-tooltalk-message msg 'reply)
|
|
48 (save-buffers-kill-emacs))
|
|
49
|
|
50 (defun sp-sw-hide-handler (msg pat)
|
|
51 (return-tooltalk-message msg 'reply)
|
|
52 (mapcar #'make-frame-invisible (frame-list)))
|
|
53
|
|
54 (defun sp-sw-expose-handler (msg pat)
|
|
55 (return-tooltalk-message msg 'reply)
|
|
56 (mapcar #'make-frame-visible (frame-list)))
|
|
57
|
|
58 (defun sp-sw-close-handler (msg pat)
|
|
59 (return-tooltalk-message msg 'reply)
|
|
60 (mapcar #'iconify-frame (frame-list)))
|
|
61
|
|
62 (defun sp-sw-open-handler (msg pat)
|
|
63 (return-tooltalk-message msg 'reply)
|
|
64 (mapcar #'deiconify-frame (frame-list)))
|
|
65
|
|
66 (defun sp-sw-nop-handler (msg pat)
|
|
67 (return-tooltalk-message msg 'reply)
|
|
68 '())
|
|
69
|
|
70 (register-tooltalk-pattern
|
|
71 (make-tooltalk-pattern
|
|
72 '(category TT_HANDLE
|
|
73 scope TT_SESSION
|
|
74 op "quit"
|
|
75 callback sp-sw-quit-handler)))
|
|
76
|
|
77 (register-tooltalk-pattern
|
|
78 (make-tooltalk-pattern
|
|
79 '(category TT_HANDLE
|
|
80 scope TT_SESSION
|
|
81 op "hide"
|
|
82 callback sp-sw-hide-handler)))
|
|
83
|
|
84 (register-tooltalk-pattern
|
|
85 (make-tooltalk-pattern
|
|
86 '(category TT_HANDLE
|
|
87 scope TT_SESSION
|
|
88 op "expose"
|
|
89 callback sp-sw-expose-handler)))
|
|
90
|
|
91 (register-tooltalk-pattern
|
|
92 (make-tooltalk-pattern
|
|
93 '(category TT_HANDLE
|
|
94 scope TT_SESSION
|
|
95 op "PEI_CLOSE"
|
|
96 callback sp-sw-close-handler)))
|
|
97
|
|
98 (register-tooltalk-pattern
|
|
99 (make-tooltalk-pattern
|
|
100 '(category TT_HANDLE
|
|
101 scope TT_SESSION
|
|
102 op "PEI_OPEN"
|
|
103 callback sp-sw-open-handler)))
|
|
104
|
|
105 (register-tooltalk-pattern
|
|
106 (make-tooltalk-pattern
|
|
107 '(category TT_HANDLE
|
|
108 scope TT_SESSION
|
|
109 op "PEI_NOP"
|
|
110 callback sp-sw-nop-handler)))
|
|
111
|
|
112 (defun sunpro-sparcworks-handle-command-line (arg)
|
|
113 "Handle the SPARCworks Manager-specific command line arguments."
|
|
114 (setq *sunpro-sparcworks-invocation-count* arg)
|
|
115 ;;Fix up the command-line in case there are more arguments
|
|
116 (setq command-line-args-left
|
|
117 (cdr command-line-args-left)))
|
|
118
|
|
119
|
|
120 ;;; Initialize
|
|
121 (setq command-switch-alist
|
|
122 (purecopy
|
|
123 (append '(("-swtm" . sunpro-sparcworks-handle-command-line))
|
|
124 command-switch-alist)))
|
|
125
|
|
126
|
|
127 ;;; sunpro-sparcworks.el ends here
|
|
128
|