Mercurial > emacs
comparison src/xfns.c @ 39905:542a86892257
Put doc strings in comments.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Sun, 14 Oct 2001 09:40:07 +0000 |
parents | da336e9d1ab5 |
children | c62141d21872 |
comparison
equal
deleted
inserted
replaced
39904:1a3d4895f3cf | 39905:542a86892257 |
---|---|
16 | 16 |
17 You should have received a copy of the GNU General Public License | 17 You should have received a copy of the GNU General Public License |
18 along with GNU Emacs; see the file COPYING. If not, write to | 18 along with GNU Emacs; see the file COPYING. If not, write to |
19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | 19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
20 Boston, MA 02111-1307, USA. */ | 20 Boston, MA 02111-1307, USA. */ |
21 | |
22 #define DOC_STRINGS_IN_COMMENTS | |
21 | 23 |
22 #include <config.h> | 24 #include <config.h> |
23 #include <signal.h> | 25 #include <signal.h> |
24 #include <stdio.h> | 26 #include <stdio.h> |
25 #include <math.h> | 27 #include <math.h> |
2637 | 2639 |
2638 | 2640 |
2639 extern char *x_get_string_resource (); | 2641 extern char *x_get_string_resource (); |
2640 | 2642 |
2641 DEFUN ("x-get-resource", Fx_get_resource, Sx_get_resource, 2, 4, 0, | 2643 DEFUN ("x-get-resource", Fx_get_resource, Sx_get_resource, 2, 4, 0, |
2642 "Return the value of ATTRIBUTE, of class CLASS, from the X defaults database.\n\ | 2644 /* Return the value of ATTRIBUTE, of class CLASS, from the X defaults database. |
2643 This uses `INSTANCE.ATTRIBUTE' as the key and `Emacs.CLASS' as the\n\ | 2645 This uses `INSTANCE.ATTRIBUTE' as the key and `Emacs.CLASS' as the |
2644 class, where INSTANCE is the name under which Emacs was invoked, or\n\ | 2646 class, where INSTANCE is the name under which Emacs was invoked, or |
2645 the name specified by the `-name' or `-rn' command-line arguments.\n\ | 2647 the name specified by the `-name' or `-rn' command-line arguments. |
2646 \n\ | 2648 |
2647 The optional arguments COMPONENT and SUBCLASS add to the key and the\n\ | 2649 The optional arguments COMPONENT and SUBCLASS add to the key and the |
2648 class, respectively. You must specify both of them or neither.\n\ | 2650 class, respectively. You must specify both of them or neither. |
2649 If you specify them, the key is `INSTANCE.COMPONENT.ATTRIBUTE'\n\ | 2651 If you specify them, the key is `INSTANCE.COMPONENT.ATTRIBUTE' |
2650 and the class is `Emacs.CLASS.SUBCLASS'.") | 2652 and the class is `Emacs.CLASS.SUBCLASS'. */ |
2651 (attribute, class, component, subclass) | 2653 (attribute, class, component, subclass)) |
2652 Lisp_Object attribute, class, component, subclass; | 2654 Lisp_Object attribute, class, component, subclass; |
2653 { | 2655 { |
2654 register char *value; | 2656 register char *value; |
2655 char *name_key; | 2657 char *name_key; |
2656 char *class_key; | 2658 char *class_key; |
2995 } | 2997 } |
2996 | 2998 |
2997 | 2999 |
2998 | 3000 |
2999 DEFUN ("x-parse-geometry", Fx_parse_geometry, Sx_parse_geometry, 1, 1, 0, | 3001 DEFUN ("x-parse-geometry", Fx_parse_geometry, Sx_parse_geometry, 1, 1, 0, |
3000 "Parse an X-style geometry string STRING.\n\ | 3002 /* Parse an X-style geometry string STRING. |
3001 Returns an alist of the form ((top . TOP), (left . LEFT) ... ).\n\ | 3003 Returns an alist of the form ((top . TOP), (left . LEFT) ... ). |
3002 The properties returned may include `top', `left', `height', and `width'.\n\ | 3004 The properties returned may include `top', `left', `height', and `width'. |
3003 The value of `left' or `top' may be an integer,\n\ | 3005 The value of `left' or `top' may be an integer, |
3004 or a list (+ N) meaning N pixels relative to top/left corner,\n\ | 3006 or a list (+ N) meaning N pixels relative to top/left corner, |
3005 or a list (- N) meaning -N pixels relative to bottom/right corner.") | 3007 or a list (- N) meaning -N pixels relative to bottom/right corner. */ |
3006 (string) | 3008 (string)) |
3007 Lisp_Object string; | 3009 Lisp_Object string; |
3008 { | 3010 { |
3009 int geometry, x, y; | 3011 int geometry, x, y; |
3010 unsigned int width, height; | 3012 unsigned int width, height; |
3011 Lisp_Object result; | 3013 Lisp_Object result; |
4088 } | 4090 } |
4089 | 4091 |
4090 | 4092 |
4091 DEFUN ("x-create-frame", Fx_create_frame, Sx_create_frame, | 4093 DEFUN ("x-create-frame", Fx_create_frame, Sx_create_frame, |
4092 1, 1, 0, | 4094 1, 1, 0, |
4093 "Make a new X window, which is called a \"frame\" in Emacs terms.\n\ | 4095 /* Make a new X window, which is called a "frame" in Emacs terms. |
4094 Returns an Emacs frame object.\n\ | 4096 Returns an Emacs frame object. |
4095 ALIST is an alist of frame parameters.\n\ | 4097 ALIST is an alist of frame parameters. |
4096 If the parameters specify that the frame should not have a minibuffer,\n\ | 4098 If the parameters specify that the frame should not have a minibuffer, |
4097 and do not specify a specific minibuffer window to use,\n\ | 4099 and do not specify a specific minibuffer window to use, |
4098 then `default-minibuffer-frame' must be a frame whose minibuffer can\n\ | 4100 then `default-minibuffer-frame' must be a frame whose minibuffer can |
4099 be shared by the new frame.\n\ | 4101 be shared by the new frame. |
4100 \n\ | 4102 |
4101 This function is an internal primitive--use `make-frame' instead.") | 4103 This function is an internal primitive--use `make-frame' instead. */ |
4102 (parms) | 4104 (parms)) |
4103 Lisp_Object parms; | 4105 Lisp_Object parms; |
4104 { | 4106 { |
4105 struct frame *f; | 4107 struct frame *f; |
4106 Lisp_Object frame, tem; | 4108 Lisp_Object frame, tem; |
4107 Lisp_Object name; | 4109 Lisp_Object name; |
4551 that applications don't interfere with the window manager's focus | 4553 that applications don't interfere with the window manager's focus |
4552 policy. But I think it's okay to use when it's clearly done | 4554 policy. But I think it's okay to use when it's clearly done |
4553 following a user-command. */ | 4555 following a user-command. */ |
4554 | 4556 |
4555 DEFUN ("x-focus-frame", Fx_focus_frame, Sx_focus_frame, 1, 1, 0, | 4557 DEFUN ("x-focus-frame", Fx_focus_frame, Sx_focus_frame, 1, 1, 0, |
4556 "Set the input focus to FRAME.\n\ | 4558 /* Set the input focus to FRAME. |
4557 FRAME nil means use the selected frame.") | 4559 FRAME nil means use the selected frame. */ |
4558 (frame) | 4560 (frame)) |
4559 Lisp_Object frame; | 4561 Lisp_Object frame; |
4560 { | 4562 { |
4561 struct frame *f = check_x_frame (frame); | 4563 struct frame *f = check_x_frame (frame); |
4562 Display *dpy = FRAME_X_DISPLAY (f); | 4564 Display *dpy = FRAME_X_DISPLAY (f); |
4563 int count; | 4565 int count; |
4572 return Qnil; | 4574 return Qnil; |
4573 } | 4575 } |
4574 | 4576 |
4575 | 4577 |
4576 DEFUN ("xw-color-defined-p", Fxw_color_defined_p, Sxw_color_defined_p, 1, 2, 0, | 4578 DEFUN ("xw-color-defined-p", Fxw_color_defined_p, Sxw_color_defined_p, 1, 2, 0, |
4577 "Internal function called by `color-defined-p', which see.") | 4579 /* Internal function called by `color-defined-p', which see. */ |
4578 (color, frame) | 4580 (color, frame)) |
4579 Lisp_Object color, frame; | 4581 Lisp_Object color, frame; |
4580 { | 4582 { |
4581 XColor foo; | 4583 XColor foo; |
4582 FRAME_PTR f = check_x_frame (frame); | 4584 FRAME_PTR f = check_x_frame (frame); |
4583 | 4585 |
4588 else | 4590 else |
4589 return Qnil; | 4591 return Qnil; |
4590 } | 4592 } |
4591 | 4593 |
4592 DEFUN ("xw-color-values", Fxw_color_values, Sxw_color_values, 1, 2, 0, | 4594 DEFUN ("xw-color-values", Fxw_color_values, Sxw_color_values, 1, 2, 0, |
4593 "Internal function called by `color-values', which see.") | 4595 /* Internal function called by `color-values', which see. */ |
4594 (color, frame) | 4596 (color, frame)) |
4595 Lisp_Object color, frame; | 4597 Lisp_Object color, frame; |
4596 { | 4598 { |
4597 XColor foo; | 4599 XColor foo; |
4598 FRAME_PTR f = check_x_frame (frame); | 4600 FRAME_PTR f = check_x_frame (frame); |
4599 | 4601 |
4611 else | 4613 else |
4612 return Qnil; | 4614 return Qnil; |
4613 } | 4615 } |
4614 | 4616 |
4615 DEFUN ("xw-display-color-p", Fxw_display_color_p, Sxw_display_color_p, 0, 1, 0, | 4617 DEFUN ("xw-display-color-p", Fxw_display_color_p, Sxw_display_color_p, 0, 1, 0, |
4616 "Internal function called by `display-color-p', which see.") | 4618 /* Internal function called by `display-color-p', which see. */ |
4617 (display) | 4619 (display)) |
4618 Lisp_Object display; | 4620 Lisp_Object display; |
4619 { | 4621 { |
4620 struct x_display_info *dpyinfo = check_x_display_info (display); | 4622 struct x_display_info *dpyinfo = check_x_display_info (display); |
4621 | 4623 |
4622 if (dpyinfo->n_planes <= 2) | 4624 if (dpyinfo->n_planes <= 2) |
4634 return Qnil; | 4636 return Qnil; |
4635 } | 4637 } |
4636 } | 4638 } |
4637 | 4639 |
4638 DEFUN ("x-display-grayscale-p", Fx_display_grayscale_p, Sx_display_grayscale_p, | 4640 DEFUN ("x-display-grayscale-p", Fx_display_grayscale_p, Sx_display_grayscale_p, |
4639 0, 1, 0, | 4641 0, 1, 0, |
4640 "Return t if the X display supports shades of gray.\n\ | 4642 /* Return t if the X display supports shades of gray. |
4641 Note that color displays do support shades of gray.\n\ | 4643 Note that color displays do support shades of gray. |
4642 The optional argument DISPLAY specifies which display to ask about.\n\ | 4644 The optional argument DISPLAY specifies which display to ask about. |
4643 DISPLAY should be either a frame or a display name (a string).\n\ | 4645 DISPLAY should be either a frame or a display name (a string). |
4644 If omitted or nil, that stands for the selected frame's display.") | 4646 If omitted or nil, that stands for the selected frame's display. */ |
4645 (display) | 4647 (display)) |
4646 Lisp_Object display; | 4648 Lisp_Object display; |
4647 { | 4649 { |
4648 struct x_display_info *dpyinfo = check_x_display_info (display); | 4650 struct x_display_info *dpyinfo = check_x_display_info (display); |
4649 | 4651 |
4650 if (dpyinfo->n_planes <= 1) | 4652 if (dpyinfo->n_planes <= 1) |
4664 return Qnil; | 4666 return Qnil; |
4665 } | 4667 } |
4666 } | 4668 } |
4667 | 4669 |
4668 DEFUN ("x-display-pixel-width", Fx_display_pixel_width, Sx_display_pixel_width, | 4670 DEFUN ("x-display-pixel-width", Fx_display_pixel_width, Sx_display_pixel_width, |
4669 0, 1, 0, | 4671 0, 1, 0, |
4670 "Returns the width in pixels of the X display DISPLAY.\n\ | 4672 /* Returns the width in pixels of the X display DISPLAY. |
4671 The optional argument DISPLAY specifies which display to ask about.\n\ | 4673 The optional argument DISPLAY specifies which display to ask about. |
4672 DISPLAY should be either a frame or a display name (a string).\n\ | 4674 DISPLAY should be either a frame or a display name (a string). |
4673 If omitted or nil, that stands for the selected frame's display.") | 4675 If omitted or nil, that stands for the selected frame's display. */ |
4674 (display) | 4676 (display)) |
4675 Lisp_Object display; | 4677 Lisp_Object display; |
4676 { | 4678 { |
4677 struct x_display_info *dpyinfo = check_x_display_info (display); | 4679 struct x_display_info *dpyinfo = check_x_display_info (display); |
4678 | 4680 |
4679 return make_number (dpyinfo->width); | 4681 return make_number (dpyinfo->width); |
4680 } | 4682 } |
4681 | 4683 |
4682 DEFUN ("x-display-pixel-height", Fx_display_pixel_height, | 4684 DEFUN ("x-display-pixel-height", Fx_display_pixel_height, |
4683 Sx_display_pixel_height, 0, 1, 0, | 4685 Sx_display_pixel_height, 0, 1, 0, |
4684 "Returns the height in pixels of the X display DISPLAY.\n\ | 4686 /* Returns the height in pixels of the X display DISPLAY. |
4685 The optional argument DISPLAY specifies which display to ask about.\n\ | 4687 The optional argument DISPLAY specifies which display to ask about. |
4686 DISPLAY should be either a frame or a display name (a string).\n\ | 4688 DISPLAY should be either a frame or a display name (a string). |
4687 If omitted or nil, that stands for the selected frame's display.") | 4689 If omitted or nil, that stands for the selected frame's display. */ |
4688 (display) | 4690 (display)) |
4689 Lisp_Object display; | 4691 Lisp_Object display; |
4690 { | 4692 { |
4691 struct x_display_info *dpyinfo = check_x_display_info (display); | 4693 struct x_display_info *dpyinfo = check_x_display_info (display); |
4692 | 4694 |
4693 return make_number (dpyinfo->height); | 4695 return make_number (dpyinfo->height); |
4694 } | 4696 } |
4695 | 4697 |
4696 DEFUN ("x-display-planes", Fx_display_planes, Sx_display_planes, | 4698 DEFUN ("x-display-planes", Fx_display_planes, Sx_display_planes, |
4697 0, 1, 0, | 4699 0, 1, 0, |
4698 "Returns the number of bitplanes of the X display DISPLAY.\n\ | 4700 /* Returns the number of bitplanes of the X display DISPLAY. |
4699 The optional argument DISPLAY specifies which display to ask about.\n\ | 4701 The optional argument DISPLAY specifies which display to ask about. |
4700 DISPLAY should be either a frame or a display name (a string).\n\ | 4702 DISPLAY should be either a frame or a display name (a string). |
4701 If omitted or nil, that stands for the selected frame's display.") | 4703 If omitted or nil, that stands for the selected frame's display. */ |
4702 (display) | 4704 (display)) |
4703 Lisp_Object display; | 4705 Lisp_Object display; |
4704 { | 4706 { |
4705 struct x_display_info *dpyinfo = check_x_display_info (display); | 4707 struct x_display_info *dpyinfo = check_x_display_info (display); |
4706 | 4708 |
4707 return make_number (dpyinfo->n_planes); | 4709 return make_number (dpyinfo->n_planes); |
4708 } | 4710 } |
4709 | 4711 |
4710 DEFUN ("x-display-color-cells", Fx_display_color_cells, Sx_display_color_cells, | 4712 DEFUN ("x-display-color-cells", Fx_display_color_cells, Sx_display_color_cells, |
4711 0, 1, 0, | 4713 0, 1, 0, |
4712 "Returns the number of color cells of the X display DISPLAY.\n\ | 4714 /* Returns the number of color cells of the X display DISPLAY. |
4713 The optional argument DISPLAY specifies which display to ask about.\n\ | 4715 The optional argument DISPLAY specifies which display to ask about. |
4714 DISPLAY should be either a frame or a display name (a string).\n\ | 4716 DISPLAY should be either a frame or a display name (a string). |
4715 If omitted or nil, that stands for the selected frame's display.") | 4717 If omitted or nil, that stands for the selected frame's display. */ |
4716 (display) | 4718 (display)) |
4717 Lisp_Object display; | 4719 Lisp_Object display; |
4718 { | 4720 { |
4719 struct x_display_info *dpyinfo = check_x_display_info (display); | 4721 struct x_display_info *dpyinfo = check_x_display_info (display); |
4720 | 4722 |
4721 return make_number (DisplayCells (dpyinfo->display, | 4723 return make_number (DisplayCells (dpyinfo->display, |
4722 XScreenNumberOfScreen (dpyinfo->screen))); | 4724 XScreenNumberOfScreen (dpyinfo->screen))); |
4723 } | 4725 } |
4724 | 4726 |
4725 DEFUN ("x-server-max-request-size", Fx_server_max_request_size, | 4727 DEFUN ("x-server-max-request-size", Fx_server_max_request_size, |
4726 Sx_server_max_request_size, | 4728 Sx_server_max_request_size, |
4727 0, 1, 0, | 4729 0, 1, 0, |
4728 "Returns the maximum request size of the X server of display DISPLAY.\n\ | 4730 /* Returns the maximum request size of the X server of display DISPLAY. |
4729 The optional argument DISPLAY specifies which display to ask about.\n\ | 4731 The optional argument DISPLAY specifies which display to ask about. |
4730 DISPLAY should be either a frame or a display name (a string).\n\ | 4732 DISPLAY should be either a frame or a display name (a string). |
4731 If omitted or nil, that stands for the selected frame's display.") | 4733 If omitted or nil, that stands for the selected frame's display. */ |
4732 (display) | 4734 (display)) |
4733 Lisp_Object display; | 4735 Lisp_Object display; |
4734 { | 4736 { |
4735 struct x_display_info *dpyinfo = check_x_display_info (display); | 4737 struct x_display_info *dpyinfo = check_x_display_info (display); |
4736 | 4738 |
4737 return make_number (MAXREQUEST (dpyinfo->display)); | 4739 return make_number (MAXREQUEST (dpyinfo->display)); |
4738 } | 4740 } |
4739 | 4741 |
4740 DEFUN ("x-server-vendor", Fx_server_vendor, Sx_server_vendor, 0, 1, 0, | 4742 DEFUN ("x-server-vendor", Fx_server_vendor, Sx_server_vendor, 0, 1, 0, |
4741 "Returns the vendor ID string of the X server of display DISPLAY.\n\ | 4743 /* Returns the vendor ID string of the X server of display DISPLAY. |
4742 The optional argument DISPLAY specifies which display to ask about.\n\ | 4744 The optional argument DISPLAY specifies which display to ask about. |
4743 DISPLAY should be either a frame or a display name (a string).\n\ | 4745 DISPLAY should be either a frame or a display name (a string). |
4744 If omitted or nil, that stands for the selected frame's display.") | 4746 If omitted or nil, that stands for the selected frame's display. */ |
4745 (display) | 4747 (display)) |
4746 Lisp_Object display; | 4748 Lisp_Object display; |
4747 { | 4749 { |
4748 struct x_display_info *dpyinfo = check_x_display_info (display); | 4750 struct x_display_info *dpyinfo = check_x_display_info (display); |
4749 char *vendor = ServerVendor (dpyinfo->display); | 4751 char *vendor = ServerVendor (dpyinfo->display); |
4750 | 4752 |
4751 if (! vendor) vendor = ""; | 4753 if (! vendor) vendor = ""; |
4752 return build_string (vendor); | 4754 return build_string (vendor); |
4753 } | 4755 } |
4754 | 4756 |
4755 DEFUN ("x-server-version", Fx_server_version, Sx_server_version, 0, 1, 0, | 4757 DEFUN ("x-server-version", Fx_server_version, Sx_server_version, 0, 1, 0, |
4756 "Returns the version numbers of the X server of display DISPLAY.\n\ | 4758 /* Returns the version numbers of the X server of display DISPLAY. |
4757 The value is a list of three integers: the major and minor\n\ | 4759 The value is a list of three integers: the major and minor |
4758 version numbers of the X Protocol in use, and the vendor-specific release\n\ | 4760 version numbers of the X Protocol in use, and the vendor-specific release |
4759 number. See also the function `x-server-vendor'.\n\n\ | 4761 number. See also the function `x-server-vendor'. |
4760 The optional argument DISPLAY specifies which display to ask about.\n\ | 4762 |
4761 DISPLAY should be either a frame or a display name (a string).\n\ | 4763 The optional argument DISPLAY specifies which display to ask about. |
4762 If omitted or nil, that stands for the selected frame's display.") | 4764 DISPLAY should be either a frame or a display name (a string). |
4763 (display) | 4765 If omitted or nil, that stands for the selected frame's display. */ |
4766 (display)) | |
4764 Lisp_Object display; | 4767 Lisp_Object display; |
4765 { | 4768 { |
4766 struct x_display_info *dpyinfo = check_x_display_info (display); | 4769 struct x_display_info *dpyinfo = check_x_display_info (display); |
4767 Display *dpy = dpyinfo->display; | 4770 Display *dpy = dpyinfo->display; |
4768 | 4771 |
4770 Fcons (make_number (ProtocolRevision (dpy)), | 4773 Fcons (make_number (ProtocolRevision (dpy)), |
4771 Fcons (make_number (VendorRelease (dpy)), Qnil))); | 4774 Fcons (make_number (VendorRelease (dpy)), Qnil))); |
4772 } | 4775 } |
4773 | 4776 |
4774 DEFUN ("x-display-screens", Fx_display_screens, Sx_display_screens, 0, 1, 0, | 4777 DEFUN ("x-display-screens", Fx_display_screens, Sx_display_screens, 0, 1, 0, |
4775 "Returns the number of screens on the X server of display DISPLAY.\n\ | 4778 /* Return the number of screens on the X server of display DISPLAY. |
4776 The optional argument DISPLAY specifies which display to ask about.\n\ | 4779 The optional argument DISPLAY specifies which display to ask about. |
4777 DISPLAY should be either a frame or a display name (a string).\n\ | 4780 DISPLAY should be either a frame or a display name (a string). |
4778 If omitted or nil, that stands for the selected frame's display.") | 4781 If omitted or nil, that stands for the selected frame's display. */ |
4779 (display) | 4782 (display)) |
4780 Lisp_Object display; | 4783 Lisp_Object display; |
4781 { | 4784 { |
4782 struct x_display_info *dpyinfo = check_x_display_info (display); | 4785 struct x_display_info *dpyinfo = check_x_display_info (display); |
4783 | 4786 |
4784 return make_number (ScreenCount (dpyinfo->display)); | 4787 return make_number (ScreenCount (dpyinfo->display)); |
4785 } | 4788 } |
4786 | 4789 |
4787 DEFUN ("x-display-mm-height", Fx_display_mm_height, Sx_display_mm_height, 0, 1, 0, | 4790 DEFUN ("x-display-mm-height", Fx_display_mm_height, Sx_display_mm_height, 0, 1, 0, |
4788 "Returns the height in millimeters of the X display DISPLAY.\n\ | 4791 /* Return the height in millimeters of the X display DISPLAY. |
4789 The optional argument DISPLAY specifies which display to ask about.\n\ | 4792 The optional argument DISPLAY specifies which display to ask about. |
4790 DISPLAY should be either a frame or a display name (a string).\n\ | 4793 DISPLAY should be either a frame or a display name (a string). |
4791 If omitted or nil, that stands for the selected frame's display.") | 4794 If omitted or nil, that stands for the selected frame's display. */ |
4792 (display) | 4795 (display)) |
4793 Lisp_Object display; | 4796 Lisp_Object display; |
4794 { | 4797 { |
4795 struct x_display_info *dpyinfo = check_x_display_info (display); | 4798 struct x_display_info *dpyinfo = check_x_display_info (display); |
4796 | 4799 |
4797 return make_number (HeightMMOfScreen (dpyinfo->screen)); | 4800 return make_number (HeightMMOfScreen (dpyinfo->screen)); |
4798 } | 4801 } |
4799 | 4802 |
4800 DEFUN ("x-display-mm-width", Fx_display_mm_width, Sx_display_mm_width, 0, 1, 0, | 4803 DEFUN ("x-display-mm-width", Fx_display_mm_width, Sx_display_mm_width, 0, 1, 0, |
4801 "Returns the width in millimeters of the X display DISPLAY.\n\ | 4804 /* Return the width in millimeters of the X display DISPLAY. |
4802 The optional argument DISPLAY specifies which display to ask about.\n\ | 4805 The optional argument DISPLAY specifies which display to ask about. |
4803 DISPLAY should be either a frame or a display name (a string).\n\ | 4806 DISPLAY should be either a frame or a display name (a string). |
4804 If omitted or nil, that stands for the selected frame's display.") | 4807 If omitted or nil, that stands for the selected frame's display. */ |
4805 (display) | 4808 (display)) |
4806 Lisp_Object display; | 4809 Lisp_Object display; |
4807 { | 4810 { |
4808 struct x_display_info *dpyinfo = check_x_display_info (display); | 4811 struct x_display_info *dpyinfo = check_x_display_info (display); |
4809 | 4812 |
4810 return make_number (WidthMMOfScreen (dpyinfo->screen)); | 4813 return make_number (WidthMMOfScreen (dpyinfo->screen)); |
4811 } | 4814 } |
4812 | 4815 |
4813 DEFUN ("x-display-backing-store", Fx_display_backing_store, | 4816 DEFUN ("x-display-backing-store", Fx_display_backing_store, |
4814 Sx_display_backing_store, 0, 1, 0, | 4817 Sx_display_backing_store, 0, 1, 0, |
4815 "Returns an indication of whether X display DISPLAY does backing store.\n\ | 4818 /* Returns an indication of whether X display DISPLAY does backing store. |
4816 The value may be `always', `when-mapped', or `not-useful'.\n\ | 4819 The value may be `always', `when-mapped', or `not-useful'. |
4817 The optional argument DISPLAY specifies which display to ask about.\n\ | 4820 The optional argument DISPLAY specifies which display to ask about. |
4818 DISPLAY should be either a frame or a display name (a string).\n\ | 4821 DISPLAY should be either a frame or a display name (a string). |
4819 If omitted or nil, that stands for the selected frame's display.") | 4822 If omitted or nil, that stands for the selected frame's display. */ |
4820 (display) | 4823 (display)) |
4821 Lisp_Object display; | 4824 Lisp_Object display; |
4822 { | 4825 { |
4823 struct x_display_info *dpyinfo = check_x_display_info (display); | 4826 struct x_display_info *dpyinfo = check_x_display_info (display); |
4824 Lisp_Object result; | 4827 Lisp_Object result; |
4825 | 4828 |
4844 | 4847 |
4845 return result; | 4848 return result; |
4846 } | 4849 } |
4847 | 4850 |
4848 DEFUN ("x-display-visual-class", Fx_display_visual_class, | 4851 DEFUN ("x-display-visual-class", Fx_display_visual_class, |
4849 Sx_display_visual_class, 0, 1, 0, | 4852 Sx_display_visual_class, 0, 1, 0, |
4850 "Returns the visual class of the X display DISPLAY.\n\ | 4853 /* Return the visual class of the X display DISPLAY. |
4851 The value is one of the symbols `static-gray', `gray-scale',\n\ | 4854 The value is one of the symbols `static-gray', `gray-scale', |
4852 `static-color', `pseudo-color', `true-color', or `direct-color'.\n\n\ | 4855 `static-color', `pseudo-color', `true-color', or `direct-color'. |
4853 The optional argument DISPLAY specifies which display to ask about.\n\ | 4856 |
4854 DISPLAY should be either a frame or a display name (a string).\n\ | 4857 The optional argument DISPLAY specifies which display to ask about. |
4855 If omitted or nil, that stands for the selected frame's display.") | 4858 DISPLAY should be either a frame or a display name (a string). |
4856 (display) | 4859 If omitted or nil, that stands for the selected frame's display. */ |
4860 (display)) | |
4857 Lisp_Object display; | 4861 Lisp_Object display; |
4858 { | 4862 { |
4859 struct x_display_info *dpyinfo = check_x_display_info (display); | 4863 struct x_display_info *dpyinfo = check_x_display_info (display); |
4860 Lisp_Object result; | 4864 Lisp_Object result; |
4861 | 4865 |
4886 | 4890 |
4887 return result; | 4891 return result; |
4888 } | 4892 } |
4889 | 4893 |
4890 DEFUN ("x-display-save-under", Fx_display_save_under, | 4894 DEFUN ("x-display-save-under", Fx_display_save_under, |
4891 Sx_display_save_under, 0, 1, 0, | 4895 Sx_display_save_under, 0, 1, 0, |
4892 "Returns t if the X display DISPLAY supports the save-under feature.\n\ | 4896 /* Returns t if the X display DISPLAY supports the save-under feature. |
4893 The optional argument DISPLAY specifies which display to ask about.\n\ | 4897 The optional argument DISPLAY specifies which display to ask about. |
4894 DISPLAY should be either a frame or a display name (a string).\n\ | 4898 DISPLAY should be either a frame or a display name (a string). |
4895 If omitted or nil, that stands for the selected frame's display.") | 4899 If omitted or nil, that stands for the selected frame's display. */ |
4896 (display) | 4900 (display)) |
4897 Lisp_Object display; | 4901 Lisp_Object display; |
4898 { | 4902 { |
4899 struct x_display_info *dpyinfo = check_x_display_info (display); | 4903 struct x_display_info *dpyinfo = check_x_display_info (display); |
4900 | 4904 |
4901 if (DoesSaveUnders (dpyinfo->screen) == True) | 4905 if (DoesSaveUnders (dpyinfo->screen) == True) |
5107 return dpyinfo; | 5111 return dpyinfo; |
5108 } | 5112 } |
5109 | 5113 |
5110 | 5114 |
5111 DEFUN ("x-open-connection", Fx_open_connection, Sx_open_connection, | 5115 DEFUN ("x-open-connection", Fx_open_connection, Sx_open_connection, |
5112 1, 3, 0, "Open a connection to an X server.\n\ | 5116 1, 3, 0, |
5113 DISPLAY is the name of the display to connect to.\n\ | 5117 /* Open a connection to an X server. |
5114 Optional second arg XRM-STRING is a string of resources in xrdb format.\n\ | 5118 DISPLAY is the name of the display to connect to. |
5115 If the optional third arg MUST-SUCCEED is non-nil,\n\ | 5119 Optional second arg XRM-STRING is a string of resources in xrdb format. |
5116 terminate Emacs if we can't open the connection.") | 5120 If the optional third arg MUST-SUCCEED is non-nil, |
5117 (display, xrm_string, must_succeed) | 5121 terminate Emacs if we can't open the connection. */ |
5122 (display, xrm_string, must_succeed)) | |
5118 Lisp_Object display, xrm_string, must_succeed; | 5123 Lisp_Object display, xrm_string, must_succeed; |
5119 { | 5124 { |
5120 unsigned char *xrm_option; | 5125 unsigned char *xrm_option; |
5121 struct x_display_info *dpyinfo; | 5126 struct x_display_info *dpyinfo; |
5122 | 5127 |
5140 (char *) XSTRING (Vx_resource_name)->data); | 5145 (char *) XSTRING (Vx_resource_name)->data); |
5141 | 5146 |
5142 if (dpyinfo == 0) | 5147 if (dpyinfo == 0) |
5143 { | 5148 { |
5144 if (!NILP (must_succeed)) | 5149 if (!NILP (must_succeed)) |
5145 fatal ("Cannot connect to X server %s.\n\ | 5150 fatal ("Cannot connect to X server %s. |
5146 Check the DISPLAY environment variable or use `-d'.\n\ | 5151 Check the DISPLAY environment variable or use `-d'. |
5147 Also use the `xhost' program to verify that it is set to permit\n\ | 5152 Also use the `xhost' program to verify that it is set to permit |
5148 connections from your machine.\n", | 5153 connections from your machine.\n", |
5149 XSTRING (display)->data); | 5154 XSTRING (display)->data); |
5150 else | 5155 else |
5151 error ("Cannot connect to X server %s", XSTRING (display)->data); | 5156 error ("Cannot connect to X server %s", XSTRING (display)->data); |
5152 } | 5157 } |
5157 return Qnil; | 5162 return Qnil; |
5158 } | 5163 } |
5159 | 5164 |
5160 DEFUN ("x-close-connection", Fx_close_connection, | 5165 DEFUN ("x-close-connection", Fx_close_connection, |
5161 Sx_close_connection, 1, 1, 0, | 5166 Sx_close_connection, 1, 1, 0, |
5162 "Close the connection to DISPLAY's X server.\n\ | 5167 /* Close the connection to DISPLAY's X server. |
5163 For DISPLAY, specify either a frame or a display name (a string).\n\ | 5168 For DISPLAY, specify either a frame or a display name (a string). |
5164 If DISPLAY is nil, that stands for the selected frame's display.") | 5169 If DISPLAY is nil, that stands for the selected frame's display. */ |
5165 (display) | 5170 (display)) |
5166 Lisp_Object display; | 5171 Lisp_Object display; |
5167 { | 5172 { |
5168 struct x_display_info *dpyinfo = check_x_display_info (display); | 5173 struct x_display_info *dpyinfo = check_x_display_info (display); |
5169 int i; | 5174 int i; |
5170 | 5175 |
5171 if (dpyinfo->reference_count > 0) | 5176 if (dpyinfo->reference_count > 0) |
5196 | 5201 |
5197 return Qnil; | 5202 return Qnil; |
5198 } | 5203 } |
5199 | 5204 |
5200 DEFUN ("x-display-list", Fx_display_list, Sx_display_list, 0, 0, 0, | 5205 DEFUN ("x-display-list", Fx_display_list, Sx_display_list, 0, 0, 0, |
5201 "Return the list of display names that Emacs has connections to.") | 5206 /* Return the list of display names that Emacs has connections to. */ |
5202 () | 5207 ()) |
5203 { | 5208 { |
5204 Lisp_Object tail, result; | 5209 Lisp_Object tail, result; |
5205 | 5210 |
5206 result = Qnil; | 5211 result = Qnil; |
5207 for (tail = x_display_name_list; ! NILP (tail); tail = XCDR (tail)) | 5212 for (tail = x_display_name_list; ! NILP (tail); tail = XCDR (tail)) |
5209 | 5214 |
5210 return result; | 5215 return result; |
5211 } | 5216 } |
5212 | 5217 |
5213 DEFUN ("x-synchronize", Fx_synchronize, Sx_synchronize, 1, 2, 0, | 5218 DEFUN ("x-synchronize", Fx_synchronize, Sx_synchronize, 1, 2, 0, |
5214 "If ON is non-nil, report X errors as soon as the erring request is made.\n\ | 5219 /* If ON is non-nil, report X errors as soon as the erring request is made. |
5215 If ON is nil, allow buffering of requests.\n\ | 5220 If ON is nil, allow buffering of requests. |
5216 Turning on synchronization prohibits the Xlib routines from buffering\n\ | 5221 Turning on synchronization prohibits the Xlib routines from buffering |
5217 requests and seriously degrades performance, but makes debugging much\n\ | 5222 requests and seriously degrades performance, but makes debugging much |
5218 easier.\n\ | 5223 easier. |
5219 The optional second argument DISPLAY specifies which display to act on.\n\ | 5224 The optional second argument DISPLAY specifies which display to act on. |
5220 DISPLAY should be either a frame or a display name (a string).\n\ | 5225 DISPLAY should be either a frame or a display name (a string). |
5221 If DISPLAY is omitted or nil, that stands for the selected frame's display.") | 5226 If DISPLAY is omitted or nil, that stands for the selected frame's display. */ |
5222 (on, display) | 5227 (on, display)) |
5223 Lisp_Object display, on; | 5228 Lisp_Object display, on; |
5224 { | 5229 { |
5225 struct x_display_info *dpyinfo = check_x_display_info (display); | 5230 struct x_display_info *dpyinfo = check_x_display_info (display); |
5226 | 5231 |
5227 XSynchronize (dpyinfo->display, !EQ (on, Qnil)); | 5232 XSynchronize (dpyinfo->display, !EQ (on, Qnil)); |
5596 return Qnil; | 5601 return Qnil; |
5597 } | 5602 } |
5598 | 5603 |
5599 | 5604 |
5600 DEFUN ("image-size", Fimage_size, Simage_size, 1, 3, 0, | 5605 DEFUN ("image-size", Fimage_size, Simage_size, 1, 3, 0, |
5601 "Return the size of image SPEC as pair (WIDTH . HEIGHT).\n\ | 5606 /* Return the size of image SPEC as pair (WIDTH . HEIGHT). |
5602 PIXELS non-nil means return the size in pixels, otherwise return the\n\ | 5607 PIXELS non-nil means return the size in pixels, otherwise return the |
5603 size in canonical character units.\n\ | 5608 size in canonical character units. |
5604 FRAME is the frame on which the image will be displayed. FRAME nil\n\ | 5609 FRAME is the frame on which the image will be displayed. FRAME nil |
5605 or omitted means use the selected frame.") | 5610 or omitted means use the selected frame. */ |
5606 (spec, pixels, frame) | 5611 (spec, pixels, frame)) |
5607 Lisp_Object spec, pixels, frame; | 5612 Lisp_Object spec, pixels, frame; |
5608 { | 5613 { |
5609 Lisp_Object size; | 5614 Lisp_Object size; |
5610 | 5615 |
5611 size = Qnil; | 5616 size = Qnil; |
5629 return size; | 5634 return size; |
5630 } | 5635 } |
5631 | 5636 |
5632 | 5637 |
5633 DEFUN ("image-mask-p", Fimage_mask_p, Simage_mask_p, 1, 2, 0, | 5638 DEFUN ("image-mask-p", Fimage_mask_p, Simage_mask_p, 1, 2, 0, |
5634 "Return t if image SPEC has a mask bitmap.\n\ | 5639 /* Return t if image SPEC has a mask bitmap. |
5635 FRAME is the frame on which the image will be displayed. FRAME nil\n\ | 5640 FRAME is the frame on which the image will be displayed. FRAME nil |
5636 or omitted means use the selected frame.") | 5641 or omitted means use the selected frame. */ |
5637 (spec, frame) | 5642 (spec, frame)) |
5638 Lisp_Object spec, frame; | 5643 Lisp_Object spec, frame; |
5639 { | 5644 { |
5640 Lisp_Object mask; | 5645 Lisp_Object mask; |
5641 | 5646 |
5642 mask = Qnil; | 5647 mask = Qnil; |
5975 } | 5980 } |
5976 | 5981 |
5977 | 5982 |
5978 DEFUN ("clear-image-cache", Fclear_image_cache, Sclear_image_cache, | 5983 DEFUN ("clear-image-cache", Fclear_image_cache, Sclear_image_cache, |
5979 0, 1, 0, | 5984 0, 1, 0, |
5980 "Clear the image cache of FRAME.\n\ | 5985 /* Clear the image cache of FRAME. |
5981 FRAME nil or omitted means use the selected frame.\n\ | 5986 FRAME nil or omitted means use the selected frame. |
5982 FRAME t means clear the image caches of all frames.") | 5987 FRAME t means clear the image caches of all frames. */ |
5983 (frame) | 5988 (frame)) |
5984 Lisp_Object frame; | 5989 Lisp_Object frame; |
5985 { | 5990 { |
5986 if (EQ (frame, Qt)) | 5991 if (EQ (frame, Qt)) |
5987 { | 5992 { |
5988 Lisp_Object tail; | 5993 Lisp_Object tail; |
10240 Window properties | 10245 Window properties |
10241 ***********************************************************************/ | 10246 ***********************************************************************/ |
10242 | 10247 |
10243 DEFUN ("x-change-window-property", Fx_change_window_property, | 10248 DEFUN ("x-change-window-property", Fx_change_window_property, |
10244 Sx_change_window_property, 2, 3, 0, | 10249 Sx_change_window_property, 2, 3, 0, |
10245 "Change window property PROP to VALUE on the X window of FRAME.\n\ | 10250 /* Change window property PROP to VALUE on the X window of FRAME. |
10246 PROP and VALUE must be strings. FRAME nil or omitted means use the\n\ | 10251 PROP and VALUE must be strings. FRAME nil or omitted means use the |
10247 selected frame. Value is VALUE.") | 10252 selected frame. Value is VALUE. */ |
10248 (prop, value, frame) | 10253 (prop, value, frame)) |
10249 Lisp_Object frame, prop, value; | 10254 Lisp_Object frame, prop, value; |
10250 { | 10255 { |
10251 struct frame *f = check_x_frame (frame); | 10256 struct frame *f = check_x_frame (frame); |
10252 Atom prop_atom; | 10257 Atom prop_atom; |
10253 | 10258 |
10268 } | 10273 } |
10269 | 10274 |
10270 | 10275 |
10271 DEFUN ("x-delete-window-property", Fx_delete_window_property, | 10276 DEFUN ("x-delete-window-property", Fx_delete_window_property, |
10272 Sx_delete_window_property, 1, 2, 0, | 10277 Sx_delete_window_property, 1, 2, 0, |
10273 "Remove window property PROP from X window of FRAME.\n\ | 10278 /* Remove window property PROP from X window of FRAME. |
10274 FRAME nil or omitted means use the selected frame. Value is PROP.") | 10279 FRAME nil or omitted means use the selected frame. Value is PROP. */ |
10275 (prop, frame) | 10280 (prop, frame)) |
10276 Lisp_Object prop, frame; | 10281 Lisp_Object prop, frame; |
10277 { | 10282 { |
10278 struct frame *f = check_x_frame (frame); | 10283 struct frame *f = check_x_frame (frame); |
10279 Atom prop_atom; | 10284 Atom prop_atom; |
10280 | 10285 |
10291 } | 10296 } |
10292 | 10297 |
10293 | 10298 |
10294 DEFUN ("x-window-property", Fx_window_property, Sx_window_property, | 10299 DEFUN ("x-window-property", Fx_window_property, Sx_window_property, |
10295 1, 2, 0, | 10300 1, 2, 0, |
10296 "Value is the value of window property PROP on FRAME.\n\ | 10301 /* Value is the value of window property PROP on FRAME. |
10297 If FRAME is nil or omitted, use the selected frame. Value is nil\n\ | 10302 If FRAME is nil or omitted, use the selected frame. Value is nil |
10298 if FRAME hasn't a property with name PROP or if PROP has no string\n\ | 10303 if FRAME hasn't a property with name PROP or if PROP has no string |
10299 value.") | 10304 value. */ |
10300 (prop, frame) | 10305 (prop, frame)) |
10301 Lisp_Object prop, frame; | 10306 Lisp_Object prop, frame; |
10302 { | 10307 { |
10303 struct frame *f = check_x_frame (frame); | 10308 struct frame *f = check_x_frame (frame); |
10304 Atom prop_atom; | 10309 Atom prop_atom; |
10305 int rc; | 10310 int rc; |
10934 *root_x += XINT (dx); | 10939 *root_x += XINT (dx); |
10935 } | 10940 } |
10936 | 10941 |
10937 | 10942 |
10938 DEFUN ("x-show-tip", Fx_show_tip, Sx_show_tip, 1, 6, 0, | 10943 DEFUN ("x-show-tip", Fx_show_tip, Sx_show_tip, 1, 6, 0, |
10939 "Show STRING in a \"tooltip\" window on frame FRAME.\n\ | 10944 /* Show STRING in a "tooltip" window on frame FRAME. |
10940 A tooltip window is a small X window displaying a string.\n\ | 10945 A tooltip window is a small X window displaying a string. |
10941 \n\ | 10946 |
10942 FRAME nil or omitted means use the selected frame.\n\ | 10947 FRAME nil or omitted means use the selected frame. |
10943 \n\ | 10948 |
10944 PARMS is an optional list of frame parameters which can be\n\ | 10949 PARMS is an optional list of frame parameters which can be used to |
10945 used to change the tooltip's appearance.\n\ | 10950 change the tooltip's appearance. |
10946 \n\ | 10951 |
10947 Automatically hide the tooltip after TIMEOUT seconds.\n\ | 10952 Automatically hide the tooltip after TIMEOUT seconds. TIMEOUT nil |
10948 TIMEOUT nil means use the default timeout of 5 seconds.\n\ | 10953 means use the default timeout of 5 seconds. |
10949 \n\ | 10954 |
10950 If the list of frame parameters PARAMS contains a `left' parameters,\n\ | 10955 If the list of frame parameters PARAMS contains a `left' parameters, |
10951 the tooltip is displayed at that x-position. Otherwise it is\n\ | 10956 the tooltip is displayed at that x-position. Otherwise it is |
10952 displayed at the mouse position, with offset DX added (default is 5 if\n\ | 10957 displayed at the mouse position, with offset DX added (default is 5 if |
10953 DX isn't specified). Likewise for the y-position; if a `top' frame\n\ | 10958 DX isn't specified). Likewise for the y-position; if a `top' frame |
10954 parameter is specified, it determines the y-position of the tooltip\n\ | 10959 parameter is specified, it determines the y-position of the tooltip |
10955 window, otherwise it is displayed at the mouse position, with offset\n\ | 10960 window, otherwise it is displayed at the mouse position, with offset |
10956 DY added (default is -10).\n\ | 10961 DY added (default is -10). |
10957 \n\ | 10962 |
10958 A tooltip's maximum size is specified by `x-max-tooltip-size'.\n\ | 10963 A tooltip's maximum size is specified by `x-max-tooltip-size'. |
10959 Text larger than the specified size is clipped.") | 10964 Text larger than the specified size is clipped. */ |
10960 (string, frame, parms, timeout, dx, dy) | 10965 (string, frame, parms, timeout, dx, dy)) |
10961 Lisp_Object string, frame, parms, timeout, dx, dy; | 10966 Lisp_Object string, frame, parms, timeout, dx, dy; |
10962 { | 10967 { |
10963 struct frame *f; | 10968 struct frame *f; |
10964 struct window *w; | 10969 struct window *w; |
10965 Lisp_Object buffer, top, left, max_width, max_height; | 10970 Lisp_Object buffer, top, left, max_width, max_height; |
11143 return unbind_to (count, Qnil); | 11148 return unbind_to (count, Qnil); |
11144 } | 11149 } |
11145 | 11150 |
11146 | 11151 |
11147 DEFUN ("x-hide-tip", Fx_hide_tip, Sx_hide_tip, 0, 0, 0, | 11152 DEFUN ("x-hide-tip", Fx_hide_tip, Sx_hide_tip, 0, 0, 0, |
11148 "Hide the current tooltip window, if there is any.\n\ | 11153 /* Hide the current tooltip window, if there is any. |
11149 Value is t if tooltip was open, nil otherwise.") | 11154 Value is t if tooltip was open, nil otherwise. */ |
11150 () | 11155 ()) |
11151 { | 11156 { |
11152 int count; | 11157 int count; |
11153 Lisp_Object deleted, frame, timer; | 11158 Lisp_Object deleted, frame, timer; |
11154 struct gcpro gcpro1, gcpro2; | 11159 struct gcpro gcpro1, gcpro2; |
11155 | 11160 |
11233 *result = XmCR_CANCEL; | 11238 *result = XmCR_CANCEL; |
11234 } | 11239 } |
11235 | 11240 |
11236 | 11241 |
11237 DEFUN ("x-file-dialog", Fx_file_dialog, Sx_file_dialog, 2, 4, 0, | 11242 DEFUN ("x-file-dialog", Fx_file_dialog, Sx_file_dialog, 2, 4, 0, |
11238 "Read file name, prompting with PROMPT in directory DIR.\n\ | 11243 /* Read file name, prompting with PROMPT in directory DIR. |
11239 Use a file selection dialog.\n\ | 11244 Use a file selection dialog. |
11240 Select DEFAULT-FILENAME in the dialog's file selection box, if\n\ | 11245 Select DEFAULT-FILENAME in the dialog's file selection box, if |
11241 specified. Don't let the user enter a file name in the file\n\ | 11246 specified. Don't let the user enter a file name in the file |
11242 selection dialog's entry field, if MUSTMATCH is non-nil.") | 11247 selection dialog's entry field, if MUSTMATCH is non-nil. */ |
11243 (prompt, dir, default_filename, mustmatch) | 11248 (prompt, dir, default_filename, mustmatch)) |
11244 Lisp_Object prompt, dir, default_filename, mustmatch; | 11249 Lisp_Object prompt, dir, default_filename, mustmatch; |
11245 { | 11250 { |
11246 int result; | 11251 int result; |
11247 struct frame *f = SELECTED_FRAME (); | 11252 struct frame *f = SELECTED_FRAME (); |
11248 Lisp_Object file = Qnil; | 11253 Lisp_Object file = Qnil; |
11391 #include <X11/keysym.h> | 11396 #include <X11/keysym.h> |
11392 #endif | 11397 #endif |
11393 | 11398 |
11394 DEFUN ("x-backspace-delete-keys-p", Fx_backspace_delete_keys_p, | 11399 DEFUN ("x-backspace-delete-keys-p", Fx_backspace_delete_keys_p, |
11395 Sx_backspace_delete_keys_p, 0, 1, 0, | 11400 Sx_backspace_delete_keys_p, 0, 1, 0, |
11396 "Check if both Backspace and Delete keys are on the keyboard of FRAME.\n\ | 11401 /* Check if both Backspace and Delete keys are on the keyboard of FRAME. |
11397 FRAME nil means use the selected frame.\n\ | 11402 FRAME nil means use the selected frame. |
11398 Value is t if we know that both keys are present, and are mapped to the\n\ | 11403 Value is t if we know that both keys are present, and are mapped to the |
11399 usual X keysyms.") | 11404 usual X keysyms. */ |
11400 (frame) | 11405 (frame)) |
11401 Lisp_Object frame; | 11406 Lisp_Object frame; |
11402 { | 11407 { |
11403 #ifdef HAVE_XKBGETKEYBOARD | 11408 #ifdef HAVE_XKBGETKEYBOARD |
11404 XkbDescPtr kb; | 11409 XkbDescPtr kb; |
11405 struct frame *f = check_x_frame (frame); | 11410 struct frame *f = check_x_frame (frame); |
11588 Fput (Qundefined_color, Qerror_message, | 11593 Fput (Qundefined_color, Qerror_message, |
11589 build_string ("Undefined color")); | 11594 build_string ("Undefined color")); |
11590 | 11595 |
11591 init_x_parm_symbols (); | 11596 init_x_parm_symbols (); |
11592 | 11597 |
11593 DEFVAR_BOOL ("cross-disabled-images", &cross_disabled_images, | 11598 DEFVAR_BOOL ("cross-disabled-images", &cross_disabled_images |
11594 "Non-nil means always draw a cross over disabled images.\n\ | 11599 /* Non-nil means always draw a cross over disabled images. |
11595 Disabled images are those having an `:conversion disabled' property.\n\ | 11600 Disabled images are those having an `:conversion disabled' property. |
11596 A cross is always drawn on black & white displays."); | 11601 A cross is always drawn on black & white displays. */); |
11597 cross_disabled_images = 0; | 11602 cross_disabled_images = 0; |
11598 | 11603 |
11599 DEFVAR_LISP ("x-bitmap-file-path", &Vx_bitmap_file_path, | 11604 DEFVAR_LISP ("x-bitmap-file-path", &Vx_bitmap_file_path |
11600 "List of directories to search for bitmap files for X."); | 11605 /* List of directories to search for bitmap files for X. */); |
11601 Vx_bitmap_file_path = decode_env_path ((char *) 0, PATH_BITMAPS); | 11606 Vx_bitmap_file_path = decode_env_path ((char *) 0, PATH_BITMAPS); |
11602 | 11607 |
11603 DEFVAR_LISP ("x-pointer-shape", &Vx_pointer_shape, | 11608 DEFVAR_LISP ("x-pointer-shape", &Vx_pointer_shape |
11604 "The shape of the pointer when over text.\n\ | 11609 /* The shape of the pointer when over text. |
11605 Changing the value does not affect existing frames\n\ | 11610 Changing the value does not affect existing frames |
11606 unless you set the mouse color."); | 11611 unless you set the mouse color. */); |
11607 Vx_pointer_shape = Qnil; | 11612 Vx_pointer_shape = Qnil; |
11608 | 11613 |
11609 DEFVAR_LISP ("x-resource-name", &Vx_resource_name, | 11614 DEFVAR_LISP ("x-resource-name", &Vx_resource_name |
11610 "The name Emacs uses to look up X resources.\n\ | 11615 /* The name Emacs uses to look up X resources. |
11611 `x-get-resource' uses this as the first component of the instance name\n\ | 11616 `x-get-resource' uses this as the first component of the instance name |
11612 when requesting resource values.\n\ | 11617 when requesting resource values. |
11613 Emacs initially sets `x-resource-name' to the name under which Emacs\n\ | 11618 Emacs initially sets `x-resource-name' to the name under which Emacs |
11614 was invoked, or to the value specified with the `-name' or `-rn'\n\ | 11619 was invoked, or to the value specified with the `-name' or `-rn' |
11615 switches, if present.\n\ | 11620 switches, if present. |
11616 \n\ | 11621 |
11617 It may be useful to bind this variable locally around a call\n\ | 11622 It may be useful to bind this variable locally around a call |
11618 to `x-get-resource'. See also the variable `x-resource-class'."); | 11623 to `x-get-resource'. See also the variable `x-resource-class'. */); |
11619 Vx_resource_name = Qnil; | 11624 Vx_resource_name = Qnil; |
11620 | 11625 |
11621 DEFVAR_LISP ("x-resource-class", &Vx_resource_class, | 11626 DEFVAR_LISP ("x-resource-class", &Vx_resource_class |
11622 "The class Emacs uses to look up X resources.\n\ | 11627 /* The class Emacs uses to look up X resources. |
11623 `x-get-resource' uses this as the first component of the instance class\n\ | 11628 `x-get-resource' uses this as the first component of the instance class |
11624 when requesting resource values.\n\ | 11629 when requesting resource values. |
11625 Emacs initially sets `x-resource-class' to \"Emacs\".\n\ | 11630 |
11626 \n\ | 11631 Emacs initially sets `x-resource-class' to "Emacs". |
11627 Setting this variable permanently is not a reasonable thing to do,\n\ | 11632 |
11628 but binding this variable locally around a call to `x-get-resource'\n\ | 11633 Setting this variable permanently is not a reasonable thing to do, |
11629 is a reasonable practice. See also the variable `x-resource-name'."); | 11634 but binding this variable locally around a call to `x-get-resource' |
11635 is a reasonable practice. See also the variable `x-resource-name'. */); | |
11630 Vx_resource_class = build_string (EMACS_CLASS); | 11636 Vx_resource_class = build_string (EMACS_CLASS); |
11631 | 11637 |
11632 #if 0 /* This doesn't really do anything. */ | 11638 #if 0 /* This doesn't really do anything. */ |
11633 DEFVAR_LISP ("x-nontext-pointer-shape", &Vx_nontext_pointer_shape, | 11639 DEFVAR_LISP ("x-nontext-pointer-shape", &Vx_nontext_pointer_shape |
11634 "The shape of the pointer when not over text.\n\ | 11640 /* The shape of the pointer when not over text. |
11635 This variable takes effect when you create a new frame\n\ | 11641 This variable takes effect when you create a new frame |
11636 or when you set the mouse color."); | 11642 or when you set the mouse color. */); |
11637 #endif | 11643 #endif |
11638 Vx_nontext_pointer_shape = Qnil; | 11644 Vx_nontext_pointer_shape = Qnil; |
11639 | 11645 |
11640 DEFVAR_LISP ("x-hourglass-pointer-shape", &Vx_hourglass_pointer_shape, | 11646 DEFVAR_LISP ("x-hourglass-pointer-shape", &Vx_hourglass_pointer_shape |
11641 "The shape of the pointer when Emacs is busy.\n\ | 11647 /* The shape of the pointer when Emacs is busy. |
11642 This variable takes effect when you create a new frame\n\ | 11648 This variable takes effect when you create a new frame |
11643 or when you set the mouse color."); | 11649 or when you set the mouse color. */); |
11644 Vx_hourglass_pointer_shape = Qnil; | 11650 Vx_hourglass_pointer_shape = Qnil; |
11645 | 11651 |
11646 DEFVAR_BOOL ("display-hourglass", &display_hourglass_p, | 11652 DEFVAR_BOOL ("display-hourglass", &display_hourglass_p |
11647 "Non-zero means Emacs displays an hourglass pointer on window systems."); | 11653 /* Non-zero means Emacs displays an hourglass pointer on window systems. */); |
11648 display_hourglass_p = 1; | 11654 display_hourglass_p = 1; |
11649 | 11655 |
11650 DEFVAR_LISP ("hourglass-delay", &Vhourglass_delay, | 11656 DEFVAR_LISP ("hourglass-delay", &Vhourglass_delay |
11651 "*Seconds to wait before displaying an hourglass pointer.\n\ | 11657 /* *Seconds to wait before displaying an hourglass pointer. |
11652 Value must be an integer or float."); | 11658 Value must be an integer or float. */); |
11653 Vhourglass_delay = make_number (DEFAULT_HOURGLASS_DELAY); | 11659 Vhourglass_delay = make_number (DEFAULT_HOURGLASS_DELAY); |
11654 | 11660 |
11655 #if 0 /* This doesn't really do anything. */ | 11661 #if 0 /* This doesn't really do anything. */ |
11656 DEFVAR_LISP ("x-mode-pointer-shape", &Vx_mode_pointer_shape, | 11662 DEFVAR_LISP ("x-mode-pointer-shape", &Vx_mode_pointer_shape |
11657 "The shape of the pointer when over the mode line.\n\ | 11663 /* The shape of the pointer when over the mode line. |
11658 This variable takes effect when you create a new frame\n\ | 11664 This variable takes effect when you create a new frame |
11659 or when you set the mouse color."); | 11665 or when you set the mouse color. */); |
11660 #endif | 11666 #endif |
11661 Vx_mode_pointer_shape = Qnil; | 11667 Vx_mode_pointer_shape = Qnil; |
11662 | 11668 |
11663 DEFVAR_LISP ("x-sensitive-text-pointer-shape", | 11669 DEFVAR_LISP ("x-sensitive-text-pointer-shape", |
11664 &Vx_sensitive_text_pointer_shape, | 11670 &Vx_sensitive_text_pointer_shape |
11665 "The shape of the pointer when over mouse-sensitive text.\n\ | 11671 /* The shape of the pointer when over mouse-sensitive text. |
11666 This variable takes effect when you create a new frame\n\ | 11672 This variable takes effect when you create a new frame |
11667 or when you set the mouse color."); | 11673 or when you set the mouse color. */); |
11668 Vx_sensitive_text_pointer_shape = Qnil; | 11674 Vx_sensitive_text_pointer_shape = Qnil; |
11669 | 11675 |
11670 DEFVAR_LISP ("x-window-horizontal-drag-cursor", | 11676 DEFVAR_LISP ("x-window-horizontal-drag-cursor", |
11671 &Vx_window_horizontal_drag_shape, | 11677 &Vx_window_horizontal_drag_shape |
11672 "Pointer shape to use for indicating a window can be dragged horizontally.\n\ | 11678 /* Pointer shape to use for indicating a window can be dragged horizontally. |
11673 This variable takes effect when you create a new frame\n\ | 11679 This variable takes effect when you create a new frame |
11674 or when you set the mouse color."); | 11680 or when you set the mouse color. */); |
11675 Vx_window_horizontal_drag_shape = Qnil; | 11681 Vx_window_horizontal_drag_shape = Qnil; |
11676 | 11682 |
11677 DEFVAR_LISP ("x-cursor-fore-pixel", &Vx_cursor_fore_pixel, | 11683 DEFVAR_LISP ("x-cursor-fore-pixel", &Vx_cursor_fore_pixel |
11678 "A string indicating the foreground color of the cursor box."); | 11684 /* A string indicating the foreground color of the cursor box. */); |
11679 Vx_cursor_fore_pixel = Qnil; | 11685 Vx_cursor_fore_pixel = Qnil; |
11680 | 11686 |
11681 DEFVAR_LISP ("x-max-tooltip-size", &Vx_max_tooltip_size, | 11687 DEFVAR_LISP ("x-max-tooltip-size", &Vx_max_tooltip_size |
11682 "Maximum size for tooltips. Value is a pair (COLUMNS . ROWS).\n\ | 11688 /* Maximum size for tooltips. Value is a pair (COLUMNS . ROWS). |
11683 Text larger than this is clipped."); | 11689 Text larger than this is clipped. */); |
11684 Vx_max_tooltip_size = Fcons (make_number (80), make_number (40)); | 11690 Vx_max_tooltip_size = Fcons (make_number (80), make_number (40)); |
11685 | 11691 |
11686 DEFVAR_LISP ("x-no-window-manager", &Vx_no_window_manager, | 11692 DEFVAR_LISP ("x-no-window-manager", &Vx_no_window_manager |
11687 "Non-nil if no X window manager is in use.\n\ | 11693 /* Non-nil if no X window manager is in use. |
11688 Emacs doesn't try to figure this out; this is always nil\n\ | 11694 Emacs doesn't try to figure this out; this is always nil |
11689 unless you set it to something else."); | 11695 unless you set it to something else. */); |
11690 /* We don't have any way to find this out, so set it to nil | 11696 /* We don't have any way to find this out, so set it to nil |
11691 and maybe the user would like to set it to t. */ | 11697 and maybe the user would like to set it to t. */ |
11692 Vx_no_window_manager = Qnil; | 11698 Vx_no_window_manager = Qnil; |
11693 | 11699 |
11694 DEFVAR_LISP ("x-pixel-size-width-font-regexp", | 11700 DEFVAR_LISP ("x-pixel-size-width-font-regexp", |
11695 &Vx_pixel_size_width_font_regexp, | 11701 &Vx_pixel_size_width_font_regexp |
11696 "Regexp matching a font name whose width is the same as `PIXEL_SIZE'.\n\ | 11702 /* Regexp matching a font name whose width is the same as `PIXEL_SIZE'. |
11697 \n\ | 11703 |
11698 Since Emacs gets width of a font matching with this regexp from\n\ | 11704 Since Emacs gets width of a font matching with this regexp from |
11699 PIXEL_SIZE field of the name, font finding mechanism gets faster for\n\ | 11705 PIXEL_SIZE field of the name, font finding mechanism gets faster for |
11700 such a font. This is especially effective for such large fonts as\n\ | 11706 such a font. This is especially effective for such large fonts as |
11701 Chinese, Japanese, and Korean."); | 11707 Chinese, Japanese, and Korean. */); |
11702 Vx_pixel_size_width_font_regexp = Qnil; | 11708 Vx_pixel_size_width_font_regexp = Qnil; |
11703 | 11709 |
11704 DEFVAR_LISP ("image-cache-eviction-delay", &Vimage_cache_eviction_delay, | 11710 DEFVAR_LISP ("image-cache-eviction-delay", &Vimage_cache_eviction_delay |
11705 "Time after which cached images are removed from the cache.\n\ | 11711 /* Time after which cached images are removed from the cache. |
11706 When an image has not been displayed this many seconds, remove it\n\ | 11712 When an image has not been displayed this many seconds, remove it |
11707 from the image cache. Value must be an integer or nil with nil\n\ | 11713 from the image cache. Value must be an integer or nil with nil |
11708 meaning don't clear the cache."); | 11714 meaning don't clear the cache. */); |
11709 Vimage_cache_eviction_delay = make_number (30 * 60); | 11715 Vimage_cache_eviction_delay = make_number (30 * 60); |
11710 | 11716 |
11711 #ifdef USE_X_TOOLKIT | 11717 #ifdef USE_X_TOOLKIT |
11712 Fprovide (intern ("x-toolkit"), Qnil); | 11718 Fprovide (intern ("x-toolkit"), Qnil); |
11713 #ifdef USE_MOTIF | 11719 #ifdef USE_MOTIF |
11714 Fprovide (intern ("motif"), Qnil); | 11720 Fprovide (intern ("motif"), Qnil); |
11715 | 11721 |
11716 DEFVAR_LISP ("motif-version-string", &Vmotif_version_string, | 11722 DEFVAR_LISP ("motif-version-string", &Vmotif_version_string |
11717 "Version info for LessTif/Motif."); | 11723 /* Version info for LessTif/Motif. */); |
11718 Vmotif_version_string = build_string (XmVERSION_STRING); | 11724 Vmotif_version_string = build_string (XmVERSION_STRING); |
11719 #endif /* USE_MOTIF */ | 11725 #endif /* USE_MOTIF */ |
11720 #endif /* USE_X_TOOLKIT */ | 11726 #endif /* USE_X_TOOLKIT */ |
11721 | 11727 |
11722 defsubr (&Sx_get_resource); | 11728 defsubr (&Sx_get_resource); |