Mercurial > emacs
comparison src/frame.c @ 40105:bb56bafcdcc7
Change doc-string comments to `new style' [w/`doc:' keyword].
author | Pavel Janík <Pavel@Janik.cz> |
---|---|
date | Sun, 21 Oct 2001 07:27:56 +0000 |
parents | 579177964efa |
children | b2ff79e90309 |
comparison
equal
deleted
inserted
replaced
40104:514c3f3e9ead | 40105:bb56bafcdcc7 |
---|---|
146 extern Lisp_Object Fhandle_switch_frame (); | 146 extern Lisp_Object Fhandle_switch_frame (); |
147 extern Lisp_Object Fredirect_frame_focus (); | 147 extern Lisp_Object Fredirect_frame_focus (); |
148 extern Lisp_Object x_get_focus_frame (); | 148 extern Lisp_Object x_get_focus_frame (); |
149 | 149 |
150 DEFUN ("framep", Fframep, Sframep, 1, 1, 0, | 150 DEFUN ("framep", Fframep, Sframep, 1, 1, 0, |
151 "Return non-nil if OBJECT is a frame.\n\ | 151 doc: /* Return non-nil if OBJECT is a frame. |
152 Value is t for a termcap frame (a character-only terminal),\n\ | 152 Value is t for a termcap frame (a character-only terminal), |
153 `x' for an Emacs frame that is really an X window,\n\ | 153 `x' for an Emacs frame that is really an X window, |
154 `w32' for an Emacs frame that is a window on MS-Windows display,\n\ | 154 `w32' for an Emacs frame that is a window on MS-Windows display, |
155 `mac' for an Emacs frame on a Macintosh display,\n\ | 155 `mac' for an Emacs frame on a Macintosh display, |
156 `pc' for a direct-write MS-DOS frame.\n\ | 156 `pc' for a direct-write MS-DOS frame. |
157 See also `frame-live-p'.") | 157 See also `frame-live-p'. */) |
158 (object) | 158 (object) |
159 Lisp_Object object; | 159 Lisp_Object object; |
160 { | 160 { |
161 if (!FRAMEP (object)) | 161 if (!FRAMEP (object)) |
162 return Qnil; | 162 return Qnil; |
163 switch (XFRAME (object)->output_method) | 163 switch (XFRAME (object)->output_method) |
176 abort (); | 176 abort (); |
177 } | 177 } |
178 } | 178 } |
179 | 179 |
180 DEFUN ("frame-live-p", Fframe_live_p, Sframe_live_p, 1, 1, 0, | 180 DEFUN ("frame-live-p", Fframe_live_p, Sframe_live_p, 1, 1, 0, |
181 "Return non-nil if OBJECT is a frame which has not been deleted.\n\ | 181 doc: /* Return non-nil if OBJECT is a frame which has not been deleted. |
182 Value is nil if OBJECT is not a live frame. If object is a live\n\ | 182 Value is nil if OBJECT is not a live frame. If object is a live |
183 frame, the return value indicates what sort of output device it is\n\ | 183 frame, the return value indicates what sort of output device it is |
184 displayed on. Value is t for a termcap frame (a character-only\n\ | 184 displayed on. Value is t for a termcap frame (a character-only |
185 terminal), `x' for an Emacs frame being displayed in an X window.") | 185 terminal), `x' for an Emacs frame being displayed in an X window. */) |
186 (object) | 186 (object) |
187 Lisp_Object object; | 187 Lisp_Object object; |
188 { | 188 { |
189 return ((FRAMEP (object) | 189 return ((FRAMEP (object) |
190 && FRAME_LIVE_P (XFRAME (object))) | 190 && FRAME_LIVE_P (XFRAME (object))) |
191 ? Fframep (object) | 191 ? Fframep (object) |
496 | 496 |
497 return f; | 497 return f; |
498 } | 498 } |
499 | 499 |
500 DEFUN ("make-terminal-frame", Fmake_terminal_frame, Smake_terminal_frame, | 500 DEFUN ("make-terminal-frame", Fmake_terminal_frame, Smake_terminal_frame, |
501 1, 1, 0, "Create an additional terminal frame.\n\ | 501 1, 1, 0, |
502 You can create multiple frames on a text-only terminal in this way.\n\ | 502 doc: /* Create an additional terminal frame. |
503 Only the selected terminal frame is actually displayed.\n\ | 503 You can create multiple frames on a text-only terminal in this way. |
504 This function takes one argument, an alist specifying frame parameters.\n\ | 504 Only the selected terminal frame is actually displayed. |
505 In practice, generally you don't need to specify any parameters.\n\ | 505 This function takes one argument, an alist specifying frame parameters. |
506 Note that changing the size of one terminal frame automatically affects all.") | 506 In practice, generally you don't need to specify any parameters. |
507 (parms) | 507 Note that changing the size of one terminal frame automatically affects all. */) |
508 (parms) | |
508 Lisp_Object parms; | 509 Lisp_Object parms; |
509 { | 510 { |
510 struct frame *f; | 511 struct frame *f; |
511 Lisp_Object frame, tem; | 512 Lisp_Object frame, tem; |
512 struct frame *sf = SELECTED_FRAME (); | 513 struct frame *sf = SELECTED_FRAME (); |
649 | 650 |
650 return frame; | 651 return frame; |
651 } | 652 } |
652 | 653 |
653 DEFUN ("select-frame", Fselect_frame, Sselect_frame, 1, 2, "e", | 654 DEFUN ("select-frame", Fselect_frame, Sselect_frame, 1, 2, "e", |
654 "Select the frame FRAME.\n\ | 655 doc: /* Select the frame FRAME. |
655 Subsequent editing commands apply to its selected window.\n\ | 656 Subsequent editing commands apply to its selected window. |
656 The selection of FRAME lasts until the next time the user does\n\ | 657 The selection of FRAME lasts until the next time the user does |
657 something to select a different frame, or until the next time this\n\ | 658 something to select a different frame, or until the next time this |
658 function is called.") | 659 function is called. */) |
659 (frame, no_enter) | 660 (frame, no_enter) |
660 Lisp_Object frame, no_enter; | 661 Lisp_Object frame, no_enter; |
661 { | 662 { |
662 return do_switch_frame (frame, 1, 0); | 663 return do_switch_frame (frame, 1, 0); |
663 } | 664 } |
664 | 665 |
665 | 666 |
666 DEFUN ("handle-switch-frame", Fhandle_switch_frame, Shandle_switch_frame, 1, 2, "e", | 667 DEFUN ("handle-switch-frame", Fhandle_switch_frame, Shandle_switch_frame, 1, 2, "e", |
667 "Handle a switch-frame event EVENT.\n\ | 668 doc: /* Handle a switch-frame event EVENT. |
668 Switch-frame events are usually bound to this function.\n\ | 669 Switch-frame events are usually bound to this function. |
669 A switch-frame event tells Emacs that the window manager has requested\n\ | 670 A switch-frame event tells Emacs that the window manager has requested |
670 that the user's events be directed to the frame mentioned in the event.\n\ | 671 that the user's events be directed to the frame mentioned in the event. |
671 This function selects the selected window of the frame of EVENT.\n\ | 672 This function selects the selected window of the frame of EVENT. |
672 \n\ | 673 |
673 If EVENT is frame object, handle it as if it were a switch-frame event\n\ | 674 If EVENT is frame object, handle it as if it were a switch-frame event |
674 to that frame.") | 675 to that frame. */) |
675 (event, no_enter) | 676 (event, no_enter) |
676 Lisp_Object event, no_enter; | 677 Lisp_Object event, no_enter; |
677 { | 678 { |
678 /* Preserve prefix arg that the command loop just cleared. */ | 679 /* Preserve prefix arg that the command loop just cleared. */ |
679 current_kboard->Vprefix_arg = Vcurrent_prefix_arg; | 680 current_kboard->Vprefix_arg = Vcurrent_prefix_arg; |
680 call1 (Vrun_hooks, Qmouse_leave_buffer_hook); | 681 call1 (Vrun_hooks, Qmouse_leave_buffer_hook); |
681 return do_switch_frame (event, 0, 0); | 682 return do_switch_frame (event, 0, 0); |
682 } | 683 } |
683 | 684 |
684 DEFUN ("ignore-event", Fignore_event, Signore_event, 0, 0, "", | 685 DEFUN ("ignore-event", Fignore_event, Signore_event, 0, 0, "", |
685 "Do nothing, but preserve any prefix argument already specified.\n\ | 686 doc: /* Do nothing, but preserve any prefix argument already specified. |
686 This is a suitable binding for iconify-frame and make-frame-visible.") | 687 This is a suitable binding for iconify-frame and make-frame-visible. */) |
687 () | 688 () |
688 { | 689 { |
689 current_kboard->Vprefix_arg = Vcurrent_prefix_arg; | 690 current_kboard->Vprefix_arg = Vcurrent_prefix_arg; |
690 return Qnil; | 691 return Qnil; |
691 } | 692 } |
692 | 693 |
693 DEFUN ("selected-frame", Fselected_frame, Sselected_frame, 0, 0, 0, | 694 DEFUN ("selected-frame", Fselected_frame, Sselected_frame, 0, 0, 0, |
694 "Return the frame that is now selected.") | 695 doc: /* Return the frame that is now selected. */) |
695 () | 696 () |
696 { | 697 { |
697 return selected_frame; | 698 return selected_frame; |
698 } | 699 } |
699 | 700 |
700 DEFUN ("window-frame", Fwindow_frame, Swindow_frame, 1, 1, 0, | 701 DEFUN ("window-frame", Fwindow_frame, Swindow_frame, 1, 1, 0, |
701 "Return the frame object that window WINDOW is on.") | 702 doc: /* Return the frame object that window WINDOW is on. */) |
702 (window) | 703 (window) |
703 Lisp_Object window; | 704 Lisp_Object window; |
704 { | 705 { |
705 CHECK_LIVE_WINDOW (window, 0); | 706 CHECK_LIVE_WINDOW (window, 0); |
706 return XWINDOW (window)->frame; | 707 return XWINDOW (window)->frame; |
707 } | 708 } |
708 | 709 |
709 DEFUN ("frame-first-window", Fframe_first_window, Sframe_first_window, 0, 1, 0, | 710 DEFUN ("frame-first-window", Fframe_first_window, Sframe_first_window, 0, 1, 0, |
710 "Returns the topmost, leftmost window of FRAME.\n\ | 711 doc: /* Returns the topmost, leftmost window of FRAME. |
711 If omitted, FRAME defaults to the currently selected frame.") | 712 If omitted, FRAME defaults to the currently selected frame. */) |
712 (frame) | 713 (frame) |
713 Lisp_Object frame; | 714 Lisp_Object frame; |
714 { | 715 { |
715 Lisp_Object w; | 716 Lisp_Object w; |
716 | 717 |
717 if (NILP (frame)) | 718 if (NILP (frame)) |
733 return w; | 734 return w; |
734 } | 735 } |
735 | 736 |
736 DEFUN ("active-minibuffer-window", Factive_minibuffer_window, | 737 DEFUN ("active-minibuffer-window", Factive_minibuffer_window, |
737 Sactive_minibuffer_window, 0, 0, 0, | 738 Sactive_minibuffer_window, 0, 0, 0, |
738 "Return the currently active minibuffer window, or nil if none.") | 739 doc: /* Return the currently active minibuffer window, or nil if none. */) |
739 () | 740 () |
740 { | 741 { |
741 return minibuf_level ? minibuf_window : Qnil; | 742 return minibuf_level ? minibuf_window : Qnil; |
742 } | 743 } |
743 | 744 |
744 DEFUN ("frame-root-window", Fframe_root_window, Sframe_root_window, 0, 1, 0, | 745 DEFUN ("frame-root-window", Fframe_root_window, Sframe_root_window, 0, 1, 0, |
745 "Returns the root-window of FRAME.\n\ | 746 doc: /* Returns the root-window of FRAME. |
746 If omitted, FRAME defaults to the currently selected frame.") | 747 If omitted, FRAME defaults to the currently selected frame. */) |
747 (frame) | 748 (frame) |
748 Lisp_Object frame; | 749 Lisp_Object frame; |
749 { | 750 { |
750 Lisp_Object window; | 751 Lisp_Object window; |
751 | 752 |
752 if (NILP (frame)) | 753 if (NILP (frame)) |
760 return window; | 761 return window; |
761 } | 762 } |
762 | 763 |
763 DEFUN ("frame-selected-window", Fframe_selected_window, | 764 DEFUN ("frame-selected-window", Fframe_selected_window, |
764 Sframe_selected_window, 0, 1, 0, | 765 Sframe_selected_window, 0, 1, 0, |
765 "Return the selected window of frame object FRAME.\n\ | 766 doc: /* Return the selected window of frame object FRAME. |
766 If omitted, FRAME defaults to the currently selected frame.") | 767 If omitted, FRAME defaults to the currently selected frame. */) |
767 (frame) | 768 (frame) |
768 Lisp_Object frame; | 769 Lisp_Object frame; |
769 { | 770 { |
770 Lisp_Object window; | 771 Lisp_Object window; |
771 | 772 |
772 if (NILP (frame)) | 773 if (NILP (frame)) |
780 return window; | 781 return window; |
781 } | 782 } |
782 | 783 |
783 DEFUN ("set-frame-selected-window", Fset_frame_selected_window, | 784 DEFUN ("set-frame-selected-window", Fset_frame_selected_window, |
784 Sset_frame_selected_window, 2, 2, 0, | 785 Sset_frame_selected_window, 2, 2, 0, |
785 "Set the selected window of frame object FRAME to WINDOW.\n\ | 786 doc: /* Set the selected window of frame object FRAME to WINDOW. |
786 If FRAME is nil, the selected frame is used.\n\ | 787 If FRAME is nil, the selected frame is used. |
787 If FRAME is the selected frame, this makes WINDOW the selected window.") | 788 If FRAME is the selected frame, this makes WINDOW the selected window. */) |
788 (frame, window) | 789 (frame, window) |
789 Lisp_Object frame, window; | 790 Lisp_Object frame, window; |
790 { | 791 { |
791 if (NILP (frame)) | 792 if (NILP (frame)) |
792 frame = selected_frame; | 793 frame = selected_frame; |
793 | 794 |
803 return XFRAME (frame)->selected_window = window; | 804 return XFRAME (frame)->selected_window = window; |
804 } | 805 } |
805 | 806 |
806 DEFUN ("frame-list", Fframe_list, Sframe_list, | 807 DEFUN ("frame-list", Fframe_list, Sframe_list, |
807 0, 0, 0, | 808 0, 0, 0, |
808 "Return a list of all frames.") | 809 doc: /* Return a list of all frames. */) |
809 () | 810 () |
810 { | 811 { |
811 Lisp_Object frames; | 812 Lisp_Object frames; |
812 frames = Fcopy_sequence (Vframe_list); | 813 frames = Fcopy_sequence (Vframe_list); |
813 #ifdef HAVE_WINDOW_SYSTEM | 814 #ifdef HAVE_WINDOW_SYSTEM |
814 if (FRAMEP (tip_frame)) | 815 if (FRAMEP (tip_frame)) |
973 return prev; | 974 return prev; |
974 } | 975 } |
975 | 976 |
976 | 977 |
977 DEFUN ("next-frame", Fnext_frame, Snext_frame, 0, 2, 0, | 978 DEFUN ("next-frame", Fnext_frame, Snext_frame, 0, 2, 0, |
978 "Return the next frame in the frame list after FRAME.\n\ | 979 doc: /* Return the next frame in the frame list after FRAME. |
979 It considers only frames on the same terminal as FRAME.\n\ | 980 It considers only frames on the same terminal as FRAME. |
980 By default, skip minibuffer-only frames.\n\ | 981 By default, skip minibuffer-only frames. |
981 If omitted, FRAME defaults to the selected frame.\n\ | 982 If omitted, FRAME defaults to the selected frame. |
982 If optional argument MINIFRAME is nil, exclude minibuffer-only frames.\n\ | 983 If optional argument MINIFRAME is nil, exclude minibuffer-only frames. |
983 If MINIFRAME is a window, include only its own frame\n\ | 984 If MINIFRAME is a window, include only its own frame |
984 and any frame now using that window as the minibuffer.\n\ | 985 and any frame now using that window as the minibuffer. |
985 If MINIFRAME is `visible', include all visible frames.\n\ | 986 If MINIFRAME is `visible', include all visible frames. |
986 If MINIFRAME is 0, include all visible and iconified frames.\n\ | 987 If MINIFRAME is 0, include all visible and iconified frames. |
987 Otherwise, include all frames.") | 988 Otherwise, include all frames. */) |
988 (frame, miniframe) | 989 (frame, miniframe) |
989 Lisp_Object frame, miniframe; | 990 Lisp_Object frame, miniframe; |
990 { | 991 { |
991 if (NILP (frame)) | 992 if (NILP (frame)) |
992 frame = selected_frame; | 993 frame = selected_frame; |
993 | 994 |
994 CHECK_LIVE_FRAME (frame, 0); | 995 CHECK_LIVE_FRAME (frame, 0); |
995 return next_frame (frame, miniframe); | 996 return next_frame (frame, miniframe); |
996 } | 997 } |
997 | 998 |
998 DEFUN ("previous-frame", Fprevious_frame, Sprevious_frame, 0, 2, 0, | 999 DEFUN ("previous-frame", Fprevious_frame, Sprevious_frame, 0, 2, 0, |
999 "Return the previous frame in the frame list before FRAME.\n\ | 1000 doc: /* Return the previous frame in the frame list before FRAME. |
1000 It considers only frames on the same terminal as FRAME.\n\ | 1001 It considers only frames on the same terminal as FRAME. |
1001 By default, skip minibuffer-only frames.\n\ | 1002 By default, skip minibuffer-only frames. |
1002 If omitted, FRAME defaults to the selected frame.\n\ | 1003 If omitted, FRAME defaults to the selected frame. |
1003 If optional argument MINIFRAME is nil, exclude minibuffer-only frames.\n\ | 1004 If optional argument MINIFRAME is nil, exclude minibuffer-only frames. |
1004 If MINIFRAME is a window, include only its own frame\n\ | 1005 If MINIFRAME is a window, include only its own frame |
1005 and any frame now using that window as the minibuffer.\n\ | 1006 and any frame now using that window as the minibuffer. |
1006 If MINIFRAME is `visible', include all visible frames.\n\ | 1007 If MINIFRAME is `visible', include all visible frames. |
1007 If MINIFRAME is 0, include all visible and iconified frames.\n\ | 1008 If MINIFRAME is 0, include all visible and iconified frames. |
1008 Otherwise, include all frames.") | 1009 Otherwise, include all frames. */) |
1009 (frame, miniframe) | 1010 (frame, miniframe) |
1010 Lisp_Object frame, miniframe; | 1011 Lisp_Object frame, miniframe; |
1011 { | 1012 { |
1012 if (NILP (frame)) | 1013 if (NILP (frame)) |
1013 frame = selected_frame; | 1014 frame = selected_frame; |
1014 CHECK_LIVE_FRAME (frame, 0); | 1015 CHECK_LIVE_FRAME (frame, 0); |
1059 } | 1060 } |
1060 return 1; | 1061 return 1; |
1061 } | 1062 } |
1062 | 1063 |
1063 DEFUN ("delete-frame", Fdelete_frame, Sdelete_frame, 0, 2, "", | 1064 DEFUN ("delete-frame", Fdelete_frame, Sdelete_frame, 0, 2, "", |
1064 "Delete FRAME, permanently eliminating it from use.\n\ | 1065 doc: /* Delete FRAME, permanently eliminating it from use. |
1065 If omitted, FRAME defaults to the selected frame.\n\ | 1066 If omitted, FRAME defaults to the selected frame. |
1066 A frame may not be deleted if its minibuffer is used by other frames.\n\ | 1067 A frame may not be deleted if its minibuffer is used by other frames. |
1067 Normally, you may not delete a frame if all other frames are invisible,\n\ | 1068 Normally, you may not delete a frame if all other frames are invisible, |
1068 but if the second optional argument FORCE is non-nil, you may do so.\n\ | 1069 but if the second optional argument FORCE is non-nil, you may do so. |
1069 \n\ | 1070 |
1070 This function runs `delete-frame-hook' before actually deleting the\n\ | 1071 This function runs `delete-frame-hook' before actually deleting the |
1071 frame. The hook is called with one argument FRAME.") | 1072 frame. The hook is called with one argument FRAME. */) |
1072 (frame, force) | 1073 (frame, force) |
1073 Lisp_Object frame, force; | 1074 Lisp_Object frame, force; |
1074 { | 1075 { |
1075 struct frame *f; | 1076 struct frame *f; |
1076 struct frame *sf = SELECTED_FRAME (); | 1077 struct frame *sf = SELECTED_FRAME (); |
1077 int minibuffer_selected; | 1078 int minibuffer_selected; |
1311 } | 1312 } |
1312 | 1313 |
1313 /* Return mouse position in character cell units. */ | 1314 /* Return mouse position in character cell units. */ |
1314 | 1315 |
1315 DEFUN ("mouse-position", Fmouse_position, Smouse_position, 0, 0, 0, | 1316 DEFUN ("mouse-position", Fmouse_position, Smouse_position, 0, 0, 0, |
1316 "Return a list (FRAME X . Y) giving the current mouse frame and position.\n\ | 1317 doc: /* Return a list (FRAME X . Y) giving the current mouse frame and position. |
1317 The position is given in character cells, where (0, 0) is the\n\ | 1318 The position is given in character cells, where (0, 0) is the |
1318 upper-left corner.\n\ | 1319 upper-left corner. |
1319 If Emacs is running on a mouseless terminal or hasn't been programmed\n\ | 1320 If Emacs is running on a mouseless terminal or hasn't been programmed |
1320 to read the mouse position, it returns the selected frame for FRAME\n\ | 1321 to read the mouse position, it returns the selected frame for FRAME |
1321 and nil for X and Y.\n\ | 1322 and nil for X and Y. |
1322 If `mouse-position-function' is non-nil, `mouse-position' calls it,\n\ | 1323 If `mouse-position-function' is non-nil, `mouse-position' calls it, |
1323 passing the normal return value to that function as an argument,\n\ | 1324 passing the normal return value to that function as an argument, |
1324 and returns whatever that function returns.") | 1325 and returns whatever that function returns. */) |
1325 () | 1326 () |
1326 { | 1327 { |
1327 FRAME_PTR f; | 1328 FRAME_PTR f; |
1328 Lisp_Object lispy_dummy; | 1329 Lisp_Object lispy_dummy; |
1329 enum scroll_bar_part party_dummy; | 1330 enum scroll_bar_part party_dummy; |
1330 Lisp_Object x, y, retval; | 1331 Lisp_Object x, y, retval; |
1359 RETURN_UNGCPRO (retval); | 1360 RETURN_UNGCPRO (retval); |
1360 } | 1361 } |
1361 | 1362 |
1362 DEFUN ("mouse-pixel-position", Fmouse_pixel_position, | 1363 DEFUN ("mouse-pixel-position", Fmouse_pixel_position, |
1363 Smouse_pixel_position, 0, 0, 0, | 1364 Smouse_pixel_position, 0, 0, 0, |
1364 "Return a list (FRAME X . Y) giving the current mouse frame and position.\n\ | 1365 doc: /* Return a list (FRAME X . Y) giving the current mouse frame and position. |
1365 The position is given in pixel units, where (0, 0) is the\n\ | 1366 The position is given in pixel units, where (0, 0) is the |
1366 upper-left corner.\n\ | 1367 upper-left corner. |
1367 If Emacs is running on a mouseless terminal or hasn't been programmed\n\ | 1368 If Emacs is running on a mouseless terminal or hasn't been programmed |
1368 to read the mouse position, it returns the selected frame for FRAME\n\ | 1369 to read the mouse position, it returns the selected frame for FRAME |
1369 and nil for X and Y.") | 1370 and nil for X and Y. */) |
1370 () | 1371 () |
1371 { | 1372 { |
1372 FRAME_PTR f; | 1373 FRAME_PTR f; |
1373 Lisp_Object lispy_dummy; | 1374 Lisp_Object lispy_dummy; |
1374 enum scroll_bar_part party_dummy; | 1375 enum scroll_bar_part party_dummy; |
1375 Lisp_Object x, y; | 1376 Lisp_Object x, y; |
1389 XSETFRAME (lispy_dummy, f); | 1390 XSETFRAME (lispy_dummy, f); |
1390 return Fcons (lispy_dummy, Fcons (x, y)); | 1391 return Fcons (lispy_dummy, Fcons (x, y)); |
1391 } | 1392 } |
1392 | 1393 |
1393 DEFUN ("set-mouse-position", Fset_mouse_position, Sset_mouse_position, 3, 3, 0, | 1394 DEFUN ("set-mouse-position", Fset_mouse_position, Sset_mouse_position, 3, 3, 0, |
1394 "Move the mouse pointer to the center of character cell (X,Y) in FRAME.\n\ | 1395 doc: /* Move the mouse pointer to the center of character cell (X,Y) in FRAME. |
1395 Coordinates are relative to the frame, not a window,\n\ | 1396 Coordinates are relative to the frame, not a window, |
1396 so the coordinates of the top left character in the frame\n\ | 1397 so the coordinates of the top left character in the frame |
1397 may be nonzero due to left-hand scroll bars or the menu bar.\n\ | 1398 may be nonzero due to left-hand scroll bars or the menu bar. |
1398 \n\ | 1399 |
1399 This function is a no-op for an X frame that is not visible.\n\ | 1400 This function is a no-op for an X frame that is not visible. |
1400 If you have just created a frame, you must wait for it to become visible\n\ | 1401 If you have just created a frame, you must wait for it to become visible |
1401 before calling this function on it, like this.\n\ | 1402 before calling this function on it, like this. |
1402 (while (not (frame-visible-p frame)) (sleep-for .5))") | 1403 (while (not (frame-visible-p frame)) (sleep-for .5)) */) |
1403 (frame, x, y) | 1404 (frame, x, y) |
1404 Lisp_Object frame, x, y; | 1405 Lisp_Object frame, x, y; |
1405 { | 1406 { |
1406 CHECK_LIVE_FRAME (frame, 0); | 1407 CHECK_LIVE_FRAME (frame, 0); |
1407 CHECK_NUMBER (x, 2); | 1408 CHECK_NUMBER (x, 2); |
1425 return Qnil; | 1426 return Qnil; |
1426 } | 1427 } |
1427 | 1428 |
1428 DEFUN ("set-mouse-pixel-position", Fset_mouse_pixel_position, | 1429 DEFUN ("set-mouse-pixel-position", Fset_mouse_pixel_position, |
1429 Sset_mouse_pixel_position, 3, 3, 0, | 1430 Sset_mouse_pixel_position, 3, 3, 0, |
1430 "Move the mouse pointer to pixel position (X,Y) in FRAME.\n\ | 1431 doc: /* Move the mouse pointer to pixel position (X,Y) in FRAME. |
1431 Note, this is a no-op for an X frame that is not visible.\n\ | 1432 Note, this is a no-op for an X frame that is not visible. |
1432 If you have just created a frame, you must wait for it to become visible\n\ | 1433 If you have just created a frame, you must wait for it to become visible |
1433 before calling this function on it, like this.\n\ | 1434 before calling this function on it, like this. |
1434 (while (not (frame-visible-p frame)) (sleep-for .5))") | 1435 (while (not (frame-visible-p frame)) (sleep-for .5)) */) |
1435 (frame, x, y) | 1436 (frame, x, y) |
1436 Lisp_Object frame, x, y; | 1437 Lisp_Object frame, x, y; |
1437 { | 1438 { |
1438 CHECK_LIVE_FRAME (frame, 0); | 1439 CHECK_LIVE_FRAME (frame, 0); |
1439 CHECK_NUMBER (x, 2); | 1440 CHECK_NUMBER (x, 2); |
1459 | 1460 |
1460 static void make_frame_visible_1 P_ ((Lisp_Object)); | 1461 static void make_frame_visible_1 P_ ((Lisp_Object)); |
1461 | 1462 |
1462 DEFUN ("make-frame-visible", Fmake_frame_visible, Smake_frame_visible, | 1463 DEFUN ("make-frame-visible", Fmake_frame_visible, Smake_frame_visible, |
1463 0, 1, "", | 1464 0, 1, "", |
1464 "Make the frame FRAME visible (assuming it is an X window).\n\ | 1465 doc: /* Make the frame FRAME visible (assuming it is an X window). |
1465 If omitted, FRAME defaults to the currently selected frame.") | 1466 If omitted, FRAME defaults to the currently selected frame. */) |
1466 (frame) | 1467 (frame) |
1467 Lisp_Object frame; | 1468 Lisp_Object frame; |
1468 { | 1469 { |
1469 if (NILP (frame)) | 1470 if (NILP (frame)) |
1470 frame = selected_frame; | 1471 frame = selected_frame; |
1471 | 1472 |
1511 } | 1512 } |
1512 } | 1513 } |
1513 | 1514 |
1514 DEFUN ("make-frame-invisible", Fmake_frame_invisible, Smake_frame_invisible, | 1515 DEFUN ("make-frame-invisible", Fmake_frame_invisible, Smake_frame_invisible, |
1515 0, 2, "", | 1516 0, 2, "", |
1516 "Make the frame FRAME invisible (assuming it is an X window).\n\ | 1517 doc: /* Make the frame FRAME invisible (assuming it is an X window). |
1517 If omitted, FRAME defaults to the currently selected frame.\n\ | 1518 If omitted, FRAME defaults to the currently selected frame. |
1518 Normally you may not make FRAME invisible if all other frames are invisible,\n\ | 1519 Normally you may not make FRAME invisible if all other frames are invisible, |
1519 but if the second optional argument FORCE is non-nil, you may do so.") | 1520 but if the second optional argument FORCE is non-nil, you may do so. */) |
1520 (frame, force) | 1521 (frame, force) |
1521 Lisp_Object frame, force; | 1522 Lisp_Object frame, force; |
1522 { | 1523 { |
1523 if (NILP (frame)) | 1524 if (NILP (frame)) |
1524 frame = selected_frame; | 1525 frame = selected_frame; |
1555 return Qnil; | 1556 return Qnil; |
1556 } | 1557 } |
1557 | 1558 |
1558 DEFUN ("iconify-frame", Ficonify_frame, Siconify_frame, | 1559 DEFUN ("iconify-frame", Ficonify_frame, Siconify_frame, |
1559 0, 1, "", | 1560 0, 1, "", |
1560 "Make the frame FRAME into an icon.\n\ | 1561 doc: /* Make the frame FRAME into an icon. |
1561 If omitted, FRAME defaults to the currently selected frame.") | 1562 If omitted, FRAME defaults to the currently selected frame. */) |
1562 (frame) | 1563 (frame) |
1563 Lisp_Object frame; | 1564 Lisp_Object frame; |
1564 { | 1565 { |
1565 if (NILP (frame)) | 1566 if (NILP (frame)) |
1566 frame = selected_frame; | 1567 frame = selected_frame; |
1594 return Qnil; | 1595 return Qnil; |
1595 } | 1596 } |
1596 | 1597 |
1597 DEFUN ("frame-visible-p", Fframe_visible_p, Sframe_visible_p, | 1598 DEFUN ("frame-visible-p", Fframe_visible_p, Sframe_visible_p, |
1598 1, 1, 0, | 1599 1, 1, 0, |
1599 "Return t if FRAME is now \"visible\" (actually in use for display).\n\ | 1600 doc: /* Return t if FRAME is now \"visible\" (actually in use for display). |
1600 A frame that is not \"visible\" is not updated and, if it works through\n\ | 1601 A frame that is not \"visible\" is not updated and, if it works through |
1601 a window system, it may not show at all.\n\ | 1602 a window system, it may not show at all. |
1602 Return the symbol `icon' if frame is visible only as an icon.") | 1603 Return the symbol `icon' if frame is visible only as an icon. */) |
1603 (frame) | 1604 (frame) |
1604 Lisp_Object frame; | 1605 Lisp_Object frame; |
1605 { | 1606 { |
1606 CHECK_LIVE_FRAME (frame, 0); | 1607 CHECK_LIVE_FRAME (frame, 0); |
1607 | 1608 |
1608 FRAME_SAMPLE_VISIBILITY (XFRAME (frame)); | 1609 FRAME_SAMPLE_VISIBILITY (XFRAME (frame)); |
1614 return Qnil; | 1615 return Qnil; |
1615 } | 1616 } |
1616 | 1617 |
1617 DEFUN ("visible-frame-list", Fvisible_frame_list, Svisible_frame_list, | 1618 DEFUN ("visible-frame-list", Fvisible_frame_list, Svisible_frame_list, |
1618 0, 0, 0, | 1619 0, 0, 0, |
1619 "Return a list of all frames now \"visible\" (being updated).") | 1620 doc: /* Return a list of all frames now \"visible\" (being updated). */) |
1620 () | 1621 () |
1621 { | 1622 { |
1622 Lisp_Object tail, frame; | 1623 Lisp_Object tail, frame; |
1623 struct frame *f; | 1624 struct frame *f; |
1624 Lisp_Object value; | 1625 Lisp_Object value; |
1636 return value; | 1637 return value; |
1637 } | 1638 } |
1638 | 1639 |
1639 | 1640 |
1640 DEFUN ("raise-frame", Fraise_frame, Sraise_frame, 0, 1, "", | 1641 DEFUN ("raise-frame", Fraise_frame, Sraise_frame, 0, 1, "", |
1641 "Bring FRAME to the front, so it occludes any frames it overlaps.\n\ | 1642 doc: /* Bring FRAME to the front, so it occludes any frames it overlaps. |
1642 If FRAME is invisible, make it visible.\n\ | 1643 If FRAME is invisible, make it visible. |
1643 If you don't specify a frame, the selected frame is used.\n\ | 1644 If you don't specify a frame, the selected frame is used. |
1644 If Emacs is displaying on an ordinary terminal or some other device which\n\ | 1645 If Emacs is displaying on an ordinary terminal or some other device which |
1645 doesn't support multiple overlapping frames, this function does nothing.") | 1646 doesn't support multiple overlapping frames, this function does nothing. */) |
1646 (frame) | 1647 (frame) |
1647 Lisp_Object frame; | 1648 Lisp_Object frame; |
1648 { | 1649 { |
1649 if (NILP (frame)) | 1650 if (NILP (frame)) |
1650 frame = selected_frame; | 1651 frame = selected_frame; |
1651 | 1652 |
1660 return Qnil; | 1661 return Qnil; |
1661 } | 1662 } |
1662 | 1663 |
1663 /* Should we have a corresponding function called Flower_Power? */ | 1664 /* Should we have a corresponding function called Flower_Power? */ |
1664 DEFUN ("lower-frame", Flower_frame, Slower_frame, 0, 1, "", | 1665 DEFUN ("lower-frame", Flower_frame, Slower_frame, 0, 1, "", |
1665 "Send FRAME to the back, so it is occluded by any frames that overlap it.\n\ | 1666 doc: /* Send FRAME to the back, so it is occluded by any frames that overlap it. |
1666 If you don't specify a frame, the selected frame is used.\n\ | 1667 If you don't specify a frame, the selected frame is used. |
1667 If Emacs is displaying on an ordinary terminal or some other device which\n\ | 1668 If Emacs is displaying on an ordinary terminal or some other device which |
1668 doesn't support multiple overlapping frames, this function does nothing.") | 1669 doesn't support multiple overlapping frames, this function does nothing. */) |
1669 (frame) | 1670 (frame) |
1670 Lisp_Object frame; | 1671 Lisp_Object frame; |
1671 { | 1672 { |
1672 if (NILP (frame)) | 1673 if (NILP (frame)) |
1673 frame = selected_frame; | 1674 frame = selected_frame; |
1674 | 1675 |
1681 } | 1682 } |
1682 | 1683 |
1683 | 1684 |
1684 DEFUN ("redirect-frame-focus", Fredirect_frame_focus, Sredirect_frame_focus, | 1685 DEFUN ("redirect-frame-focus", Fredirect_frame_focus, Sredirect_frame_focus, |
1685 1, 2, 0, | 1686 1, 2, 0, |
1686 "Arrange for keystrokes typed at FRAME to be sent to FOCUS-FRAME.\n\ | 1687 doc: /* Arrange for keystrokes typed at FRAME to be sent to FOCUS-FRAME. |
1687 In other words, switch-frame events caused by events in FRAME will\n\ | 1688 In other words, switch-frame events caused by events in FRAME will |
1688 request a switch to FOCUS-FRAME, and `last-event-frame' will be\n\ | 1689 request a switch to FOCUS-FRAME, and `last-event-frame' will be |
1689 FOCUS-FRAME after reading an event typed at FRAME.\n\ | 1690 FOCUS-FRAME after reading an event typed at FRAME. |
1690 \n\ | 1691 |
1691 If FOCUS-FRAME is omitted or nil, any existing redirection is\n\ | 1692 If FOCUS-FRAME is omitted or nil, any existing redirection is |
1692 cancelled, and the frame again receives its own keystrokes.\n\ | 1693 cancelled, and the frame again receives its own keystrokes. |
1693 \n\ | 1694 |
1694 Focus redirection is useful for temporarily redirecting keystrokes to\n\ | 1695 Focus redirection is useful for temporarily redirecting keystrokes to |
1695 a surrogate minibuffer frame when a frame doesn't have its own\n\ | 1696 a surrogate minibuffer frame when a frame doesn't have its own |
1696 minibuffer window.\n\ | 1697 minibuffer window. |
1697 \n\ | 1698 |
1698 A frame's focus redirection can be changed by select-frame. If frame\n\ | 1699 A frame's focus redirection can be changed by select-frame. If frame |
1699 FOO is selected, and then a different frame BAR is selected, any\n\ | 1700 FOO is selected, and then a different frame BAR is selected, any |
1700 frames redirecting their focus to FOO are shifted to redirect their\n\ | 1701 frames redirecting their focus to FOO are shifted to redirect their |
1701 focus to BAR. This allows focus redirection to work properly when the\n\ | 1702 focus to BAR. This allows focus redirection to work properly when the |
1702 user switches from one frame to another using `select-window'.\n\ | 1703 user switches from one frame to another using `select-window'. |
1703 \n\ | 1704 |
1704 This means that a frame whose focus is redirected to itself is treated\n\ | 1705 This means that a frame whose focus is redirected to itself is treated |
1705 differently from a frame whose focus is redirected to nil; the former\n\ | 1706 differently from a frame whose focus is redirected to nil; the former |
1706 is affected by select-frame, while the latter is not.\n\ | 1707 is affected by select-frame, while the latter is not. |
1707 \n\ | 1708 |
1708 The redirection lasts until `redirect-frame-focus' is called to change it.") | 1709 The redirection lasts until `redirect-frame-focus' is called to change it. */) |
1709 (frame, focus_frame) | 1710 (frame, focus_frame) |
1710 Lisp_Object frame, focus_frame; | 1711 Lisp_Object frame, focus_frame; |
1711 { | 1712 { |
1712 /* Note that we don't check for a live frame here. It's reasonable | 1713 /* Note that we don't check for a live frame here. It's reasonable |
1713 to redirect the focus of a frame you're about to delete, if you | 1714 to redirect the focus of a frame you're about to delete, if you |
1714 know what other frame should receive those keystrokes. */ | 1715 know what other frame should receive those keystrokes. */ |
1715 CHECK_FRAME (frame, 0); | 1716 CHECK_FRAME (frame, 0); |
1725 return Qnil; | 1726 return Qnil; |
1726 } | 1727 } |
1727 | 1728 |
1728 | 1729 |
1729 DEFUN ("frame-focus", Fframe_focus, Sframe_focus, 1, 1, 0, | 1730 DEFUN ("frame-focus", Fframe_focus, Sframe_focus, 1, 1, 0, |
1730 "Return the frame to which FRAME's keystrokes are currently being sent.\n\ | 1731 doc: /* Return the frame to which FRAME's keystrokes are currently being sent. |
1731 This returns nil if FRAME's focus is not redirected.\n\ | 1732 This returns nil if FRAME's focus is not redirected. |
1732 See `redirect-frame-focus'.") | 1733 See `redirect-frame-focus'. */) |
1733 (frame) | 1734 (frame) |
1734 Lisp_Object frame; | 1735 Lisp_Object frame; |
1735 { | 1736 { |
1736 CHECK_LIVE_FRAME (frame, 0); | 1737 CHECK_LIVE_FRAME (frame, 0); |
1737 | 1738 |
1738 return FRAME_FOCUS_FRAME (XFRAME (frame)); | 1739 return FRAME_FOCUS_FRAME (XFRAME (frame)); |
1739 } | 1740 } |
1958 f->minibuffer_window = val; | 1959 f->minibuffer_window = val; |
1959 } | 1960 } |
1960 } | 1961 } |
1961 | 1962 |
1962 DEFUN ("frame-parameters", Fframe_parameters, Sframe_parameters, 0, 1, 0, | 1963 DEFUN ("frame-parameters", Fframe_parameters, Sframe_parameters, 0, 1, 0, |
1963 "Return the parameters-alist of frame FRAME.\n\ | 1964 doc: /* Return the parameters-alist of frame FRAME. |
1964 It is a list of elements of the form (PARM . VALUE), where PARM is a symbol.\n\ | 1965 It is a list of elements of the form (PARM . VALUE), where PARM is a symbol. |
1965 The meaningful PARMs depend on the kind of frame.\n\ | 1966 The meaningful PARMs depend on the kind of frame. |
1966 If FRAME is omitted, return information on the currently selected frame.") | 1967 If FRAME is omitted, return information on the currently selected frame. */) |
1967 (frame) | 1968 (frame) |
1968 Lisp_Object frame; | 1969 Lisp_Object frame; |
1969 { | 1970 { |
1970 Lisp_Object alist; | 1971 Lisp_Object alist; |
1971 FRAME_PTR f; | 1972 FRAME_PTR f; |
1972 int height, width; | 1973 int height, width; |
2057 return alist; | 2058 return alist; |
2058 } | 2059 } |
2059 | 2060 |
2060 | 2061 |
2061 DEFUN ("frame-parameter", Fframe_parameter, Sframe_parameter, 2, 2, 0, | 2062 DEFUN ("frame-parameter", Fframe_parameter, Sframe_parameter, 2, 2, 0, |
2062 "Return FRAME's value for parameter PARAMETER.\n\ | 2063 doc: /* Return FRAME's value for parameter PARAMETER. |
2063 If FRAME is nil, describe the currently selected frame.") | 2064 If FRAME is nil, describe the currently selected frame. */) |
2064 (frame, parameter) | 2065 (frame, parameter) |
2065 Lisp_Object frame, parameter; | 2066 Lisp_Object frame, parameter; |
2066 { | 2067 { |
2067 struct frame *f; | 2068 struct frame *f; |
2068 Lisp_Object value; | 2069 Lisp_Object value; |
2069 | 2070 |
2070 if (NILP (frame)) | 2071 if (NILP (frame)) |
2132 } | 2133 } |
2133 | 2134 |
2134 | 2135 |
2135 DEFUN ("modify-frame-parameters", Fmodify_frame_parameters, | 2136 DEFUN ("modify-frame-parameters", Fmodify_frame_parameters, |
2136 Smodify_frame_parameters, 2, 2, 0, | 2137 Smodify_frame_parameters, 2, 2, 0, |
2137 "Modify the parameters of frame FRAME according to ALIST.\n\ | 2138 doc: /* Modify the parameters of frame FRAME according to ALIST. |
2138 If FRAME is nil, it defaults to the selected frame.\n\ | 2139 If FRAME is nil, it defaults to the selected frame. |
2139 ALIST is an alist of parameters to change and their new values.\n\ | 2140 ALIST is an alist of parameters to change and their new values. |
2140 Each element of ALIST has the form (PARM . VALUE), where PARM is a symbol.\n\ | 2141 Each element of ALIST has the form (PARM . VALUE), where PARM is a symbol. |
2141 The meaningful PARMs depend on the kind of frame.\n\ | 2142 The meaningful PARMs depend on the kind of frame. |
2142 Undefined PARMs are ignored, but stored in the frame's parameter list\n\ | 2143 Undefined PARMs are ignored, but stored in the frame's parameter list |
2143 so that `frame-parameters' will return them.\n\ | 2144 so that `frame-parameters' will return them. |
2144 \n\ | 2145 |
2145 The value of frame parameter FOO can also be accessed\n\ | 2146 The value of frame parameter FOO can also be accessed |
2146 as a frame-local binding for the variable FOO, if you have\n\ | 2147 as a frame-local binding for the variable FOO, if you have |
2147 enabled such bindings for that variable with `make-variable-frame-local'.") | 2148 enabled such bindings for that variable with `make-variable-frame-local'. */) |
2148 (frame, alist) | 2149 (frame, alist) |
2149 Lisp_Object frame, alist; | 2150 Lisp_Object frame, alist; |
2150 { | 2151 { |
2151 FRAME_PTR f; | 2152 FRAME_PTR f; |
2152 register Lisp_Object tail, prop, val; | 2153 register Lisp_Object tail, prop, val; |
2153 int count = BINDING_STACK_SIZE (); | 2154 int count = BINDING_STACK_SIZE (); |
2209 | 2210 |
2210 return unbind_to (count, Qnil); | 2211 return unbind_to (count, Qnil); |
2211 } | 2212 } |
2212 | 2213 |
2213 DEFUN ("frame-char-height", Fframe_char_height, Sframe_char_height, | 2214 DEFUN ("frame-char-height", Fframe_char_height, Sframe_char_height, |
2214 0, 1, 0, | 2215 0, 1, 0, |
2215 "Height in pixels of a line in the font in frame FRAME.\n\ | 2216 doc: /* Height in pixels of a line in the font in frame FRAME. |
2216 If FRAME is omitted, the selected frame is used.\n\ | 2217 If FRAME is omitted, the selected frame is used. |
2217 For a terminal frame, the value is always 1.") | 2218 For a terminal frame, the value is always 1. */) |
2218 (frame) | 2219 (frame) |
2219 Lisp_Object frame; | 2220 Lisp_Object frame; |
2220 { | 2221 { |
2221 struct frame *f; | 2222 struct frame *f; |
2222 | 2223 |
2233 return make_number (1); | 2234 return make_number (1); |
2234 } | 2235 } |
2235 | 2236 |
2236 | 2237 |
2237 DEFUN ("frame-char-width", Fframe_char_width, Sframe_char_width, | 2238 DEFUN ("frame-char-width", Fframe_char_width, Sframe_char_width, |
2238 0, 1, 0, | 2239 0, 1, 0, |
2239 "Width in pixels of characters in the font in frame FRAME.\n\ | 2240 doc: /* Width in pixels of characters in the font in frame FRAME. |
2240 If FRAME is omitted, the selected frame is used.\n\ | 2241 If FRAME is omitted, the selected frame is used. |
2241 The width is the same for all characters, because\n\ | 2242 The width is the same for all characters, because |
2242 currently Emacs supports only fixed-width fonts.\n\ | 2243 currently Emacs supports only fixed-width fonts. |
2243 For a terminal screen, the value is always 1.") | 2244 For a terminal screen, the value is always 1. */) |
2244 (frame) | 2245 (frame) |
2245 Lisp_Object frame; | 2246 Lisp_Object frame; |
2246 { | 2247 { |
2247 struct frame *f; | 2248 struct frame *f; |
2248 | 2249 |
2249 if (NILP (frame)) | 2250 if (NILP (frame)) |
2259 return make_number (1); | 2260 return make_number (1); |
2260 } | 2261 } |
2261 | 2262 |
2262 DEFUN ("frame-pixel-height", Fframe_pixel_height, | 2263 DEFUN ("frame-pixel-height", Fframe_pixel_height, |
2263 Sframe_pixel_height, 0, 1, 0, | 2264 Sframe_pixel_height, 0, 1, 0, |
2264 "Return a FRAME's height in pixels.\n\ | 2265 doc: /* Return a FRAME's height in pixels. |
2265 This counts only the height available for text lines,\n\ | 2266 This counts only the height available for text lines, |
2266 not menu bars on window-system Emacs frames.\n\ | 2267 not menu bars on window-system Emacs frames. |
2267 For a terminal frame, the result really gives the height in characters.\n\ | 2268 For a terminal frame, the result really gives the height in characters. |
2268 If FRAME is omitted, the selected frame is used.") | 2269 If FRAME is omitted, the selected frame is used. */) |
2269 (frame) | 2270 (frame) |
2270 Lisp_Object frame; | 2271 Lisp_Object frame; |
2271 { | 2272 { |
2272 struct frame *f; | 2273 struct frame *f; |
2273 | 2274 |
2274 if (NILP (frame)) | 2275 if (NILP (frame)) |
2284 return make_number (FRAME_HEIGHT (f)); | 2285 return make_number (FRAME_HEIGHT (f)); |
2285 } | 2286 } |
2286 | 2287 |
2287 DEFUN ("frame-pixel-width", Fframe_pixel_width, | 2288 DEFUN ("frame-pixel-width", Fframe_pixel_width, |
2288 Sframe_pixel_width, 0, 1, 0, | 2289 Sframe_pixel_width, 0, 1, 0, |
2289 "Return FRAME's width in pixels.\n\ | 2290 doc: /* Return FRAME's width in pixels. |
2290 For a terminal frame, the result really gives the width in characters.\n\ | 2291 For a terminal frame, the result really gives the width in characters. |
2291 If FRAME is omitted, the selected frame is used.") | 2292 If FRAME is omitted, the selected frame is used. */) |
2292 (frame) | 2293 (frame) |
2293 Lisp_Object frame; | 2294 Lisp_Object frame; |
2294 { | 2295 { |
2295 struct frame *f; | 2296 struct frame *f; |
2296 | 2297 |
2297 if (NILP (frame)) | 2298 if (NILP (frame)) |
2306 #endif | 2307 #endif |
2307 return make_number (FRAME_WIDTH (f)); | 2308 return make_number (FRAME_WIDTH (f)); |
2308 } | 2309 } |
2309 | 2310 |
2310 DEFUN ("set-frame-height", Fset_frame_height, Sset_frame_height, 2, 3, 0, | 2311 DEFUN ("set-frame-height", Fset_frame_height, Sset_frame_height, 2, 3, 0, |
2311 "Specify that the frame FRAME has LINES lines.\n\ | 2312 doc: /* Specify that the frame FRAME has LINES lines. |
2312 Optional third arg non-nil means that redisplay should use LINES lines\n\ | 2313 Optional third arg non-nil means that redisplay should use LINES lines |
2313 but that the idea of the actual height of the frame should not be changed.") | 2314 but that the idea of the actual height of the frame should not be changed. */) |
2314 (frame, lines, pretend) | 2315 (frame, lines, pretend) |
2315 Lisp_Object frame, lines, pretend; | 2316 Lisp_Object frame, lines, pretend; |
2316 { | 2317 { |
2317 register struct frame *f; | 2318 register struct frame *f; |
2318 | 2319 |
2319 CHECK_NUMBER (lines, 0); | 2320 CHECK_NUMBER (lines, 0); |
2335 change_frame_size (f, XINT (lines), 0, !NILP (pretend), 0, 0); | 2336 change_frame_size (f, XINT (lines), 0, !NILP (pretend), 0, 0); |
2336 return Qnil; | 2337 return Qnil; |
2337 } | 2338 } |
2338 | 2339 |
2339 DEFUN ("set-frame-width", Fset_frame_width, Sset_frame_width, 2, 3, 0, | 2340 DEFUN ("set-frame-width", Fset_frame_width, Sset_frame_width, 2, 3, 0, |
2340 "Specify that the frame FRAME has COLS columns.\n\ | 2341 doc: /* Specify that the frame FRAME has COLS columns. |
2341 Optional third arg non-nil means that redisplay should use COLS columns\n\ | 2342 Optional third arg non-nil means that redisplay should use COLS columns |
2342 but that the idea of the actual width of the frame should not be changed.") | 2343 but that the idea of the actual width of the frame should not be changed. */) |
2343 (frame, cols, pretend) | 2344 (frame, cols, pretend) |
2344 Lisp_Object frame, cols, pretend; | 2345 Lisp_Object frame, cols, pretend; |
2345 { | 2346 { |
2346 register struct frame *f; | 2347 register struct frame *f; |
2347 CHECK_NUMBER (cols, 0); | 2348 CHECK_NUMBER (cols, 0); |
2348 if (NILP (frame)) | 2349 if (NILP (frame)) |
2363 change_frame_size (f, 0, XINT (cols), !NILP (pretend), 0, 0); | 2364 change_frame_size (f, 0, XINT (cols), !NILP (pretend), 0, 0); |
2364 return Qnil; | 2365 return Qnil; |
2365 } | 2366 } |
2366 | 2367 |
2367 DEFUN ("set-frame-size", Fset_frame_size, Sset_frame_size, 3, 3, 0, | 2368 DEFUN ("set-frame-size", Fset_frame_size, Sset_frame_size, 3, 3, 0, |
2368 "Sets size of FRAME to COLS by ROWS, measured in characters.") | 2369 doc: /* Sets size of FRAME to COLS by ROWS, measured in characters. */) |
2369 (frame, cols, rows) | 2370 (frame, cols, rows) |
2370 Lisp_Object frame, cols, rows; | 2371 Lisp_Object frame, cols, rows; |
2371 { | 2372 { |
2372 register struct frame *f; | 2373 register struct frame *f; |
2373 | 2374 |
2374 CHECK_LIVE_FRAME (frame, 0); | 2375 CHECK_LIVE_FRAME (frame, 0); |
2392 return Qnil; | 2393 return Qnil; |
2393 } | 2394 } |
2394 | 2395 |
2395 DEFUN ("set-frame-position", Fset_frame_position, | 2396 DEFUN ("set-frame-position", Fset_frame_position, |
2396 Sset_frame_position, 3, 3, 0, | 2397 Sset_frame_position, 3, 3, 0, |
2397 "Sets position of FRAME in pixels to XOFFSET by YOFFSET.\n\ | 2398 doc: /* Sets position of FRAME in pixels to XOFFSET by YOFFSET. |
2398 This is actually the position of the upper left corner of the frame.\n\ | 2399 This is actually the position of the upper left corner of the frame. |
2399 Negative values for XOFFSET or YOFFSET are interpreted relative to\n\ | 2400 Negative values for XOFFSET or YOFFSET are interpreted relative to |
2400 the rightmost or bottommost possible position (that stays within the screen).") | 2401 the rightmost or bottommost possible position (that stays within the screen). */) |
2401 (frame, xoffset, yoffset) | 2402 (frame, xoffset, yoffset) |
2402 Lisp_Object frame, xoffset, yoffset; | 2403 Lisp_Object frame, xoffset, yoffset; |
2403 { | 2404 { |
2404 register struct frame *f; | 2405 register struct frame *f; |
2405 | 2406 |
2406 CHECK_LIVE_FRAME (frame, 0); | 2407 CHECK_LIVE_FRAME (frame, 0); |
2465 staticpro (&Qdisplay_type); | 2466 staticpro (&Qdisplay_type); |
2466 Qbackground_mode = intern ("background-mode"); | 2467 Qbackground_mode = intern ("background-mode"); |
2467 staticpro (&Qbackground_mode); | 2468 staticpro (&Qbackground_mode); |
2468 | 2469 |
2469 DEFVAR_LISP ("default-frame-alist", &Vdefault_frame_alist, | 2470 DEFVAR_LISP ("default-frame-alist", &Vdefault_frame_alist, |
2470 "Alist of default values for frame creation.\n\ | 2471 doc: /* Alist of default values for frame creation. |
2471 These may be set in your init file, like this:\n\ | 2472 These may be set in your init file, like this: |
2472 (setq default-frame-alist '((width . 80) (height . 55) (menu-bar-lines . 1))\n\ | 2473 (setq default-frame-alist '((width . 80) (height . 55) (menu-bar-lines . 1)) |
2473 These override values given in window system configuration data,\n\ | 2474 These override values given in window system configuration data, |
2474 including X Windows' defaults database.\n\ | 2475 including X Windows' defaults database. |
2475 For values specific to the first Emacs frame, see `initial-frame-alist'.\n\ | 2476 For values specific to the first Emacs frame, see `initial-frame-alist'. |
2476 For values specific to the separate minibuffer frame, see\n\ | 2477 For values specific to the separate minibuffer frame, see |
2477 `minibuffer-frame-alist'.\n\ | 2478 `minibuffer-frame-alist'. |
2478 The `menu-bar-lines' element of the list controls whether new frames\n\ | 2479 The `menu-bar-lines' element of the list controls whether new frames |
2479 have menu bars; `menu-bar-mode' works by altering this element."); | 2480 have menu bars; `menu-bar-mode' works by altering this element. */); |
2480 Vdefault_frame_alist = Qnil; | 2481 Vdefault_frame_alist = Qnil; |
2481 | 2482 |
2482 Qinhibit_default_face_x_resources | 2483 Qinhibit_default_face_x_resources |
2483 = intern ("inhibit-default-face-x-resources"); | 2484 = intern ("inhibit-default-face-x-resources"); |
2484 staticpro (&Qinhibit_default_face_x_resources); | 2485 staticpro (&Qinhibit_default_face_x_resources); |
2485 | 2486 |
2486 DEFVAR_LISP ("terminal-frame", &Vterminal_frame, | 2487 DEFVAR_LISP ("terminal-frame", &Vterminal_frame, |
2487 "The initial frame-object, which represents Emacs's stdout."); | 2488 doc: /* The initial frame-object, which represents Emacs's stdout. */); |
2488 | 2489 |
2489 DEFVAR_LISP ("emacs-iconified", &Vemacs_iconified, | 2490 DEFVAR_LISP ("emacs-iconified", &Vemacs_iconified, |
2490 "Non-nil if all of emacs is iconified and frame updates are not needed."); | 2491 doc: /* Non-nil if all of emacs is iconified and frame updates are not needed. */); |
2491 Vemacs_iconified = Qnil; | 2492 Vemacs_iconified = Qnil; |
2492 | 2493 |
2493 DEFVAR_LISP ("mouse-position-function", &Vmouse_position_function, | 2494 DEFVAR_LISP ("mouse-position-function", &Vmouse_position_function, |
2494 "If non-nil, function to transform normal value of `mouse-position'.\n\ | 2495 doc: /* If non-nil, function to transform normal value of `mouse-position'. |
2495 `mouse-position' calls this function, passing its usual return value as\n\ | 2496 `mouse-position' calls this function, passing its usual return value as |
2496 argument, and returns whatever this function returns.\n\ | 2497 argument, and returns whatever this function returns. |
2497 This abnormal hook exists for the benefit of packages like `xt-mouse.el'\n\ | 2498 This abnormal hook exists for the benefit of packages like `xt-mouse.el' |
2498 which need to do mouse handling at the Lisp level."); | 2499 which need to do mouse handling at the Lisp level. */); |
2499 Vmouse_position_function = Qnil; | 2500 Vmouse_position_function = Qnil; |
2500 | 2501 |
2501 DEFVAR_KBOARD ("default-minibuffer-frame", Vdefault_minibuffer_frame, | 2502 DEFVAR_KBOARD ("default-minibuffer-frame", Vdefault_minibuffer_frame, |
2502 "Minibufferless frames use this frame's minibuffer.\n\ | 2503 doc: /* Minibufferless frames use this frame's minibuffer. |
2503 \n\ | 2504 |
2504 Emacs cannot create minibufferless frames unless this is set to an\n\ | 2505 Emacs cannot create minibufferless frames unless this is set to an |
2505 appropriate surrogate.\n\ | 2506 appropriate surrogate. |
2506 \n\ | 2507 |
2507 Emacs consults this variable only when creating minibufferless\n\ | 2508 Emacs consults this variable only when creating minibufferless |
2508 frames; once the frame is created, it sticks with its assigned\n\ | 2509 frames; once the frame is created, it sticks with its assigned |
2509 minibuffer, no matter what this variable is set to. This means that\n\ | 2510 minibuffer, no matter what this variable is set to. This means that |
2510 this variable doesn't necessarily say anything meaningful about the\n\ | 2511 this variable doesn't necessarily say anything meaningful about the |
2511 current set of frames, or where the minibuffer is currently being\n\ | 2512 current set of frames, or where the minibuffer is currently being |
2512 displayed.\n\ | 2513 displayed. |
2513 \n\ | 2514 |
2514 This variable is local to the current terminal and cannot be buffer-local."); | 2515 This variable is local to the current terminal and cannot be buffer-local. */); |
2515 | 2516 |
2516 staticpro (&Vframe_list); | 2517 staticpro (&Vframe_list); |
2517 | 2518 |
2518 defsubr (&Sactive_minibuffer_window); | 2519 defsubr (&Sactive_minibuffer_window); |
2519 defsubr (&Sframep); | 2520 defsubr (&Sframep); |