xP: separate input buffers
This commit is contained in:
		@@ -163,13 +163,22 @@ rpc.addEventListener('BufferRemove', event => {
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
rpc.addEventListener('BufferActivate', event => {
 | 
			
		||||
	let e = event.detail
 | 
			
		||||
	let e = event.detail, b = buffers.get(e.bufferName)
 | 
			
		||||
	let old = buffers.get(bufferCurrent)
 | 
			
		||||
	bufferCurrent = e.bufferName
 | 
			
		||||
	setTimeout(() => {
 | 
			
		||||
		let el = document.getElementById('input')
 | 
			
		||||
		if (el !== null)
 | 
			
		||||
			el.focus()
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	let textarea = document.getElementById('input')
 | 
			
		||||
	if (textarea === null)
 | 
			
		||||
		return
 | 
			
		||||
 | 
			
		||||
	textarea.focus()
 | 
			
		||||
	if (old !== undefined)
 | 
			
		||||
		old.input = textarea.value
 | 
			
		||||
 | 
			
		||||
	if (b !== undefined)
 | 
			
		||||
		textarea.value = b.input || ''
 | 
			
		||||
	else
 | 
			
		||||
		textarea.value = ''
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
rpc.addEventListener('BufferLine', event => {
 | 
			
		||||
@@ -388,8 +397,6 @@ function onKeyDown(event) {
 | 
			
		||||
	event.preventDefault()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// TODO: This should be remembered across buffer switches,
 | 
			
		||||
// and we'll probably have to intercept /all/ key presses.
 | 
			
		||||
let Input = {
 | 
			
		||||
	view: vnode => {
 | 
			
		||||
		return m('textarea#input', {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user