[lice @ add all function symbols emacs implements in C]
[lice.git] / frame.lisp
blob5f6dba6e71c9d7039fb78527bfdbea9422be1177
1 (in-package :lice)
3 (defvar *frame-list* nil
4 "List of frames lice frames.")
6 (defun set-frame-minibuffer (frame minibuffer)
7 "Make MINIBUFFER the minibuffer for FRAME."
8 (setf (window-buffer (frame-minibuffer-window frame)) minibuffer))
10 (defun resize-window (window amount &optional (dir :height))
11 "grow or shrink window, resizing dependant windows as well."
12 (declare (ignore window amount dir))
13 ;; (let* ((frame (frame-window-tree (frame-for-window window)))
14 ;; (sibling (tree-sibling frame window)))
15 ;; )
18 (defun selected-frame ()
19 "Return the frame that is now selected."
20 *selected-frame*)
22 (defun active-minibuffer-window ()
23 "Return the currently active minibuffer window or nil if there isn't
24 one."
25 (let ((frame (selected-frame)))
26 (unless (zerop (frame-minibuffers-active frame))
27 (frame-minibuffer-window frame))))
29 (defun frame-window-list (frame &optional minibuf)
30 "Return the list of windows in FRAME. If MINIBUF is true then include the minibuffer window."
31 ;; (declare (type frame frame))
32 ;; FIXME: The reason we need to pass MB into flatten is because movitz can't "lend optional right now"
33 (labels ((flatten (tree mb)
34 (if (atom tree)
35 (unless (and (typep tree 'minibuffer-window)
36 (not mb))
37 (list tree))
38 (nconc (flatten (first tree) mb)
39 (flatten (second tree) mb)))))
40 (flatten (frame-window-tree frame) minibuf)))
42 (defun framep (object)
43 "Return non-nil if OBJECT is a frame.
44 Value is t for a termcap frame (a character-only terminal),
45 `x' for an Emacs frame that is really an X window,
46 `w32' for an Emacs frame that is a window on MS-Windows display,
47 `mac' for an Emacs frame on a Macintosh display,
48 `pc' for a direct-write MS-DOS frame.
49 See also `frame-live-p'."
50 (typep object 'frame))
52 (defun frame-live-p ()
53 (error "unimplemented"))
55 (defun make-terminal-frame ()
56 (error "unimplemented"))
58 (defun handle-switch-frame ()
59 (error "unimplemented"))
61 (defun select-frame (frame)
62 "Select the frame FRAME.
63 Subsequent editing commands apply to its selected window.
64 The selection of FRAME lasts until the next time the user does
65 something to select a different frame, or until the next time this
66 function is called. If you are using a window system, the previously
67 selected frame may be restored as the selected frame after return to
68 the command loop, because it still may have the window system's input
69 focus. On a text-only terminal, the next redisplay will display FRAME.
71 This function returns FRAME, or nil if FRAME has been deleted."
72 (declare (ignore frame))
73 (error "unimplemented"))
75 (defun frame-root-window ()
76 (error "unimplemented"))
78 (defun frame-first-window ()
79 (error "unimplemented"))
81 (depricate set-frame-selected-window (setf frame-selected-window))
82 (defun set-frame-selected-window (frame window)
83 "Set the selected window of frame object frame to window.
84 Return window.
85 If frame is nil, the selected frame is used.
86 If frame is the selected frame, this makes window the selected window."
87 (setf (frame-selected-window (or frame (selected-frame))) window))
89 (defun frame-list ()
90 "Return a list of all frames."
91 (copy-list *frame-list*))
93 (defun next-frame ()
94 (error "unimplemented"))
96 (defun previous-frame ()
97 (error "unimplemented"))
99 (defun delete-frame ()
100 (error "unimplemented"))
102 (defun mouse-position ()
103 (error "unimplemented"))
105 (defun mouse-pixel-position ()
106 (error "unimplemented"))
108 (defun set-mouse-position ()
109 (error "unimplemented"))
111 (defun set-mouse-pixel-position ()
112 (error "unimplemented"))
114 (defun make-frame-visible ()
115 (error "unimplemented"))
117 (defun make-frame-invisible ()
118 (error "unimplemented"))
120 (defun iconify-frame ()
121 (error "unimplemented"))
123 (defun frame-visible-p ()
124 (error "unimplemented"))
126 (defun visible-frame-list ()
127 (error "unimplemented"))
129 (defun raise-frame ()
130 (error "unimplemented"))
132 (defun lower-frame ()
133 (error "unimplemented"))
135 (defun redirect-frame-focus ()
136 (error "unimplemented"))
138 (defun frame-focus ()
139 (error "unimplemented"))
141 (defun frame-parameters ()
142 (error "unimplemented"))
144 (defun frame-parameter ()
145 (error "unimplemented"))
147 (defun modify-frame-parameters ()
148 (error "unimplemented"))
150 (defun frame-char-height ()
151 (error "unimplemented"))
153 (defun frame-char-width ()
154 (error "unimplemented"))
156 (defun frame-pixel-height ()
157 (error "unimplemented"))
159 (defun frame-pixel-width ()
160 (error "unimplemented"))
162 (defun set-frame-height ()
163 (error "unimplemented"))
165 (defun set-frame-width ()
166 (error "unimplemented"))
168 (defun set-frame-size ()
169 (error "unimplemented"))
171 (defun set-frame-position ()
172 (error "unimplemented"))
175 ;; (defun x-get-resource ()
176 ;; (error "unimplemented"))
178 ;; (defun x-parse-geometry ()
179 ;; (error "unimplemented"))
181 (provide :lice-0.1/frame)