From 0db017c09391a170a0fbd21f51875d49222c9ee8 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 30 Dec 2005 21:48:35 +0000 Subject: [PATCH] (visible_cursor): New boolean var. (set_terminal_modes, tty_show_cursor): Use "vs" or "ve" depending on visible_cursor. (syms_of_term): Export the new var as "visible-cursor". --- src/ChangeLog | 7 +++++++ src/term.c | 16 ++++++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index fb902384969..b1fc39a4100 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2005-12-30 Stefan Monnier + + * term.c (visible_cursor): New boolean var. + (set_terminal_modes, tty_show_cursor): Use "vs" or "ve" depending on + visible_cursor. + (syms_of_term): Export the new var as "visible-cursor". + 2005-12-30 Eli Zaretskii * .gdbinit: Tell users not to worry about GDB warnings that some diff --git a/src/term.c b/src/term.c index e53e5f78306..e2c2fc39fc5 100644 --- a/src/term.c +++ b/src/term.c @@ -87,6 +87,10 @@ extern Lisp_Object Qspace, QCalign_to, QCwidth; Lisp_Object Vring_bell_function; +/* If true, use "vs", otherwise use "ve" to make the cursor visible. */ + +static int visible_cursor; + /* Terminal characteristics that higher levels want to look at. These are all extern'd in termchar.h */ @@ -460,7 +464,7 @@ set_terminal_modes () putchar ('\n'); } - OUTPUT_IF (TS_cursor_visible); + OUTPUT_IF (visible_cursor ? TS_cursor_visible : TS_cursor_normal); OUTPUT_IF (TS_keypad_mode); losecursor (); } @@ -615,7 +619,8 @@ tty_show_cursor () { tty_cursor_hidden = 0; OUTPUT_IF (TS_cursor_normal); - OUTPUT_IF (TS_cursor_visible); + if (visible_cursor) + OUTPUT_IF (TS_cursor_visible); } } @@ -2726,6 +2731,13 @@ This variable can be used by terminal emulator packages. */); The function should accept no arguments. */); Vring_bell_function = Qnil; + DEFVAR_BOOL ("visible-cursor", &visible_cursor, + doc: /* Non-nil means to make the cursor very visible. +This only has an effect when running in a text terminal. +What means \"very visible\" is up to your terminal. It may make the cursor +bigger, or it may make it blink, or it may do nothing at all. */); + visible_cursor = 1; + defsubr (&Stty_display_color_p); defsubr (&Stty_display_color_cells); defsubr (&Stty_no_underline); -- 2.39.2