1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-15 09:47:20 +00:00

Fix background mode on Gnome 3.38 terminals

* lisp/term/xterm.el (xterm--version-handler): Adjust to Gnome
3.38 (bug#43891).
This commit is contained in:
Lars Ingebrigtsen 2020-12-28 04:09:51 +01:00
parent 6627421068
commit 40e9cec7d2

View File

@ -710,15 +710,18 @@ Return the pasted text as a string."
(while (and (setq chr (xterm--read-event-for-query)) (not (equal chr ?c)))
(setq str (concat str (string chr))))
;; Since xterm-280, the terminal type (NUMBER1) is now 41 instead of 0.
(when (string-match "\\([0-9]+\\);\\([0-9]+\\);0" str)
(when (string-match "\\([0-9]+\\);\\([0-9]+\\);[01]" str)
(let ((version (string-to-number (match-string 2 str))))
(when (and (> version 2000) (equal (match-string 1 str) "1"))
(when (and (> version 2000)
(or (equal (match-string 1 str) "1")
(equal (match-string 1 str) "65")))
;; Hack attack! bug#16988: gnome-terminal reports "1;NNNN;0"
;; with a large NNNN but is based on a rather old xterm code.
;; Gnome terminal 2.32.1 reports 1;2802;0
;; Gnome terminal 3.6.1 reports 1;3406;0
;; Gnome terminal 3.22.2 reports 1;4601;0 and *does* support
;; background color querying (Bug#29716).
;; Gnome terminal 3.38.0 reports 65;6200;1.
(when (> version 4000)
(xterm--query "\e]11;?\e\\"
'(("\e]11;" . xterm--report-background-handler))))