GNU bug report logs - #21692
24.3; Feature request - allow setting cursor shape in terminals

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Severity: wishlist; Reported by: Random832 <random832@HIDDEN>; dated Thu, 15 Oct 2015 23:56:01 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 15 Oct 2015 23:55:37 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 15 19:55:37 2015
Received: from localhost ([127.0.0.1]:52882 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ZmsMy-0000R4-H9
	for submit <at> debbugs.gnu.org; Thu, 15 Oct 2015 19:55:37 -0400
Received: from eggs.gnu.org ([208.118.235.92]:47163)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <random832@HIDDEN>) id 1ZmsMv-0000Qu-Q6
 for submit <at> debbugs.gnu.org; Thu, 15 Oct 2015 19:55:34 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <random832@HIDDEN>) id 1ZmsMu-00056Y-EK
 for submit <at> debbugs.gnu.org; Thu, 15 Oct 2015 19:55:33 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: *
X-Spam-Status: No, score=1.1 required=5.0 tests=BAYES_50,
 FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,T_DKIM_INVALID autolearn=disabled
 version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:48299)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <random832@HIDDEN>) id 1ZmsMu-00056U-5b
 for submit <at> debbugs.gnu.org; Thu, 15 Oct 2015 19:55:32 -0400
Received: from eggs.gnu.org ([2001:4830:134:3::10]:57165)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <random832@HIDDEN>) id 1ZmsMt-00056V-8b
 for bug-gnu-emacs@HIDDEN; Thu, 15 Oct 2015 19:55:32 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <random832@HIDDEN>) id 1ZmsMp-000569-TT
 for bug-gnu-emacs@HIDDEN; Thu, 15 Oct 2015 19:55:31 -0400
Received: from out2-smtp.messagingengine.com ([66.111.4.26]:45335)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <random832@HIDDEN>) id 1ZmsMp-00055b-QB
 for bug-gnu-emacs@HIDDEN; Thu, 15 Oct 2015 19:55:27 -0400
Received: from compute6.internal (compute6.nyi.internal [10.202.2.46])
 by mailout.nyi.internal (Postfix) with ESMTP id 1BCB720AC3
 for <bug-gnu-emacs@HIDDEN>; Thu, 15 Oct 2015 19:55:26 -0400 (EDT)
Received: from frontend2 ([10.202.2.161])
 by compute6.internal (MEProxy); Thu, 15 Oct 2015 19:55:26 -0400
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=fastmail.com; h=
 content-type:date:from:message-id:mime-version:subject:to
 :x-sasl-enc:x-sasl-enc; s=mesmtp; bh=2LfuEG1e3BOzKKvvBkkIa1Rub2E
 =; b=O1AbacXei7qGEAcE5HP5AEGwhvd1X5c2b1gE55HVmhA0wH0BCLItoc5j3q+
 35j4i6m4WMcb1mxj0eGCfJ9R9JLcClS/zOwLStQkfSnL17ajfDLtI0wa7ZSYjcpC
 RKHwmjGRgTOPtSWSZrJGaTG/frQC0I9acpcBLlGt373GbYFY=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=
 messagingengine.com; h=content-type:date:from:message-id
 :mime-version:subject:to:x-sasl-enc:x-sasl-enc; s=smtpout; bh=2L
 fuEG1e3BOzKKvvBkkIa1Rub2E=; b=b56FpS9oHDIVFcytcMTDyThyMpHIVCU0d6
 ck0uWTSkTjpPNQNc1qUj+eVpjF9w4af0TC/jmbKlpWLjTxRQQ0wj/jdTo/gPQFLy
 xfLPBFlJoDVbgyS3IBpj9NZ9fOoEt26H30CmOO1CSZvZ51FC+c2YAKOr3uDeyTAL
 DIW/Fhs1o=
X-Sasl-enc: fDfdHrGRD37N1todRXp2fmyVNVtbps4p2KbEieXN0niL 1444953325
Received: from Kogasa (c-68-39-146-59.hsd1.in.comcast.net [68.39.146.59])
 by mail.messagingengine.com (Postfix) with ESMTPA id B7DF56800B5
 for <bug-gnu-emacs@HIDDEN>; Thu, 15 Oct 2015 19:55:25 -0400 (EDT)
From: Random832 <random832@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: 24.3; Feature request - allow setting cursor shape in terminals
Date: Thu, 15 Oct 2015 19:55:15 -0400
Message-ID: <87twprznz0.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address
 (bad octet value).
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -4.1 (----)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -4.1 (----)

(The Emacs I am sending on is version 24.3, but I have confirmed on the
help-gnu-emacs mailing list that this feature does not exist in any
version)

Many terminal emulators in use today (including xterm, tmux, konsole,
iterm2, putty, teraterm, and the linux console) allow you to select the
cursor shape (and blink mode, and color) using various escape sequences.

There is, however, no standardization in termcap/terminfo for these
capabilities. Tmux provides some extension codes that it uses to detect
how to translate its own notion of the cursor attributes to the physical
terminal's, but they're not generally present in terminfo databases.

To implement this, Emacs could provide a way for the user to define a
function that accepts a cursor-type and cursor color (or two different
functions, though in some cases such as Linux both may be needed to
construct a single escape sequence) and returns an escape sequence that
Emacs will emit to the tty. Emacs could then call that function whenever
the cursor type changes,

A simple example that would generate the DECSCUSR sequence supported by
the VT520, xterm, iTerm2, teraterm, and tmux would be:

(defun make-cursor-esc-dec (ctype ccolor)
  (if ctype
      (format "\e[?25h\e[%d q"
	      (cond
	       ((eq ctype 'box) 1)
	       ((eq ctype 'hbar) 3)
	       ((eq ctype 'bar) 5) ; extension, not on the VT520
	       (t 0)))
    "\e[?25l\e[0 q")) ; set the shape to default so that if emacs
                      ; crashes while the cursor is invisible,
                      ; reset(1) will put it back to normal.




Acknowledgement sent to Random832 <random832@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#21692; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 25 Nov 2019 12:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.