mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +00:00 
			
		
		
		
	fix(tui): remove DCS escaping in tmux (#32723)
Per https://github.com/tmux/tmux/issues/4386, tmux does not support DCS responses, even if the initial request was escaped.
This commit is contained in:
		| @@ -264,7 +264,8 @@ causes the terminal emulator to write to or read from the system clipboard. | ||||
| When Nvim is running in the |TUI|, it will automatically attempt to determine if | ||||
| the host terminal emulator supports OSC 52. If it does, then Nvim will use OSC | ||||
| 52 for copying and pasting if no other |clipboard-tool| is found and when | ||||
| 'clipboard' is unset. | ||||
| 'clipboard' is unset. NOTE: Using a terminal multiplexer (e.g. tmux) may | ||||
| inhibit automatic OSC 52 support detection. | ||||
|  | ||||
| 							*g:termfeatures* | ||||
| To disable the automatic detection, set the "osc52" key of |g:termfeatures| to | ||||
|   | ||||
| @@ -834,9 +834,7 @@ do | ||||
|         -- terminal responds to the DECRQSS with the same SGR sequence that we | ||||
|         -- sent then the terminal supports truecolor. | ||||
|         local decrqss = '\027P$qm\027\\' | ||||
|         if os.getenv('TMUX') then | ||||
|           decrqss = string.format('\027Ptmux;%s\027\\', decrqss:gsub('\027', '\027\027')) | ||||
|         end | ||||
|  | ||||
|         -- Reset attributes first, as other code may have set attributes. | ||||
|         io.stdout:write(string.format('\027[0m\027[48;2;%d;%d;%dm%s', r, g, b, decrqss)) | ||||
|  | ||||
|   | ||||
| @@ -71,11 +71,6 @@ function M.query(caps, cb) | ||||
|  | ||||
|   local query = string.format('\027P+q%s\027\\', table.concat(encoded, ';')) | ||||
|  | ||||
|   -- If running in tmux, wrap with the passthrough sequence | ||||
|   if os.getenv('TMUX') then | ||||
|     query = string.format('\027Ptmux;%s\027\\', query:gsub('\027', '\027\027')) | ||||
|   end | ||||
|  | ||||
|   io.stdout:write(query) | ||||
|  | ||||
|   timer:start(1000, 0, function() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Gregory Anders
					Gregory Anders