aboutsummaryrefslogtreecommitdiffstats
path: root/src/xterm.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/xterm.c')
-rw-r--r--src/xterm.c27
1 files changed, 25 insertions, 2 deletions
diff --git a/src/xterm.c b/src/xterm.c
index 77dc48f9a64..c034faaec2e 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -3128,6 +3128,25 @@ XTflash (f)
3128#endif /* defined (HAVE_TIMEVAL) && defined (HAVE_SELECT) */ 3128#endif /* defined (HAVE_TIMEVAL) && defined (HAVE_SELECT) */
3129 3129
3130 3130
3131static void
3132XTtoggle_invisible_pointer (f, invisible)
3133 FRAME_PTR f;
3134 int invisible;
3135{
3136 BLOCK_INPUT;
3137 if (invisible)
3138 {
3139 if (FRAME_X_DISPLAY_INFO (f)->invisible_cursor != 0)
3140 XDefineCursor (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
3141 FRAME_X_DISPLAY_INFO (f)->invisible_cursor);
3142 }
3143 else
3144 XDefineCursor (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
3145 f->output_data.x->current_cursor);
3146 UNBLOCK_INPUT;
3147}
3148
3149
3131/* Make audible bell. */ 3150/* Make audible bell. */
3132 3151
3133void 3152void
@@ -4568,7 +4587,7 @@ x_create_toolkit_scroll_bar (f, bar)
4568 /* Set the cursor to an arrow. I didn't find a resource to do that. 4587 /* Set the cursor to an arrow. I didn't find a resource to do that.
4569 And I'm wondering why it hasn't an arrow cursor by default. */ 4588 And I'm wondering why it hasn't an arrow cursor by default. */
4570 XDefineCursor (XtDisplay (widget), XtWindow (widget), 4589 XDefineCursor (XtDisplay (widget), XtWindow (widget),
4571 f->output_data.x->nontext_cursor); 4590 f->output_data.x->nontext_cursor);
4572 4591
4573#else /* !USE_MOTIF i.e. use Xaw */ 4592#else /* !USE_MOTIF i.e. use Xaw */
4574 4593
@@ -7344,7 +7363,10 @@ x_define_frame_cursor (f, cursor)
7344 struct frame *f; 7363 struct frame *f;
7345 Cursor cursor; 7364 Cursor cursor;
7346{ 7365{
7347 XDefineCursor (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), cursor); 7366 if (!f->pointer_invisible
7367 && f->output_data.x->current_cursor != cursor)
7368 XDefineCursor (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), cursor);
7369 f->output_data.x->current_cursor = cursor;
7348} 7370}
7349 7371
7350 7372
@@ -10657,6 +10679,7 @@ x_create_terminal (struct x_display_info *dpyinfo)
10657 terminal->ins_del_lines_hook = x_ins_del_lines; 10679 terminal->ins_del_lines_hook = x_ins_del_lines;
10658 terminal->delete_glyphs_hook = x_delete_glyphs; 10680 terminal->delete_glyphs_hook = x_delete_glyphs;
10659 terminal->ring_bell_hook = XTring_bell; 10681 terminal->ring_bell_hook = XTring_bell;
10682 terminal->toggle_invisible_pointer_hook = XTtoggle_invisible_pointer;
10660 terminal->reset_terminal_modes_hook = XTreset_terminal_modes; 10683 terminal->reset_terminal_modes_hook = XTreset_terminal_modes;
10661 terminal->set_terminal_modes_hook = XTset_terminal_modes; 10684 terminal->set_terminal_modes_hook = XTset_terminal_modes;
10662 terminal->update_begin_hook = x_update_begin; 10685 terminal->update_begin_hook = x_update_begin;