diff options
Diffstat (limited to 'xP')
| -rw-r--r-- | xP/public/xP.css | 8 | ||||
| -rw-r--r-- | xP/public/xP.js | 30 | 
2 files changed, 15 insertions, 23 deletions
| diff --git a/xP/public/xP.css b/xP/public/xP.css index 53aa2c2..71422a1 100644 --- a/xP/public/xP.css +++ b/xP/public/xP.css @@ -56,7 +56,7 @@ button {  .list {  	overflow-y: auto; -	border-right: 1px solid #ccc; +	border-right: 2px solid #ccc;  	min-width: 10em;  	flex-shrink: 0;  } @@ -72,11 +72,7 @@ button {  }  .item.current {  	font-style: italic; -	background: #f8f8f8; -	border-top: 1px solid #eee; -	border-bottom: 1px solid #eee; -	margin-top: -1px; -	margin-bottom: -1px; +	background: #eee;  }  /* Only Firefox currently supports align-content: safe end, thus this. */ diff --git a/xP/public/xP.js b/xP/public/xP.js index 2c4932b..6672231 100644 --- a/xP/public/xP.js +++ b/xP/public/xP.js @@ -841,21 +841,25 @@ document.addEventListener('keydown', event => {  	if (rpc.ws == undefined || !hasShortcutModifiers(event))  		return -	let names = undefined +	// Rotate names so that the current buffer comes first. +	let names = [...buffers.keys()] +	names.push.apply(names, +		names.splice(0, names.findIndex(name => name == bufferCurrent))) +  	switch (event.key) {  	case 'h':  		bufferToggleLog()  		break  	case 'a': -		for (const [name, b] of buffers) -			if (name !== bufferCurrent && b.newMessages) { +		for (const name of names.slice(1)) +			if (buffers.get(name).newMessages) {  				bufferActivate(name)  				break  			}  		break  	case '!': -		for (const [name, b] of buffers) -			if (name !== bufferCurrent && b.highlighted) { +		for (const name of names.slice(1)) +			if (buffers.get(name).highlighted) {  				bufferActivate(name)  				break  			} @@ -865,20 +869,12 @@ document.addEventListener('keydown', event => {  			bufferActivate(bufferLast)  		break  	case 'PageUp': -		names = [...buffers.keys()] -		for (let i = 0; i < names.length; i++) -			if (names[i] === bufferCurrent) { -				bufferActivate(names.at(--i)) -				break -			} +		if (names.length > 1) +			bufferActivate(names.at(-1))  		break  	case 'PageDown': -		names = [...buffers.keys()] -		for (let i = 0; i < names.length; i++) -			if (names[i] === bufferCurrent) { -				bufferActivate(names.at(++i) || names[0]) -				break -			} +		if (names.length > 1) +			bufferActivate(names.at(+1))  		break  	default:  		return | 
