From 779ba43261f1f6133c21f2506dc1cac0aa98e8f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Dj=C3=A4rv?= Date: Fri, 3 Jul 2009 11:07:02 +0000 Subject: * xterm.h (struct x_display_info): Add invisible_cursor. (struct x_output): Add current_cursor. * xterm.c (XTtoggle_invisible_pointer): New function. (x_define_frame_cursor): Don't define cursor if invisible or the same as before. Set current_cursor. (x_create_terminal): Set toggle_invisible_pointer_hook. * xfns.c (make_invisible_cursor): New function. (x_set_mouse_color): Call make_invisible_cursor. Set current_cursor. (x_window): Set current_cursor. * termhooks.h (struct terminal): Add toggle_invisible_pointer_hook. * keyboard.c (command_loop_1): Call frame_make_pointer_invisible after inserting a character. (read_avail_input): Call frame_make_pointer_visible. * frame.c (Vmake_pointer_invisible): New variable. (frame_make_pointer_invisible, frame_make_pointer_visible): New functions. (syms_of_frame): DEFVAR make-pointer-invisible, initialize to Qt. * frame.h: Declare frame_make_pointer_invisible and frame_make_pointer_visible. (struct frame): Add pointer_invisible. * cus-start.el (all): Added make-pointer-invisible. --- src/frame.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/frame.h') diff --git a/src/frame.h b/src/frame.h index 205141ec830..9fc326b6f1a 100644 --- a/src/frame.h +++ b/src/frame.h @@ -440,6 +440,9 @@ struct frame since the last time we checked. */ unsigned char mouse_moved :1; + /* Nonzero means that the pointer is invisible. */ + unsigned char pointer_invisible :1; + /* If can_have_scroll_bars is non-zero, this is non-zero if we should actually display them on this frame. */ enum vertical_scroll_bar_type vertical_scroll_bar_type; @@ -830,6 +833,8 @@ extern struct frame *make_frame_without_minibuffer P_ ((Lisp_Object, Lisp_Object)); #endif /* HAVE_WINDOW_SYSTEM */ extern int other_visible_frames P_ ((struct frame *)); +extern void frame_make_pointer_invisible P_ ((void)); +extern void frame_make_pointer_visible P_ ((void)); extern Lisp_Object Vframe_list; extern Lisp_Object Vdefault_frame_alist; @@ -1110,7 +1115,7 @@ extern Lisp_Object Vframe_alpha_lower_limit; extern void x_set_alpha P_ ((struct frame *, Lisp_Object, Lisp_Object)); extern void validate_x_resource_name P_ ((void)); - + extern Lisp_Object display_x_get_resource (Display_Info *, Lisp_Object attribute, Lisp_Object class, -- cgit v1.2.1