Mercurial > vim
changeset 29869:0eab537e9ccb v9.0.0273
patch 9.0.0273: Konsole termresponse not recognized
Commit: https://github.com/vim/vim/commit/d55f9ef8b2f1e9f868ed1440fe859d1b18b1cfe8
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Aug 26 12:26:07 2022 +0100
patch 9.0.0273: Konsole termresponse not recognized
Problem: Konsole termresponse not recognized.
Solution: Handle Konsole like libvterm, set 'ttymouse' to "sgr".
(closes #10990)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 26 Aug 2022 13:30:03 +0200 |
parents | 6ab2c61291ac |
children | 76f4cea7033c |
files | src/term.c src/testdir/test_termcodes.vim src/version.c |
diffstat | 3 files changed, 20 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/src/term.c +++ b/src/term.c @@ -4715,7 +4715,8 @@ handle_version_response(int first, int * } // libvterm sends 0;100;0 - if (version == 100 && arg[0] == 0 && arg[2] == 0) + // Konsole sends 0;115;0 and works the same way + if ((version == 100 || version == 115) && arg[0] == 0 && arg[2] == 0) { // If run from Vim $COLORS is set to the number of // colors the terminal supports. Otherwise assume
--- a/src/testdir/test_termcodes.vim +++ b/src/testdir/test_termcodes.vim @@ -1664,17 +1664,10 @@ func Test_xx02_iTerm2_response() call test_override('term_props', 0) endfunc -" This checks the libvterm version response. -" This must be after other tests, because it has side effects to xterm -" properties. -func Test_xx03_libvterm_response() - " Termresponse is only parsed when t_RV is not empty. - set t_RV=x - call test_override('term_props', 1) - +func Run_libvterm_konsole_response(code) set ttymouse=xterm call test_option_not_set('ttymouse') - let seq = "\<Esc>[>0;100;0c" + let seq = "\<Esc>[>0;" .. a:code .. ";0c" call feedkeys(seq, 'Lx!') call assert_equal(seq, v:termresponse) call assert_equal('sgr', &ttymouse) @@ -1685,6 +1678,20 @@ func Test_xx03_libvterm_response() \ underline_rgb: 'u', \ mouse: 's' \ }, terminalprops()) +endfunc + +" This checks the libvterm version response. +" This must be after other tests, because it has side effects to xterm +" properties. +func Test_xx03_libvterm_konsole_response() + " Termresponse is only parsed when t_RV is not empty. + set t_RV=x + call test_override('term_props', 1) + + " libvterm + call Run_libvterm_konsole_response(100) + " Konsole + call Run_libvterm_konsole_response(115) set t_RV= call test_override('term_props', 0)